97 lines
2.8 KiB
C#
97 lines
2.8 KiB
C#
|
|
namespace LingAdmin.Shared.Events;
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// Dapr 事件主题常量
|
||
|
|
/// </summary>
|
||
|
|
public static class EventTopics
|
||
|
|
{
|
||
|
|
public const string PubSubName = "pubsub";
|
||
|
|
|
||
|
|
// 用户相关事件
|
||
|
|
public const string UserCreated = "user-created";
|
||
|
|
public const string UserUpdated = "user-updated";
|
||
|
|
public const string UserDeleted = "user-deleted";
|
||
|
|
public const string UserLoggedIn = "user-logged-in";
|
||
|
|
public const string UserLoggedOut = "user-logged-out";
|
||
|
|
public const string UserPasswordChanged = "user-password-changed";
|
||
|
|
|
||
|
|
// 角色相关事件
|
||
|
|
public const string RoleCreated = "role-created";
|
||
|
|
public const string RoleUpdated = "role-updated";
|
||
|
|
public const string RoleDeleted = "role-deleted";
|
||
|
|
public const string UserRoleAssigned = "user-role-assigned";
|
||
|
|
public const string UserRoleRevoked = "user-role-revoked";
|
||
|
|
|
||
|
|
// 权限相关事件
|
||
|
|
public const string PermissionCreated = "permission-created";
|
||
|
|
public const string PermissionUpdated = "permission-updated";
|
||
|
|
public const string RolePermissionChanged = "role-permission-changed";
|
||
|
|
}
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// 用户创建事件
|
||
|
|
/// </summary>
|
||
|
|
public class UserCreatedEvent
|
||
|
|
{
|
||
|
|
public int UserId { get; set; }
|
||
|
|
public required string Email { get; set; }
|
||
|
|
public required string Name { get; set; }
|
||
|
|
public DateTime Timestamp { get; set; } = DateTime.UtcNow;
|
||
|
|
public string? Source { get; set; }
|
||
|
|
}
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// 用户更新事件
|
||
|
|
/// </summary>
|
||
|
|
public class UserUpdatedEvent
|
||
|
|
{
|
||
|
|
public int UserId { get; set; }
|
||
|
|
public Dictionary<string, object?> ChangedFields { get; set; } = new();
|
||
|
|
public DateTime Timestamp { get; set; } = DateTime.UtcNow;
|
||
|
|
public int? UpdatedBy { get; set; }
|
||
|
|
}
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// 用户登录事件
|
||
|
|
/// </summary>
|
||
|
|
public class UserLoggedInEvent
|
||
|
|
{
|
||
|
|
public int UserId { get; set; }
|
||
|
|
public required string Email { get; set; }
|
||
|
|
public DateTime Timestamp { get; set; } = DateTime.UtcNow;
|
||
|
|
public string? IpAddress { get; set; }
|
||
|
|
public string? UserAgent { get; set; }
|
||
|
|
}
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// 用户登出事件
|
||
|
|
/// </summary>
|
||
|
|
public class UserLoggedOutEvent
|
||
|
|
{
|
||
|
|
public int UserId { get; set; }
|
||
|
|
public DateTime Timestamp { get; set; } = DateTime.UtcNow;
|
||
|
|
}
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// 用户角色分配事件
|
||
|
|
/// </summary>
|
||
|
|
public class UserRoleAssignedEvent
|
||
|
|
{
|
||
|
|
public int UserId { get; set; }
|
||
|
|
public List<int> RoleIds { get; set; } = new();
|
||
|
|
public DateTime Timestamp { get; set; } = DateTime.UtcNow;
|
||
|
|
public int? AssignedBy { get; set; }
|
||
|
|
}
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// 角色权限变更事件
|
||
|
|
/// </summary>
|
||
|
|
public class RolePermissionChangedEvent
|
||
|
|
{
|
||
|
|
public int RoleId { get; set; }
|
||
|
|
public List<int> AddedPermissions { get; set; } = new();
|
||
|
|
public List<int> RemovedPermissions { get; set; } = new();
|
||
|
|
public DateTime Timestamp { get; set; } = DateTime.UtcNow;
|
||
|
|
public int? ChangedBy { get; set; }
|
||
|
|
}
|