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

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

import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.FieldDefaults;

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@FieldDefaults(level = AccessLevel.PRIVATE)
public class RecategorizationRequest implements ManualRequestWithAddToDictionary, ManualRequestWithRemoveFromDictionary {

    String annotationId;
    String user;
    String value;
    AnnotationStatus status;
    String typeToRemove;
    String dossierTemplateId;
    String dossierId;
    String dossierTemplateTypeId;
    String comment;
    int page;
    boolean addToDictionary;
    boolean addToAllDossiers;
    private DictionaryEntryType dictionaryEntryType;


    @Override
    public boolean isForceAddToDictionary() {

        return true;
    }


    @Override
    public boolean isRemoveFromDictionary() {

        return addToDictionary;
    }


    @Override
    public boolean isRemoveFromAllDossiers() {

        return addToAllDossiers;
    }

}
