diff --git a/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/controller/ImageSimilaritySearchController.java b/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/controller/ImageSimilaritySearchController.java index 36f3f1bd0..92b6b939e 100644 --- a/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/controller/ImageSimilaritySearchController.java +++ b/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/controller/ImageSimilaritySearchController.java @@ -34,6 +34,14 @@ public class ImageSimilaritySearchController implements ImageSimilaritySearchRes public ResponseEntity getSimilarImages(@RequestBody ImageSimilaritySearchRequest imageSimilaritySearchRequest) { log.info("received similiar image search request {}", imageSimilaritySearchRequest); + if (imageSimilaritySearchRequest.getAnnotationId() == null || imageSimilaritySearchRequest.getScope() == null || (imageSimilaritySearchRequest.getScope().getFileId() + == null + && imageSimilaritySearchRequest.getScope().getTemplateId() + == null + && imageSimilaritySearchRequest.getScope().getDossierId() + == null)) { + return new ResponseEntity<>(null, HttpStatus.BAD_REQUEST); + } List similarImages = this.imageSimilarityService.findSimilarImages(imageSimilaritySearchRequest.getAnnotationId(), imageSimilaritySearchRequest.getDistance(), imageSimilaritySearchRequest.getScope()); diff --git a/persistence-service-v1/persistence-service-external-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/external/resource/ImageSimilaritySearchResource.java b/persistence-service-v1/persistence-service-external-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/external/resource/ImageSimilaritySearchResource.java index a8795cdf3..3a0267c54 100644 --- a/persistence-service-v1/persistence-service-external-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/external/resource/ImageSimilaritySearchResource.java +++ b/persistence-service-v1/persistence-service-external-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/external/resource/ImageSimilaritySearchResource.java @@ -21,7 +21,7 @@ public interface ImageSimilaritySearchResource { @ResponseStatus(value = HttpStatus.OK) @Operation(summary = "Gets similiar images to given image", description = "None") - @ApiResponses(value = {@ApiResponse(responseCode = "200", description = "OK"), @ApiResponse(responseCode = "404", description = "Not found")}) + @ApiResponses(value = {@ApiResponse(responseCode = "200", description = "OK"), @ApiResponse(responseCode = "404", description = "Not found"), @ApiResponse(responseCode = "400", description = "Bad request: missing parameter")}) @PostMapping(value = IMAGE_SIMILARITY_SEARCH_PATH, produces = MediaType.APPLICATION_JSON_VALUE) ResponseEntity getSimilarImages(@RequestBody ImageSimilaritySearchRequest imageSimilaritySearchRequest); diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/roles/ActionRoles.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/roles/ActionRoles.java index 02f30c55d..1ac40b07f 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/roles/ActionRoles.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/roles/ActionRoles.java @@ -59,9 +59,9 @@ public final class ActionRoles { public static final String READ_GENERAL_CONFIGURATION = "red-read-general-configuration"; public static final String WRITE_GENERAL_CONFIGURATION = "red-write-general-configuration"; - // IMAGE SIMILIARITY SEARCH + // IMAGE SIMILARITY SEARCH - public static final String GET_SIMILAR_IMAGES = "red-get-similiar-images"; + public static final String GET_SIMILAR_IMAGES = "red-get-similar-images"; // Preferences public static final String MANAGE_USER_PREFERENCES = "red-manage-user-preferences"; diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/roles/ApplicationRoles.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/roles/ApplicationRoles.java index b97aa37aa..e1de6153c 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/roles/ApplicationRoles.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/roles/ApplicationRoles.java @@ -32,6 +32,7 @@ import static com.iqser.red.service.persistence.management.v1.processor.roles.Ac import static com.iqser.red.service.persistence.management.v1.processor.roles.ActionRoles.GET_HIGHLIGHTS; import static com.iqser.red.service.persistence.management.v1.processor.roles.ActionRoles.GET_REPORT_TEMPLATES; import static com.iqser.red.service.persistence.management.v1.processor.roles.ActionRoles.GET_RSS; +import static com.iqser.red.service.persistence.management.v1.processor.roles.ActionRoles.GET_SIMILAR_IMAGES; import static com.iqser.red.service.persistence.management.v1.processor.roles.ActionRoles.GET_TENANTS; import static com.iqser.red.service.persistence.management.v1.processor.roles.ActionRoles.IMPORT_FILES; import static com.iqser.red.service.persistence.management.v1.processor.roles.ActionRoles.MANAGE_ACL_PERMISSIONS; @@ -149,8 +150,7 @@ public final class ApplicationRoles { DOWNLOAD_REDACTION_PREVIEW_FILE, DOWNLOAD_REPORT_TEMPLATE, EXCLUDE_INCLUDE_FILE, - EXCLUDE_INCLUDE_PAGES, - GET_REPORT_TEMPLATES, + EXCLUDE_INCLUDE_PAGES, GET_REPORT_TEMPLATES, GET_SIMILAR_IMAGES, MANAGE_USER_PREFERENCES, MANAGE_VIEWED_PAGES, PROCESS_DOWNLOAD, @@ -201,8 +201,7 @@ public final class ApplicationRoles { DELETE_DICTIONARY_TYPE, DELETE_REPORT_TEMPLATE, DOWNLOAD_REPORT_TEMPLATE, - GET_REPORT_TEMPLATES, - MANAGE_USER_PREFERENCES, + GET_REPORT_TEMPLATES, MANAGE_USER_PREFERENCES, GET_SIMILAR_IMAGES, READ_COLORS, READ_DICTIONARY_TYPES, READ_DIGITAL_SIGNATURE, @@ -242,8 +241,7 @@ public final class ApplicationRoles { public static final Set RED_USER_ADMIN_ACTION_ROLES = Sets.newHashSet(MANAGE_USER_PREFERENCES, READ_ALL_USERS, READ_APP_CONFIG, - READ_GENERAL_CONFIGURATION, - READ_GENERAL_CONFIGURATION, + READ_GENERAL_CONFIGURATION, READ_GENERAL_CONFIGURATION, GET_SIMILAR_IMAGES, READ_NOTIFICATIONS, READ_USERS, UPDATE_MY_PROFILE,