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