RbacRoleCreateInputVo.cs 1.31 KB
namespace FoodLabeling.Application.Contracts.Dtos.RbacRole;

/// <summary>
/// 新增角色入参(美国版对外)
/// </summary>
public class RbacRoleCreateInputVo
{
    public string RoleName { get; set; } = string.Empty;

    public string RoleCode { get; set; } = string.Empty;

    public string? Remark { get; set; }

    /// <summary>
    /// 数据范围(与 rbac 的 DataScope 含义一致,int 存储)
    /// </summary>
    public int DataScope { get; set; } = 0;

    public bool State { get; set; } = true;

    /// <summary>
    /// 排序号;不传或传 null 时新增默认为 0,编辑时保留原值
    /// </summary>
    public int? OrderNum { get; set; }

    /// <summary>
    /// 绑定菜单 Id;与 accessPermissions 同时传时以本字段为准
    /// </summary>
    public List<Guid>? MenuIds { get; set; }

    /// <summary>
    /// 按 PermissionCode 绑定菜单:JSON 数组字符串(如 <c>["manage_labels"]</c>)、英文逗号分隔;传空字符串表示清空绑定;不传则不修改已有绑定(仅编辑时)
    /// </summary>
    public string? AccessPermissions { get; set; }

    /// <summary>
    /// 访问权限码列表;与 <see cref="AccessPermissions"/> 合并去重后落库
    /// </summary>
    public List<string>? AccessPermissionCodes { get; set; }
}