package cn.nianxx.thhotel.platform.access.common.result;

import com.fasterxml.jackson.annotation.JsonProperty;
import java.time.OffsetDateTime;
import java.util.List;

/**
 * 管理后台角色详情。
 */
public record AdminRoleDetailResult(
        /** 角色内部 ID 字符串。 */
        String id,
        /** 稳定角色代码。 */
        @JsonProperty("role_code")
        String roleCode,
        /** 角色展示名称。 */
        @JsonProperty("role_name")
        String roleName,
        /** 角色状态。 */
        @JsonProperty("role_status")
        String roleStatus,
        /** 是否系统内置角色。 */
        @JsonProperty("system_builtin")
        Boolean systemBuiltin,
        /** 创建 UTC 时间。 */
        @JsonProperty("created_at")
        OffsetDateTime createdAt,
        /** 更新 UTC 时间。 */
        @JsonProperty("updated_at")
        OffsetDateTime updatedAt,
        /** 角色拥有的权限。 */
        List<AdminPermissionResult> permissions,
        /** 使用该角色的用户数量。 */
        @JsonProperty("user_count")
        long userCount
) {
}
