using System.ComponentModel.DataAnnotations;

namespace ERPCore.Dtos.Auth;

/// <summary>AuthHex's Role projection (ERP_Auth_Service/API_DOCUMENTATION.md, RoleManager section).</summary>
public sealed class AuthHexRoleDto
{
    public Guid RoleId { get; set; }
    public string? Code { get; set; }
    public string? Name { get; set; }
    public bool? IsSystemRole { get; set; }
    public DateTime CreatedAt { get; set; }
}

public sealed class CreateAuthHexRoleRequest
{
    [Required] public string Code { get; set; } = string.Empty;
    public string? Name { get; set; }
    public bool? IsSystemRole { get; set; }
}

public sealed class UpdateAuthHexRoleRequest
{
    [Required] public Guid RoleId { get; set; }
    public string? Code { get; set; }
    public string? Name { get; set; }
    public bool? IsSystemRole { get; set; }
}
