package com.qqchen.deploy.backend.system.model;

import com.qqchen.deploy.backend.system.enums.ExternalSystemAuthTypeEnum;
import com.qqchen.deploy.backend.system.enums.ExternalSystemSyncStatusEnum;
import com.qqchen.deploy.backend.system.enums.ExternalSystemTypeEnum;
import com.qqchen.deploy.backend.framework.dto.BaseDTO;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

@Data
@EqualsAndHashCode(callSuper = true)
public class ExternalSystemDTO extends BaseDTO {
    
    @NotBlank(message = "系统名称不能为空")
    private String name;
    
    @NotNull(message = "系统类型不能为空")
    private ExternalSystemTypeEnum type;
    
    @NotBlank(message = "系统访问地址不能为空")
    private String url;
    
    private String remark;
    
    private Integer sort;
    
    private Boolean enabled = true;
    
    @NotNull(message = "认证方式不能为空")
    private ExternalSystemAuthTypeEnum authType;
    
    private String username;
    
    private String password;
    
    private String token;
    
    private LocalDateTime lastConnectTime;
    
    private String config;
} 