namespace OrpaonVision.Core.Security.Contracts.Commands;
///
/// 创建用户命令。
///
public sealed class CreateUserCommand
{
///
/// 用户名。
///
public string UserName { get; init; } = string.Empty;
///
/// 显示名称。
///
public string DisplayName { get; init; } = string.Empty;
///
/// 邮箱。
///
public string Email { get; init; } = string.Empty;
///
/// 密码。
///
public string Password { get; init; } = string.Empty;
///
/// 角色列表。
///
public IReadOnlyList Roles { get; init; } = [];
///
/// 权限列表。
///
public IReadOnlyList Permissions { get; init; } = [];
///
/// 是否激活。
///
public bool IsActive { get; init; } = true;
///
/// 备注。
///
public string Remarks { get; init; } = string.Empty;
///
/// 创建者。
///
public string CreatedBy { get; init; } = string.Empty;
}
///
/// 更新用户命令。
///
public sealed class UpdateUserCommand
{
///
/// 用户ID。
///
public Guid UserId { get; init; }
///
/// 显示名称。
///
public string DisplayName { get; init; } = string.Empty;
///
/// 邮箱。
///
public string Email { get; init; } = string.Empty;
///
/// 角色列表。
///
public IReadOnlyList Roles { get; init; } = [];
///
/// 权限列表。
///
public IReadOnlyList Permissions { get; init; } = [];
///
/// 是否激活。
///
public bool IsActive { get; init; }
///
/// 备注。
///
public string Remarks { get; init; } = string.Empty;
///
/// 更新者。
///
public string UpdatedBy { get; init; } = string.Empty;
}
///
/// 删除用户命令。
///
public sealed class DeleteUserCommand
{
///
/// 用户ID。
///
public Guid UserId { get; init; }
///
/// 删除原因。
///
public string DeleteReason { get; init; } = string.Empty;
///
/// 删除者。
///
public string DeletedBy { get; init; } = string.Empty;
}
///
/// 重置用户密码命令。
///
public sealed class ResetUserPasswordCommand
{
///
/// 用户ID。
///
public Guid UserId { get; init; }
///
/// 新密码。
///
public string NewPassword { get; init; } = string.Empty;
///
/// 是否下次登录必须修改密码。
///
public bool ForceChangeOnNextLogin { get; init; } = true;
///
/// 重置原因。
///
public string ResetReason { get; init; } = string.Empty;
///
/// 重置者。
///
public string ResetBy { get; init; } = string.Empty;
}
///
/// 启用/禁用用户命令。
///
public sealed class ToggleUserStatusCommand
{
///
/// 用户ID。
///
public Guid UserId { get; init; }
///
/// 是否激活。
///
public bool IsActive { get; init; }
///
/// 原因。
///
public string Reason { get; init; } = string.Empty;
///
/// 操作者。
///
public string Operator { get; init; } = string.Empty;
}