diff --git a/persistence-service-v1/persistence-service-external-api-impl-v2/src/main/java/com/iqser/red/persistence/service/v2/external/api/impl/controller/DossierTemplateControllerV2.java b/persistence-service-v1/persistence-service-external-api-impl-v2/src/main/java/com/iqser/red/persistence/service/v2/external/api/impl/controller/DossierTemplateControllerV2.java index d666b8909..436285d00 100644 --- a/persistence-service-v1/persistence-service-external-api-impl-v2/src/main/java/com/iqser/red/persistence/service/v2/external/api/impl/controller/DossierTemplateControllerV2.java +++ b/persistence-service-v1/persistence-service-external-api-impl-v2/src/main/java/com/iqser/red/persistence/service/v2/external/api/impl/controller/DossierTemplateControllerV2.java @@ -1,16 +1,29 @@ package com.iqser.red.persistence.service.v2.external.api.impl.controller; -import static com.iqser.red.service.persistence.management.v1.processor.roles.ActionRoles.EXPERIMENTAL; -import static com.iqser.red.service.persistence.management.v1.processor.roles.ActionRoles.READ_FILE_ATTRIBUTES_CONFIG; -import static com.iqser.red.service.persistence.management.v1.processor.roles.ActionRoles.READ_RULES; -import static com.iqser.red.service.persistence.management.v1.processor.roles.ActionRoles.WRITE_RULES; - -import java.io.ByteArrayInputStream; -import java.io.InputStream; -import java.nio.charset.StandardCharsets; -import java.util.List; -import java.util.Locale; - +import com.iqser.red.persistence.service.v1.external.api.impl.controller.DossierTemplateController; +import com.iqser.red.persistence.service.v1.external.api.impl.controller.FileAttributesController; +import com.iqser.red.service.persistence.management.v1.processor.exception.BadRequestException; +import com.iqser.red.service.persistence.management.v1.processor.model.audit.AuditDetail; +import com.iqser.red.service.persistence.management.v1.processor.service.RulesValidationService; +import com.iqser.red.service.persistence.management.v1.processor.service.persistence.RulesPersistenceService; +import com.iqser.red.service.persistence.management.v1.processor.utils.StringEncodingUtils; +import com.iqser.red.service.persistence.service.v1.api.shared.model.AuditCategory; +import com.iqser.red.service.persistence.service.v1.api.shared.model.DossierTemplateModel; +import com.iqser.red.service.persistence.service.v1.api.shared.model.RuleFileType; +import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.rules.RulesUploadRequest; +import com.iqser.red.service.persistence.service.v2.api.external.model.FileAttributeDefinition; +import com.iqser.red.service.persistence.service.v2.api.external.model.FileAttributeDefinitionList; +import com.iqser.red.service.persistence.service.v2.api.external.model.RulesValidationMessage; +import com.iqser.red.service.persistence.service.v2.api.external.model.RulesValidationResponse; +import com.iqser.red.service.persistence.service.v2.api.external.resource.DossierTemplateResource; +import com.iqser.red.service.redaction.v1.model.DroolsSyntaxValidation; +import com.knecon.fforesight.auditor.Auditor; +import feign.FeignException; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; +import lombok.SneakyThrows; import org.springframework.core.io.InputStreamResource; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; @@ -23,32 +36,13 @@ import org.springframework.web.bind.annotation.RequestPart; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; -import com.iqser.red.persistence.service.v1.external.api.impl.controller.DossierTemplateController; -import com.iqser.red.persistence.service.v1.external.api.impl.controller.FileAttributesController; -import com.iqser.red.service.persistence.management.v1.processor.exception.BadRequestException; -import com.iqser.red.service.persistence.management.v1.processor.service.RulesValidationService; -import com.iqser.red.service.persistence.management.v1.processor.service.persistence.AuditPersistenceService; -import com.iqser.red.service.persistence.management.v1.processor.service.persistence.RulesPersistenceService; -import com.iqser.red.service.persistence.management.v1.processor.utils.StringEncodingUtils; -import com.iqser.red.service.persistence.service.v1.api.shared.model.AuditCategory; -import com.iqser.red.service.persistence.service.v1.api.shared.model.DossierTemplateModel; -import com.iqser.red.service.persistence.service.v1.api.shared.model.RuleFileType; -import com.iqser.red.service.persistence.service.v1.api.shared.model.audit.AuditRequest; -import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.rules.RulesUploadRequest; -import com.iqser.red.service.persistence.service.v2.api.external.model.FileAttributeDefinition; -import com.iqser.red.service.persistence.service.v2.api.external.model.FileAttributeDefinitionList; -import com.iqser.red.service.persistence.service.v2.api.external.model.RulesValidationMessage; -import com.iqser.red.service.persistence.service.v2.api.external.model.RulesValidationResponse; -import com.iqser.red.service.persistence.service.v2.api.external.resource.DossierTemplateResource; -import com.iqser.red.service.redaction.v1.model.DroolsSyntaxValidation; -import com.knecon.fforesight.keycloakcommons.security.KeycloakSecurity; +import java.io.ByteArrayInputStream; +import java.io.InputStream; +import java.nio.charset.StandardCharsets; +import java.util.List; +import java.util.Locale; -import feign.FeignException; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.RequiredArgsConstructor; -import lombok.SneakyThrows; +import static com.iqser.red.service.persistence.management.v1.processor.roles.ActionRoles.*; @RestController @RequiredArgsConstructor @@ -60,9 +54,10 @@ public class DossierTemplateControllerV2 implements DossierTemplateResource { private final DossierTemplateController dossierTemplateController; private final RulesPersistenceService rulesPersistenceService; private final RulesValidationService rulesValidationService; - private final AuditPersistenceService auditPersistenceService; private final FileAttributesController fileAttributesController; + private final Auditor auditor; + public List getAllDossierTemplates() { @@ -187,12 +182,9 @@ public class DossierTemplateControllerV2 implements DossierTemplateResource { rulesPersistenceService.setRules(rulesUploadRequest.getRules(), rulesUploadRequest.getDossierTemplateId(), rulesUploadRequest.getRuleFileType()); } - auditPersistenceService.audit(AuditRequest.builder() - .userId(KeycloakSecurity.getUserId()) - .objectId(rulesUploadRequest.getDossierTemplateId()) - .category(AuditCategory.DOSSIER_TEMPLATE.name()) - .message(String.format("%s rules have been %s", rulesUploadRequest.getRuleFileType(), dryRun ? "validated" : "updated")) - .build()); + auditor.audit(AuditCategory.DOSSIER_TEMPLATE.name(), + String.format("%s rules have been %s", rulesUploadRequest.getRuleFileType(), dryRun ? "validated" : "updated"), + AuditDetail.DOSSIER_TEMPLATE_ID, dossierTemplateId); // TODO Add warning and deprecations to response return new ResponseEntity<>(RulesValidationResponse.builder().build(), HttpStatus.OK);