Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
using FSH.Framework.Core.Domain;

namespace FSH.Modules.Identity.Domain.Events;

/// <summary>Raised when a user changes their password.</summary>
public sealed record PasswordChangedEvent(
Guid EventId,
DateTimeOffset OccurredOnUtc,
string UserId,
bool WasReset,
string? CorrelationId = null,
string? TenantId = null
) : DomainEvent(EventId, OccurredOnUtc, CorrelationId, TenantId)
{
public static PasswordChangedEvent Create(string userId, bool wasReset = false, string? correlationId = null, string? tenantId = null)
=> new(Guid.NewGuid(), DateTimeOffset.UtcNow, userId, wasReset, correlationId, tenantId);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
using FSH.Framework.Core.Domain;

namespace FSH.Modules.Identity.Domain.Events;

/// <summary>Raised when a user session is revoked.</summary>
public sealed record SessionRevokedEvent(
Guid EventId,
DateTimeOffset OccurredOnUtc,
string UserId,
Guid SessionId,
string? RevokedBy,
string? Reason,
string? CorrelationId = null,
string? TenantId = null
) : DomainEvent(EventId, OccurredOnUtc, CorrelationId, TenantId)
{
public static SessionRevokedEvent Create(string userId, Guid sessionId, string? revokedBy = null, string? reason = null, string? correlationId = null, string? tenantId = null)
=> new(Guid.NewGuid(), DateTimeOffset.UtcNow, userId, sessionId, revokedBy, reason, correlationId, tenantId);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
using FSH.Framework.Core.Domain;

namespace FSH.Modules.Identity.Domain.Events;

/// <summary>Raised when a user account is activated.</summary>
public sealed record UserActivatedEvent(
Guid EventId,
DateTimeOffset OccurredOnUtc,
string UserId,
string? ActivatedBy,
string? CorrelationId = null,
string? TenantId = null
) : DomainEvent(EventId, OccurredOnUtc, CorrelationId, TenantId)
{
public static UserActivatedEvent Create(string userId, string? activatedBy = null, string? correlationId = null, string? tenantId = null)
=> new(Guid.NewGuid(), DateTimeOffset.UtcNow, userId, activatedBy, correlationId, tenantId);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
using FSH.Framework.Core.Domain;

namespace FSH.Modules.Identity.Domain.Events;

/// <summary>Raised when a user account is deactivated.</summary>
public sealed record UserDeactivatedEvent(
Guid EventId,
DateTimeOffset OccurredOnUtc,
string UserId,
string? DeactivatedBy,
string? Reason,
string? CorrelationId = null,
string? TenantId = null
) : DomainEvent(EventId, OccurredOnUtc, CorrelationId, TenantId)
{
public static UserDeactivatedEvent Create(string userId, string? deactivatedBy = null, string? reason = null, string? correlationId = null, string? tenantId = null)
=> new(Guid.NewGuid(), DateTimeOffset.UtcNow, userId, deactivatedBy, reason, correlationId, tenantId);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
using FSH.Framework.Core.Domain;

namespace FSH.Modules.Identity.Domain.Events;

/// <summary>Raised when a new user registers in the system.</summary>
public sealed record UserRegisteredEvent(
Guid EventId,
DateTimeOffset OccurredOnUtc,
string UserId,
string Email,
string? FirstName,
string? LastName,
string? CorrelationId = null,
string? TenantId = null
) : DomainEvent(EventId, OccurredOnUtc, CorrelationId, TenantId)
{
public static UserRegisteredEvent Create(string userId, string email, string? firstName = null, string? lastName = null, string? correlationId = null, string? tenantId = null)
=> new(Guid.NewGuid(), DateTimeOffset.UtcNow, userId, email, firstName, lastName, correlationId, tenantId);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
using FSH.Framework.Core.Domain;

namespace FSH.Modules.Identity.Domain.Events;

/// <summary>Raised when roles are assigned to a user.</summary>
public sealed record UserRoleAssignedEvent(
Guid EventId,
DateTimeOffset OccurredOnUtc,
string UserId,
IReadOnlyList<string> AssignedRoles,
string? CorrelationId = null,
string? TenantId = null
) : DomainEvent(EventId, OccurredOnUtc, CorrelationId, TenantId)
{
public static UserRoleAssignedEvent Create(string userId, IEnumerable<string> assignedRoles, string? correlationId = null, string? tenantId = null)
=> new(Guid.NewGuid(), DateTimeOffset.UtcNow, userId, assignedRoles.ToList().AsReadOnly(), correlationId, tenantId);
}
Loading