summaryrefslogtreecommitdiff
path: root/src/main/kotlin/dev/dnpm/etl
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/kotlin/dev/dnpm/etl')
-rw-r--r--src/main/kotlin/dev/dnpm/etl/processor/config/AppConfiguration.kt5
-rw-r--r--src/main/kotlin/dev/dnpm/etl/processor/config/AuditConfiguration.kt21
-rw-r--r--src/main/kotlin/dev/dnpm/etl/processor/monitoring/Request.kt7
3 files changed, 30 insertions, 3 deletions
diff --git a/src/main/kotlin/dev/dnpm/etl/processor/config/AppConfiguration.kt b/src/main/kotlin/dev/dnpm/etl/processor/config/AppConfiguration.kt
index cb04db3..2d520d3 100644
--- a/src/main/kotlin/dev/dnpm/etl/processor/config/AppConfiguration.kt
+++ b/src/main/kotlin/dev/dnpm/etl/processor/config/AppConfiguration.kt
@@ -32,8 +32,6 @@ import dev.dnpm.etl.processor.security.TokenService
import dev.dnpm.etl.processor.services.ConsentProcessor
import dev.dnpm.etl.processor.services.Transformation
import dev.dnpm.etl.processor.services.TransformationService
-import kotlin.time.Duration.Companion.seconds
-import kotlin.time.toJavaDuration
import org.apache.cxf.jaxws.JaxWsProxyFactoryBean
import org.slf4j.LoggerFactory
import org.springframework.boot.autoconfigure.condition.AnyNestedCondition
@@ -46,6 +44,7 @@ import org.springframework.context.annotation.Conditional
import org.springframework.context.annotation.Configuration
import org.springframework.context.annotation.ConfigurationCondition
import org.springframework.data.jdbc.repository.config.AbstractJdbcConfiguration
+import org.springframework.data.jdbc.repository.config.EnableJdbcAuditing
import org.springframework.http.converter.StringHttpMessageConverter
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter
import org.springframework.retry.RetryCallback
@@ -60,6 +59,8 @@ import org.springframework.security.provisioning.InMemoryUserDetailsManager
import org.springframework.web.client.HttpClientErrorException
import org.springframework.web.client.RestTemplate
import reactor.core.publisher.Sinks
+import kotlin.time.Duration.Companion.seconds
+import kotlin.time.toJavaDuration
@Configuration
@EnableConfigurationProperties(
diff --git a/src/main/kotlin/dev/dnpm/etl/processor/config/AuditConfiguration.kt b/src/main/kotlin/dev/dnpm/etl/processor/config/AuditConfiguration.kt
new file mode 100644
index 0000000..45763ee
--- /dev/null
+++ b/src/main/kotlin/dev/dnpm/etl/processor/config/AuditConfiguration.kt
@@ -0,0 +1,21 @@
+package dev.dnpm.etl.processor.config
+
+import org.springframework.context.annotation.Bean
+import org.springframework.context.annotation.Configuration
+import org.springframework.data.domain.AuditorAware
+import org.springframework.data.jdbc.repository.config.EnableJdbcAuditing
+import org.springframework.security.core.context.SecurityContextHolder
+import java.util.*
+
+@Configuration
+@EnableJdbcAuditing
+class AuditConfiguration {
+
+ @Bean
+ fun audit(): AuditorAware<String> {
+ return AuditorAware {
+ Optional.of(SecurityContextHolder.getContext().authentication?.name ?: "SYSTEM")
+ }
+ }
+
+}
diff --git a/src/main/kotlin/dev/dnpm/etl/processor/monitoring/Request.kt b/src/main/kotlin/dev/dnpm/etl/processor/monitoring/Request.kt
index 4ed071d..5dbba2b 100644
--- a/src/main/kotlin/dev/dnpm/etl/processor/monitoring/Request.kt
+++ b/src/main/kotlin/dev/dnpm/etl/processor/monitoring/Request.kt
@@ -20,10 +20,13 @@
package dev.dnpm.etl.processor.monitoring
import dev.dnpm.etl.processor.*
+import org.springframework.data.annotation.CreatedDate
import java.time.Instant
import java.time.temporal.ChronoUnit
import java.util.*
import org.springframework.data.annotation.Id
+import org.springframework.data.annotation.LastModifiedBy
+import org.springframework.data.annotation.LastModifiedDate
import org.springframework.data.domain.Page
import org.springframework.data.domain.Pageable
import org.springframework.data.jdbc.repository.query.Query
@@ -44,7 +47,9 @@ data class Request(
@Column("submission_type") val submissionType: SubmissionType,
var status: RequestStatus,
@Column("tan") val tan: Tan = Tan.empty(),
- var processedAt: Instant = Instant.now(),
+ @CreatedDate var processedAt: Instant = Instant.now(),
+ @LastModifiedDate var updatedAt: Instant? = null,
+ @LastModifiedBy var updatedBy: String? = null,
@Embedded.Nullable var report: Report? = null,
@Column("submission_accepted") var submissionAccepted: Boolean = false,
) {