Merge branch 'backport-RED-7677' into 'release/1.363.x'

RED-7677 - dossier-template endpoint should return a 400 if validFrom > validTo

See merge request redactmanager/persistence-service!209
This commit is contained in:
Andrei Isvoran 2023-11-01 10:24:56 +01:00
commit 4a6e80f1b3

View File

@ -39,6 +39,7 @@ public class DossierTemplatePersistenceService {
public DossierTemplateEntity createOrUpdateDossierTemplate(CreateOrUpdateDossierTemplateRequest createOrUpdateDossierRequest) {
if (createOrUpdateDossierRequest.getDossierTemplateId() != null) {
validateDossierTemplateDates(createOrUpdateDossierRequest.getValidFrom(), createOrUpdateDossierRequest.getValidTo());
validateDossierTemplate(createOrUpdateDossierRequest.getName(), createOrUpdateDossierRequest.getDescription());
Optional<DossierTemplateEntity> dossierTemplate = dossierTemplateRepository.findById(createOrUpdateDossierRequest.getDossierTemplateId());
if (dossierTemplate.isPresent()) {
@ -77,6 +78,15 @@ public class DossierTemplatePersistenceService {
}
private void validateDossierTemplateDates(OffsetDateTime validFrom, OffsetDateTime validTo) {
if (validFrom != null && validTo != null && validFrom.isAfter(validTo)) {
throw new BadRequestException("Invalid dates! validFrom can't be after validTo.");
}
}
public void validateDossierTemplate(String name, String description) {
if (!StringUtils.isEmpty(name) && name.length() > MAX_NAME_LENGTH) {