package com.aip.gateway.api.dto;

import io.swagger.annotations.ApiModel;
import lombok.Builder;
import lombok.Data;
import lombok.ToString;

import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.concurrent.ConcurrentHashMap;

@ApiModel("LinkedApiKeyDto(연계 시스템 API KEY 정보")
@Data
@Builder
@ToString(exclude = "serverMap")
public class LinkedApiKeyDto implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    private int apiKeyId;
    private String apiKey;
    private boolean policyLookupYn;
    private boolean fileInfoLookupYn;
    private boolean applyLabelYn;
    private boolean releaseLabelYn;
    private boolean encryptionFileYn;
    private boolean decryptionFileYn;

    private LocalDateTime expiredAt;
    private int serverId;
    private String serverIpAddr;
    private String serverDesc;
    private int systemId;
    private String systemName;

    private ConcurrentHashMap<String, LinkedApiKeyDto> serverMap;

}
