package com.njcn.rdms.module.project.controller.admin.product.vo.product;

import io.swagger.v3.oas.annotations.media.ArraySchema;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.Collections;
import java.util.List;

@Schema(description = "管理后台 - 产品上下文中的当前角色 Response VO")
@Data
public class ProductContextRoleRespVO {

    @Schema(description = "对象角色编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "3201")
    private Long roleId;

    @Schema(description = "对象角色编码（主角色 code，权限判断兼容字段）", example = "product_manager")
    private String roleCode;

    @Schema(description = "对象角色名称（主角色 name）", example = "产品经理")
    private String roleName;

    @Schema(description = "是否游客上下文（隐式 observer 兜底时为 true）", requiredMode = Schema.RequiredMode.REQUIRED, example = "false")
    private Boolean guestFlag;

    @ArraySchema(schema = @Schema(description = "非主角色的中文名列表，多角色场景使用；单角色时为空数组", example = "创建者"))
    private List<String> additionalRoleNames = Collections.emptyList();

}
