package com.aip.gateway.api.model.response;

import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;

@Data
//@Builder
@ApiModel("ResponseBase(응답 베이스")
public class ResponseBase implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;

    private int errorCode;
    private String errorMessage;

    private String dispFileName;

    /// 요청 파일 정보
    @JsonIgnore
    private String fileId;
    @JsonIgnore
    private String fileName;
    @JsonIgnore
    private String fileLabelGuid;
    @JsonIgnore
    private String fileProtectionGuid;
    @JsonIgnore
    private String fileOwner;
    @JsonIgnore
    private String fileExt;
    @JsonIgnore
    private long fileSize;

    /// 결과 파일 정보
    @JsonIgnore
    private String newFileName;
    @JsonIgnore
    private String newFileLabelGuid;
    @JsonIgnore
    private String newFileProtectionGuid;
    @JsonIgnore
    private String newFileOwner;
    @JsonIgnore
    private String newFileExt;
    @JsonIgnore
    private long newFileSize;

    public ResponseBase(int errorCode, String errorMessage, String dispFileName, String fileId, String fileName, String fileLabelGuid, String fileProtectionGuid, String fileOwner, String fileExt, long fileSize, String newFileName, String newFileLabelGuid, String newFileProtectionGuid, String newFileOwner, String newFileExt, long newFileSize) {
        this.errorCode = errorCode;
        this.errorMessage = errorMessage;
        this.dispFileName = dispFileName;
        this.fileId = fileId;
        this.fileName = fileName;
        this.fileLabelGuid = fileLabelGuid;
        this.fileProtectionGuid = fileProtectionGuid;
        this.fileOwner = fileOwner;
        this.fileExt = fileExt;
        this.fileSize = fileSize;
        this.newFileName = newFileName;
        this.newFileLabelGuid = newFileLabelGuid;
        this.newFileProtectionGuid = newFileProtectionGuid;
        this.newFileOwner = newFileOwner;
        this.newFileExt = newFileExt;
        this.newFileSize = newFileSize;
    }
}
