package com.xunhong.erp.turbo.api.rbac.dto.cmd;

import com.alibaba.cola.dto.Command;
import com.xunhong.erp.turbo.api.rbac.dto.enums.MenuTypeEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.List;

/**
 * @author shenyifei
 */
@Data
@Schema(title = "创建菜单请求")
@EqualsAndHashCode(callSuper = true)
public class MenuCreateCmd extends Command {

	@Schema(title = "路径", requiredMode = Schema.RequiredMode.REQUIRED)
	private String path;

	@Schema(title = "组件", requiredMode = Schema.RequiredMode.REQUIRED)
	private String component;

	@Schema(title = "菜单名称", requiredMode = Schema.RequiredMode.REQUIRED)
	private String name;

	@Schema(title = "上级菜单Id", type = "string")
	private Long pid;

	@Schema(title = "菜单类型", requiredMode = Schema.RequiredMode.REQUIRED, type = "string")
	private MenuTypeEnum type;

	@Schema(title = "平台id", requiredMode = Schema.RequiredMode.REQUIRED, type = "string")
	private Long platformId;

	@Schema(title = "角色Id")
	private List<Long> roleId;

	@Schema(title = "是否隐藏")
	private Boolean hideInMenu;

	@Schema(title = "权限Id")
	private Long permissionId;
	
	@Schema(title = "菜单图标")
	private String icon;
	
	@Schema(title = "图标颜色")
	private String iconColor;
	
	@Schema(title = "背景颜色类名")
	private String bgColorClass;
}