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

import com.qqchen.deploy.backend.deploy.enums.DevelopmentLanguageTypeEnum;
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;

@Data
@EqualsAndHashCode(callSuper = true)
public class ApplicationDTO extends BaseDTO {

    @NotBlank(message = "应用编码不能为空")
    private String appCode;

    @NotBlank(message = "应用名称不能为空")
    private String appName;

    private String appDesc;

    @NotNull(message = "开发语言")
    private DevelopmentLanguageTypeEnum language;

    @Schema(description = "应用分类ID")
    private Long applicationCategoryId;

    @Schema(description = "是否启用")
    private Boolean enabled;

    @NotNull(message = "排序号不能为空")
    private Integer sort;

    private ApplicationCategoryDTO applicationCategory;

    @Schema(description = "关联的团队数量")
    private Long teamCount;

}