package com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier;

import java.time.OffsetDateTime;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.DownloadFileType;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class CreateOrUpdateDossierRequest {

    private String dossierName;

    private String description;

    private String ownerId;

    @Builder.Default
    private Set<String> memberIds = new HashSet<>();

    @Builder.Default
    private Set<String> approverIds = new HashSet<>();

    @Builder.Default
    private Set<DownloadFileType> downloadFileTypes = new HashSet<>();

    private OffsetDateTime dueDate;

    private String dossierTemplateId;

    @Builder.Default
    private List<String> reportTemplateIds = new ArrayList<>();

    private String requestingUser;

    private String dossierStatusId;

    private Long watermarkId;
    private Long previewWatermarkId;

}
