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

import java.util.ArrayList;
import java.util.List;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.FieldDefaults;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults(level = AccessLevel.PRIVATE)
@Schema(description = "Object containing rules validation result")
public class DroolsValidationResponse {

    @Builder.Default
    @Schema(description = "Show where syntax errors are in the uploaded rules file.")
    List<RuleSyntaxErrorMessage> syntaxErrorMessages = new ArrayList<>();
    @Builder.Default
    @Schema(description = "Show where warnings are in the uploaded rules file.")
    List<RuleSyntaxWarningMessage> deprecatedWarnings = new ArrayList<>();
    @Builder.Default
    @Schema(description = "Show where blacklist violations are in the uploaded rules file.")
    List<RuleBlacklistErrorMessage> blacklistErrorMessages = new ArrayList<>();

}
