package cn.iocoder.byzs.module.system.controller.admin.permission.vo.permission;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.util.Collections;
import java.util.Set;

@Schema(description = "管理后台 - 赋予角色web权限 Request VO")
@Data
public class PermissionAssignRoleWebScopeReqVO {

    @Schema(description = "角色编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotNull(message = "角色编号不能为空")
    private Long roleId;

    @Schema(description = "web路由列表，只有范围类型为 WEB_CUSTOM 时，该字段才需要", example = "1,3,5")
    private Set<String> dataScopeWebRoute = Collections.emptySet();

    @Schema(description = "课程编号列表，只有范围类型为 COURSE_CUSTOM 时，该字段才需要", example = "1,3,5")
    private Set<Long> dataScopeCourseIds = Collections.emptySet(); // 兜底

    @Schema(description = "blockly课程编号列表，只有范围类型为 BLOCKLY_CUSTOM 时，该字段才需要", example = "1,3,5")
    private Set<Long> dataScopeBlocklyIds = Collections.emptySet(); // 兜底

    @Schema(description = "aiCourse课程编号列表，只有范围类型为 AI_COURSE_CUSTOM 时，该字段才需要", example = "1,3,5")
    private Set<Long> dataScopeAiCourseIds = Collections.emptySet(); // 兜底

}
