RED-10315: hardDeleteCleanupRetryTime in app config endpoint optional

This commit is contained in:
Dominique Eifländer 2024-10-29 14:51:42 +01:00
parent 0f8e78a1aa
commit 34346b149b
3 changed files with 24 additions and 2 deletions

View File

@ -13,7 +13,9 @@ import com.knecon.fforesight.databasetenantcommons.providers.utils.MagicConverte
import com.iqser.red.service.persistence.service.v1.api.external.resource.ApplicationConfigurationResource;
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.configuration.ApplicationConfig;
import jakarta.persistence.Column;
import jakarta.validation.Valid;
import lombok.Builder;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@ -29,7 +31,7 @@ public class ApplicationConfigurationController implements ApplicationConfigurat
@PreAuthorize("hasAuthority('" + WRITE_APP_CONFIG + "')")
public ApplicationConfig createOrUpdateAppConfig(@Valid @RequestBody ApplicationConfig appConfig) {
return MagicConverter.convert(applicationConfigService.saveApplicationConfiguration(MagicConverter.convert(appConfig, ApplicationConfigurationEntity.class)),
return MagicConverter.convert(applicationConfigService.saveApplicationConfiguration(convert(appConfig)),
ApplicationConfig.class);
}
@ -41,4 +43,18 @@ public class ApplicationConfigurationController implements ApplicationConfigurat
return MagicConverter.convert(applicationConfigService.getApplicationConfig(), ApplicationConfig.class);
}
private ApplicationConfigurationEntity convert(ApplicationConfig appConfig){
var entity = ApplicationConfigurationEntity.builder()
.downloadCleanupDownloadFilesHours(appConfig.getDownloadCleanupDownloadFilesHours())
.downloadCleanupNotDownloadFilesHours(appConfig.getDownloadCleanupNotDownloadFilesHours())
.softDeleteCleanupTime(appConfig.getSoftDeleteCleanupTime())
.build();
if(appConfig.getHardDeleteCleanupRetryTime() != null){
entity.setHardDeleteCleanupRetryTime(appConfig.getHardDeleteCleanupRetryTime());
}
return entity;
}
}

View File

@ -24,15 +24,19 @@ public class ApplicationConfigurationEntity {
private final String id = ApplicationConfigurationEntity.ID;
@Column
@Builder.Default
private int downloadCleanupDownloadFilesHours = 8;
@Column
@Builder.Default
private int downloadCleanupNotDownloadFilesHours = 72;
@Column
@Builder.Default
private int softDeleteCleanupTime = 96;
@Column
@Builder.Default
private int hardDeleteCleanupRetryTime = 72;
}

View File

@ -1,5 +1,6 @@
package com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.configuration;
import jakarta.annotation.Nullable;
import jakarta.validation.constraints.Min;
import lombok.AllArgsConstructor;
import lombok.Builder;
@ -19,6 +20,7 @@ public class ApplicationConfig {
@Min(1)
private int softDeleteCleanupTime;
@Min(1)
private int hardDeleteCleanupRetryTime;
@Nullable
private Integer hardDeleteCleanupRetryTime;
}