Dloizides.Messaging.Contracts
1.0.3
dotnet add package Dloizides.Messaging.Contracts --version 1.0.3
NuGet\Install-Package Dloizides.Messaging.Contracts -Version 1.0.3
<PackageReference Include="Dloizides.Messaging.Contracts" Version="1.0.3" />
<PackageVersion Include="Dloizides.Messaging.Contracts" Version="1.0.3" />
<PackageReference Include="Dloizides.Messaging.Contracts" />
paket add Dloizides.Messaging.Contracts --version 1.0.3
#r "nuget: Dloizides.Messaging.Contracts, 1.0.3"
#:package Dloizides.Messaging.Contracts@1.0.3
#addin nuget:?package=Dloizides.Messaging.Contracts&version=1.0.3
#tool nuget:?package=Dloizides.Messaging.Contracts&version=1.0.3
Messaging.Contracts
Cross-service event contracts for GDPR operations. Contains event definitions for user deletion, data export, and deletion confirmation workflows.
Installation
dotnet add package Messaging.Contracts
Usage
Reference this package in any service that needs to publish or consume GDPR-related events:
using Messaging.Contracts.Events;
// Publish a user deleted event (from IdentityService)
var evt = new UserDeletedEvent
{
UserId = userId,
TenantId = tenantId,
DeletedAt = DateTime.UtcNow,
DeletionType = "gdpr_request"
};
// Consume in each service via MassTransit IConsumer<UserDeletedEvent>
Events
| Event | Description | Publisher | Consumer(s) |
|---|---|---|---|
UserDeletedEvent |
Published when user account deletion is confirmed and executed | IdentityService | All services |
UserDataExportRequest |
Requests user data from all services for GDPR export | IdentityService | All services |
UserDataExportResponse |
Response from each service with user data JSON | All services | IdentityService |
DeletionConfirmationEvent |
Triggers deletion confirmation email | IdentityService | NotificationService |
Event Details
UserDeletedEvent
Published when a user's account deletion grace period has expired and the deletion is being executed. All services consume this to clean up user-specific data.
public sealed record UserDeletedEvent
{
public required Guid UserId { get; init; }
public required Guid TenantId { get; init; }
public required DateTime DeletedAt { get; init; }
public required string DeletionType { get; init; } // "gdpr_request" or "admin_action"
}
UserDataExportRequest
Published by IdentityService to all services using MassTransit Request/Reply (Scatter-Gather) to collect user data for a GDPR data export.
public sealed record UserDataExportRequest
{
public required Guid CorrelationId { get; init; }
public required Guid UserId { get; init; }
public required Guid TenantId { get; init; }
}
UserDataExportResponse
Response from each service containing the user's data. Each service queries its own database and returns the results as JSON.
public sealed record UserDataExportResponse
{
public required Guid CorrelationId { get; init; }
public required string ServiceName { get; init; }
public required bool Success { get; init; }
public string? ErrorMessage { get; init; }
public required string DataJson { get; init; }
public required int RecordCount { get; init; }
}
DeletionConfirmationEvent
Published by IdentityService to trigger a confirmation email via NotificationService when a user requests account deletion.
public sealed record DeletionConfirmationEvent
{
public required Guid UserId { get; init; }
public required Guid TenantId { get; init; }
public required string Email { get; init; }
public required string ConfirmationUrl { get; init; }
public required DateTime ExpiresAt { get; init; }
}
License
MIT
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.3 | 355 | 7/8/2026 |