package com.zhongshu.card.client.model.org.role;

import com.zhongshu.card.client.type.RoleType;
import com.zhongshu.card.client.type.user.RoleInitType;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Builder;
import lombok.Data;

import java.util.Set;

/**
 * @author TRX
 * @date 2025/2/14
 */
@Data
@Builder
public class RoleInit {

    @Schema(description = "名称")
    private String name;

    @Schema(description = "编码")
    private String code;

    @Schema(description = "角色预制类型，如：管理员、游客")
    private RoleInitType roleInitType;

    @Schema(description = "是否是管理员")
    private Boolean isAdmin = Boolean.FALSE;

    @Schema(description = "角色类型: 系统内置、自定义")
    private RoleType roleType;

    @Schema(description = "是否是游客角色")
    private Boolean isVisitor = Boolean.FALSE;

    @Schema(description = "默认规定的权限")
    private Set<String> auth = Set.of();
}
