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

import com.github.microservice.auth.security.type.AuthType;
import com.zhongshu.card.client.model.base.SuperParam;
import com.zhongshu.card.client.type.DataState;
import com.zhongshu.card.client.type.RoleType;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

/**
 * @author TRX
 * @date 2024/5/31
 */
@Data
public class RoleAddParam extends SuperParam {

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

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

    @Schema(description = "角色类型", hidden = true)
    private RoleType roleType = RoleType.Custom;

    @Schema(description = "角色类型")
    private AuthType authType;

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

    @NotNull
    @Schema(description = "状态")
    private DataState state = DataState.Enable;
}
