Merge branch 'DM-285-prep' into 'master'

DM-285-prep: prepare rule endpoint to avoid cyclic dependency resolution

Closes DM-285

See merge request redactmanager/redaction-service!122
This commit is contained in:
Kilian Schüttler 2023-09-11 14:54:40 +02:00
commit 2878cacad8
4 changed files with 24 additions and 5 deletions

View File

@ -7,7 +7,7 @@ description = "redaction-service-api-v1"
dependencies {
implementation("org.springframework:spring-web:6.0.11")
implementation("com.iqser.red.service:persistence-service-internal-api-v1:RED-6725")
implementation("com.iqser.red.service:persistence-service-internal-api-v1:2.163.0")
}
publishing {

View File

@ -0,0 +1,18 @@
package com.iqser.red.service.redaction.v1.model;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.FieldDefaults;
@Data
@AllArgsConstructor
@NoArgsConstructor
@FieldDefaults(level = AccessLevel.PRIVATE)
public class RuleValidationModel {
String ruleFileType;
String rulesString;
}

View File

@ -5,10 +5,11 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import com.iqser.red.service.redaction.v1.model.DroolsSyntaxValidation;
import com.iqser.red.service.redaction.v1.model.RuleValidationModel;
public interface RedactionResource {
@PostMapping(value = "/rules/test", consumes = MediaType.APPLICATION_JSON_VALUE)
DroolsSyntaxValidation testRules(@RequestBody String rules);
DroolsSyntaxValidation testRules(@RequestBody RuleValidationModel rulesValidationModel);
}

View File

@ -1,9 +1,9 @@
package com.iqser.red.service.redaction.v1.server.controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import com.iqser.red.service.redaction.v1.model.DroolsSyntaxValidation;
import com.iqser.red.service.redaction.v1.model.RuleValidationModel;
import com.iqser.red.service.redaction.v1.resources.RedactionResource;
import com.iqser.red.service.redaction.v1.server.exception.RulesValidationException;
import com.iqser.red.service.redaction.v1.server.redaction.service.DroolsExecutionService;
@ -20,10 +20,10 @@ public class RedactionController implements RedactionResource {
@Override
public DroolsSyntaxValidation testRules(@RequestBody String rules) {
public DroolsSyntaxValidation testRules(RuleValidationModel rulesValidationModel) {
try {
return droolsExecutionService.testRules(rules);
return droolsExecutionService.testRules(rulesValidationModel.getRulesString());
} catch (Exception e) {
throw new RulesValidationException("Could not test rules: " + e.getMessage(), e);
}