namespace OrpaonVision.Model.Security;
///
/// 权限模型。
///
public sealed class PermissionModel
{
///
/// 权限ID。
///
public Guid Id { get; set; }
///
/// 权限编码。
///
public string Code { get; set; } = string.Empty;
///
/// 权限名称。
///
public string Name { get; set; } = string.Empty;
///
/// 权限描述。
///
public string? Description { get; set; }
///
/// 权限类型。
///
public PermissionType Type { get; set; }
///
/// 权限模块。
///
public string Module { get; set; } = string.Empty;
///
/// 权限动作。
///
public string Action { get; set; } = string.Empty;
///
/// 权限状态。
///
public PermissionStatus Status { get; set; }
///
/// 是否系统权限。
///
public bool IsSystemPermission { get; set; }
///
/// 父权限ID。
///
public Guid? ParentId { get; set; }
///
/// 排序序号。
///
public int SortOrder { get; set; }
///
/// 创建时间(UTC)。
///
public DateTime CreatedAtUtc { get; set; }
///
/// 更新时间(UTC)。
///
public DateTime UpdatedAtUtc { get; set; }
///
/// 创建人。
///
public string CreatedBy { get; set; } = string.Empty;
///
/// 更新人。
///
public string UpdatedBy { get; set; } = string.Empty;
///
/// 备注。
///
public string? Remark { get; set; }
}
///
/// 权限类型枚举。
///
public enum PermissionType
{
///
/// 页面权限。
///
Page = 0,
///
/// 功能权限。
///
Function = 1,
///
/// 数据权限。
///
Data = 2,
///
/// API权限。
///
Api = 3
}
///
/// 权限状态枚举。
///
public enum PermissionStatus
{
///
/// 启用。
///
Enabled = 0,
///
/// 禁用。
///
Disabled = 1
}
///
/// 角色权限关联模型。
///
public sealed class RolePermissionModel
{
///
/// 关联ID。
///
public Guid Id { get; set; }
///
/// 角色ID。
///
public Guid RoleId { get; set; }
///
/// 权限ID。
///
public Guid PermissionId { get; set; }
///
/// 授权时间(UTC)。
///
public DateTime GrantedAtUtc { get; set; }
///
/// 授权人。
///
public string GrantedBy { get; set; } = string.Empty;
///
/// 是否启用。
///
public bool IsEnabled { get; set; }
///
/// 创建时间(UTC)。
///
public DateTime CreatedAtUtc { get; set; }
///
/// 创建人。
///
public string CreatedBy { get; set; } = string.Empty;
}
///
/// 操作日志模型。
///
public sealed class OperationLogModel
{
///
/// 日志ID。
///
public Guid Id { get; set; }
///
/// 用户ID。
///
public Guid UserId { get; set; }
///
/// 用户名。
///
public string Username { get; set; } = string.Empty;
///
/// 操作类型。
///
public OperationType OperationType { get; set; }
///
/// 操作模块。
///
public string Module { get; set; } = string.Empty;
///
/// 操作描述。
///
public string Description { get; set; } = string.Empty;
///
/// 操作详情JSON。
///
public string? OperationDetailJson { get; set; }
///
/// 操作IP。
///
public string? IpAddress { get; set; }
///
/// 用户代理。
///
public string? UserAgent { get; set; }
///
/// 操作结果。
///
public OperationResult Result { get; set; }
///
/// 错误消息。
///
public string? ErrorMessage { get; set; }
///
/// 操作时间(UTC)。
///
public DateTime OperatedAtUtc { get; set; }
///
/// 会话ID。
///
public string? SessionId { get; set; }
///
/// 请求ID。
///
public string? RequestId { get; set; }
///
/// 创建时间(UTC)。
///
public DateTime CreatedAtUtc { get; set; }
}
///
/// 操作类型枚举。
///
public enum OperationType
{
///
/// 登录。
///
Login = 0,
///
/// 登出。
///
Logout = 1,
///
/// 创建。
///
Create = 2,
///
/// 更新。
///
Update = 3,
///
/// 删除。
///
Delete = 4,
///
/// 查询。
///
Query = 5,
///
/// 导入。
///
Import = 6,
///
/// 导出。
///
Export = 7,
///
/// 启用。
///
Enable = 8,
///
/// 禁用。
///
Disable = 9,
///
/// 发布。
///
Publish = 10,
///
/// 回滚。
///
Rollback = 11
}
///
/// 操作结果枚举。
///
public enum OperationResult
{
///
/// 成功。
///
Success = 0,
///
/// 失败。
///
Failed = 1,
///
/// 警告。
///
Warning = 2
}