package at.procon.dip.domain.ted.search.dto;

import at.procon.ted.model.entity.ContractNature;
import at.procon.ted.model.entity.NoticeType;
import at.procon.ted.model.entity.ProcedureType;
import java.time.LocalDate;
import java.time.OffsetDateTime;
import java.util.List;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class TedStructuredSearchFilter {
    private String countryCode;
    private List<String> countryCodes;
    private NoticeType noticeType;
    private ContractNature contractNature;
    private ProcedureType procedureType;
    private String cpvPrefix;
    private List<String> cpvCodes;
    private String nutsCode;
    private List<String> nutsCodes;
    private LocalDate publicationDateFrom;
    private LocalDate publicationDateTo;
    private OffsetDateTime submissionDeadlineAfter;
    private Boolean euFunded;
    private String buyerNameContains;
    private String projectTitleContains;
}
