LingAdmin/Backend/Services/Shared/LingAdmin.Shared/DTOs/RoleDtos.cs

98 lines
2.2 KiB
C#

namespace LingAdmin.Shared.DTOs;
#region DTOs
/// <summary>
/// 创建角色请求
/// </summary>
public class CreateRoleRequest
{
public required string Name { get; set; }
public required string Code { get; set; }
public string? Description { get; set; }
public List<int> PermissionIds { get; set; } = new();
}
/// <summary>
/// 更新角色请求
/// </summary>
public class UpdateRoleRequest
{
public string? Name { get; set; }
public string? Description { get; set; }
public List<int>? PermissionIds { get; set; }
}
/// <summary>
/// 分配用户角色请求
/// </summary>
public class AssignRolesRequest
{
public int UserId { get; set; }
public List<int> RoleIds { get; set; } = new();
}
/// <summary>
/// 创建权限请求
/// </summary>
public class CreatePermissionRequest
{
public required string Name { get; set; }
public required string Code { get; set; }
public string? Description { get; set; }
public required string Resource { get; set; }
public required string Action { get; set; }
}
/// <summary>
/// 更新权限请求
/// </summary>
public class UpdatePermissionRequest
{
public string? Name { get; set; }
public string? Description { get; set; }
}
#endregion
#region DTOs
/// <summary>
/// 角色 DTO
/// </summary>
public class RoleDto
{
public int Id { get; set; }
public required string Name { get; set; }
public required string Code { get; set; }
public string? Description { get; set; }
public bool IsSystem { get; set; }
public List<PermissionDto> Permissions { get; set; } = new();
public DateTime CreatedAt { get; set; }
}
/// <summary>
/// 权限 DTO
/// </summary>
public class PermissionDto
{
public int Id { get; set; }
public required string Name { get; set; }
public required string Code { get; set; }
public string? Description { get; set; }
public required string Resource { get; set; }
public required string Action { get; set; }
}
/// <summary>
/// 用户权限信息
/// </summary>
public class UserPermissionsDto
{
public int UserId { get; set; }
public List<string> Roles { get; set; } = new();
public List<string> Permissions { get; set; } = new();
}
#endregion