package com.qqchen.deploy.backend.deploy.dto;

import com.qqchen.deploy.backend.framework.dto.BaseDTO;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 应用分类DTO
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "应用分类DTO")
public class ApplicationCategoryDTO extends BaseDTO {

    @Schema(description = "分类编码")
    @NotBlank(message = "分类编码不能为空")
    private String code;

    @Schema(description = "分类名称")
    @NotBlank(message = "分类名称不能为空")
    private String name;

    @Schema(description = "分类描述")
    private String description;

    @Schema(description = "图标")
    private String icon;

    @Schema(description = "是否启用")
    @NotNull(message = "启用状态不能为空")
    private Boolean enabled;

    @Schema(description = "排序号")
    @NotNull(message = "排序号不能为空")
    private Integer sort;
    
    @Schema(description = "应用数量")
    private Long applicationCount;
}

