diff --git a/descriptors/ModuleDescriptor-template.json b/descriptors/ModuleDescriptor-template.json index 39dec479..a81d95a9 100644 --- a/descriptors/ModuleDescriptor-template.json +++ b/descriptors/ModuleDescriptor-template.json @@ -418,7 +418,7 @@ { "methods": [ "POST" ], "pathPattern": "/authority-storage/expire/authorities", - "unit": "minute", + "unit": "day", "delay": "1", "modulePermissions": [ "mod-settings.entries.collection.get", diff --git a/src/main/java/org/folio/entlinks/controller/AuthorityController.java b/src/main/java/org/folio/entlinks/controller/AuthorityController.java index 963af66d..243e4052 100644 --- a/src/main/java/org/folio/entlinks/controller/AuthorityController.java +++ b/src/main/java/org/folio/entlinks/controller/AuthorityController.java @@ -10,6 +10,7 @@ import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RestController; @Validated @@ -49,7 +50,16 @@ public ResponseEntity updateAuthority(UUID id, AuthorityDto authority) { return ResponseEntity.noContent().build(); } - @Override + /** + * POST /authority-storage/expire/authorities. + * + * @return Successfully published authorities expire job (status code 202) + * or Internal server error. (status code 500) + */ + @PostMapping( + value = "/authority-storage/expire/authorities", + produces = { "application/json" } + ) public ResponseEntity expireAuthorities() { authorityArchiveServiceDelegate.expire(); return ResponseEntity.status(HttpStatus.ACCEPTED).build(); diff --git a/src/main/java/org/folio/entlinks/controller/delegate/AuthorityArchiveServiceDelegate.java b/src/main/java/org/folio/entlinks/controller/delegate/AuthorityArchiveServiceDelegate.java index 612c6e1b..af0bfb68 100644 --- a/src/main/java/org/folio/entlinks/controller/delegate/AuthorityArchiveServiceDelegate.java +++ b/src/main/java/org/folio/entlinks/controller/delegate/AuthorityArchiveServiceDelegate.java @@ -34,14 +34,12 @@ public void expire() { } var tillDate = LocalDateTime.now().minus(retention.get(), ChronoUnit.DAYS); - log.info("Querying authority archives last updated before date: {}", tillDate); try (Stream archives = authorityArchiveRepository.streamByUpdatedTillDate(tillDate)) { archives.forEach(authorityArchiveService::delete); } } private Optional fetchAuthoritiesRetentionDuration() { - log.info("Fetching the expiration settings"); Optional expireSetting = settingsService.getAuthorityExpireSetting(); if (expireSetting.isPresent() && expireSetting.get().value() != null diff --git a/src/main/java/org/folio/entlinks/service/authority/AuthorityArchiveService.java b/src/main/java/org/folio/entlinks/service/authority/AuthorityArchiveService.java index 2e4800e1..11ff720b 100644 --- a/src/main/java/org/folio/entlinks/service/authority/AuthorityArchiveService.java +++ b/src/main/java/org/folio/entlinks/service/authority/AuthorityArchiveService.java @@ -17,7 +17,7 @@ public class AuthorityArchiveService { @Transactional(propagation = Propagation.REQUIRES_NEW) public void delete(AuthorityArchive authorityArchive) { - log.info("Deleting authority archive: id = {}", authorityArchive.getId()); + log.debug("Deleting authority archive: id = {}", authorityArchive.getId()); repository.delete(authorityArchive); } } diff --git a/src/main/resources/swagger.api/mod-entities-links.yaml b/src/main/resources/swagger.api/mod-entities-links.yaml index 21b2dc4c..3ea986c0 100644 --- a/src/main/resources/swagger.api/mod-entities-links.yaml +++ b/src/main/resources/swagger.api/mod-entities-links.yaml @@ -314,9 +314,6 @@ paths: /authority-source-files/{id}: $ref: './paths/authority-source-files/authority-source-files-by-id.yaml' - /authority-storage/expire/authorities: - $ref: './paths/authority-storage/expire-authorities.yaml' - components: schemas: instanceLinkDtoCollection: diff --git a/src/main/resources/swagger.api/paths/authority-storage/expire-authorities.yaml b/src/main/resources/swagger.api/paths/authority-storage/expire-authorities.yaml deleted file mode 100644 index ff6e5859..00000000 --- a/src/main/resources/swagger.api/paths/authority-storage/expire-authorities.yaml +++ /dev/null @@ -1,9 +0,0 @@ -post: - operationId: expireAuthorities - tags: - - authority-storage - responses: - '201': - description: Successfully published authorities expire job - '500': - $ref: '../../responses/serverErrorResponse.yaml'