diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 00000000..9955b489
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,7 @@
+[*.{kt,kts}]
+ktlint_code_style = intellij_idea
+ktlint_standard_property-naming = disabled
+max_line_length = 150
+tab_width = 4
+ktlint_standard_max-line-length = disabled
+ktlint_standard_class-naming = disabled
\ No newline at end of file
diff --git a/Dockerfile b/Dockerfile
index b89bec2b..50a22dec 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,9 +1,23 @@
-FROM ghcr.io/navikt/baseimages/temurin:17
+FROM busybox:1.36.1-uclibc as busybox
+
+FROM gcr.io/distroless/java21-debian12:nonroot
LABEL maintainer="Team Bidrag" \
- email="nav.ikt.prosjekt.og.forvaltning.bidrag@nav.no"
+ email="bidrag@nav.no"
-COPY init-scripts /init-scripts
-ADD ./target/bidrag-dokument-arkiv*.jar app.jar
+COPY --from=busybox /bin/sh /bin/sh
+COPY --from=busybox /bin/printenv /bin/printenv
+
+WORKDIR /app
+
+COPY ./target/app.jar app.jar
-ENV SPRING_PROFILES_ACTIVE=nais
EXPOSE 8080
+ARG JDK_JAVA_OPTIONS
+ENV TZ="Europe/Oslo"
+ENV SPRING_PROFILES_ACTIVE=nais
+ENV JDK_JAVA_OPTIONS="-Dhttp.proxyHost=webproxy.nais \
+ -Dhttps.proxyHost=webproxy.nais \
+ -Dhttp.proxyPort=8088 \
+ -Dhttps.proxyPort=8088 \
+ -Dhttp.nonProxyHosts=localhost|127.0.0.1|10.254.0.1|*.local|*.adeo.no|*.nav.no|*.aetat.no|*.devillo.no|*.oera.no|*.nais.io|*.aivencloud.com|*.intern.dev.nav.no"
+CMD ["app.jar"]
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index e6aa1c87..d39e6362 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,450 +1,453 @@
- 4.0.0
-
-
- org.springframework.boot
- spring-boot-starter-parent
- 3.1.4
-
-
-
- no.nav.bidrag.dokument
- bidrag-dokument-arkiv
- 1.0.233-SNAPSHOT
- jar
-
- Backend NAIS, bidrag-dokument-arkiv, henter fra arkiv (JOARK)
- https://github.com/navikt/bidrag-dokument-arkiv
-
-
-
-
- 17
- 1.9.10
-
-
- 1.11.3
- 20231013111728_2a4d649
- 1.20230503150725_3c2c77b
- 20231010134706_52d8d27
- 1.15
- 6.0.5
- 67a9be4476b63b7247cfacfaf821ab656bd2a952
- 7.3.3
- 7.3
- 9.15.2
- 2.1.0
- 4.0.2
- 4.11.0
- 3.0.11
-
-
- 3.3.0
- 3.8.0
- 2.22.2
- ${java.version}
- UTF-8
- UTF-8
- 3.0.5
-
-
-
- github
- GitHub felles Apache Maven Packages for navikt
- https://maven.pkg.github.com/navikt/maven-release/
-
-
- confluent
- Confluent kafka
- https://packages.confluent.io/maven/
-
-
- github-commons
- https://maven.pkg.github.com/navikt/bidrag-commons
-
-
-
-
-
-
- org.yaml
- snakeyaml
- 2.0
-
-
- org.scala-lang
- scala-library
- 2.13.10
-
-
-
-
-
-
- org.jetbrains.kotlinx
- kotlinx-datetime-jvm
- 0.4.0
-
-
-
- no.nav.syfo.schemas
- dok-journalfoering-hendelse-v1
- ${joark-hendelse.version}
-
-
- io.confluent
- kafka-avro-serializer
- ${kafka-avro-serializer.version}
-
-
- org.apache.commons
- commons-compress
-
-
-
-
- org.apache.commons
- commons-compress
- 1.24.0
-
-
- org.apache.avro
- avro
- ${apache-avro-version}
-
-
-
- org.springframework.boot
- spring-boot-starter-cache
-
-
- com.github.ben-manes.caffeine
- caffeine
-
-
- com.netflix.graphql.dgs
- graphql-dgs-client
- ${graphq-dgs-client.version}
-
-
- io.micrometer
- micrometer-registry-prometheus
-
-
-
- no.nav.bidrag
- bidrag-commons
- ${bidrag-commons.version}
-
-
- no.nav.bidrag
- bidrag-transport
- ${bidrag-transport.version}
-
-
-
-
- org.springframework.boot
- spring-boot-starter-actuator
-
-
-
- org.springframework.boot
- spring-boot-starter-web
-
-
-
- org.springframework.boot
- spring-boot-starter-validation
-
-
- org.springframework.boot
- spring-boot-devtools
- runtime
-
-
-
- org.springframework.kafka
- spring-kafka
-
-
-
-
- org.apache.httpcomponents.client5
- httpclient5
-
-
-
- commons-codec
- commons-codec
- ${commons-codec.version}
-
-
-
-
- org.jetbrains.kotlin
- kotlin-stdlib-jdk8
- ${kotlin.version}
-
-
-
- io.github.microutils
- kotlin-logging-jvm
- ${kotlin-logging-jvm.version}
-
-
-
-
- org.springdoc
- springdoc-openapi-starter-webmvc-ui
- ${springdoc-openapi-ui.version}
-
-
-
-
- ch.qos.logback
- logback-core
-
-
-
- ch.qos.logback
- logback-classic
-
-
-
- net.logstash.logback
- logstash-logback-encoder
- ${logback-encoder.version}
-
-
- com.fasterxml.jackson-core
- jackson-databind
-
-
-
-
-
- org.slf4j
- slf4j-api
-
-
-
-
- org.aspectj
- aspectjweaver
-
-
-
-
- no.nav.bidrag
- bidrag-commons-test
- ${bidrag-commons-test.version}
- test
-
-
-
- org.awaitility
- awaitility-kotlin
- 4.2.0
- test
-
-
- no.nav.security
- token-validation-spring-test
- ${token-support.version}
- test
-
-
- com.squareup.okhttp3
- mockwebserver
- ${squareup.version}
- test
-
-
- com.squareup.okhttp3
- okhttp
- ${squareup.version}
- test
-
-
- org.springframework.boot
- spring-boot-starter-test
- test
-
-
-
- org.springframework.cloud
- spring-cloud-starter-contract-stub-runner
- ${springframework-cloud.version}
- test
-
-
- com.google.guava
- guava
-
-
- commons-collections
- commons-collections
-
-
-
-
-
- org.springframework.kafka
- spring-kafka-test
- test
-
-
- io.kotest
- kotest-assertions-core-jvm
- 5.6.1
- test
-
-
- com.ninja-squad
- springmockk
- 4.0.2
- test
-
-
- org.jetbrains.kotlin
- kotlin-test
- ${kotlin.version}
- test
-
-
-
-
-
-
-
-
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ 4.0.0
+
+
org.springframework.boot
- spring-boot-maven-plugin
-
-
-
- org.jetbrains.kotlin
- kotlin-maven-plugin
- ${kotlin.version}
-
-
- compile
- process-sources
-
- compile
-
-
-
-
-
-
-
-
-
- test-compile
- process-test-sources
-
- test-compile
-
-
-
-
-
-
-
-
-
-
- 17
-
- spring
-
-
+ spring-boot-starter-parent
+ 3.1.5
+
+
+
+ no.nav.bidrag.dokument
+ bidrag-dokument-arkiv
+ 1.0.233-SNAPSHOT
+ jar
+
+ Backend NAIS, bidrag-dokument-arkiv, henter fra arkiv (JOARK)
+ https://github.com/navikt/bidrag-dokument-arkiv
+
+
+
+
+ 21
+ 1.9.20
+
+
+ 1.11.3
+ 20231103132440_edabbf8
+ 1.20230503150725_3c2c77b
+ 20231113102624_1040a39
+ 1.16.0
+ 6.0.5
+ 67a9be4476b63b7247cfacfaf821ab656bd2a952
+ 7.3.3
+ 7.3
+ 9.15.2
+ 2.1.0
+ 4.0.4
+ 4.11.0
+ 3.0.11
+
+
+ 3.3.0
+ 3.8.0
+ 2.22.2
+ ${java.version}
+ UTF-8
+ UTF-8
+ 3.0.5
+
+
+
+ github
+ GitHub felles Apache Maven Packages for navikt
+ https://maven.pkg.github.com/navikt/maven-release/
+
+
+ confluent
+ Confluent kafka
+ https://packages.confluent.io/maven/
+
+
+ github-commons
+ https://maven.pkg.github.com/navikt/bidrag-commons
+
+
+
+
-
+
+ org.yaml
+ snakeyaml
+ 2.2
+
+
+ org.scala-lang
+ scala-library
+ 2.13.12
+
+
+
+
+
+
+ org.jetbrains.kotlinx
+ kotlinx-datetime-jvm
+ 0.4.0
+
+
+
+ no.nav.syfo.schemas
+ dok-journalfoering-hendelse-v1
+ ${joark-hendelse.version}
+
+
+ io.confluent
+ kafka-avro-serializer
+ ${kafka-avro-serializer.version}
+
+
+ org.apache.commons
+ commons-compress
+
+
+
+
+ org.apache.commons
+ commons-compress
+ 1.24.0
+
+
+ org.apache.avro
+ avro
+ ${apache-avro-version}
+
+
+
+ org.springframework.boot
+ spring-boot-starter-cache
+
+
+ com.github.ben-manes.caffeine
+ caffeine
+
+
+ com.netflix.graphql.dgs
+ graphql-dgs-client
+ ${graphq-dgs-client.version}
+
+
+ io.micrometer
+ micrometer-registry-prometheus
+
+
+
+ no.nav.bidrag
+ bidrag-commons
+ ${bidrag-commons.version}
+
+
+ no.nav.bidrag
+ bidrag-transport
+ ${bidrag-transport.version}
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+
+ org.springframework.boot
+ spring-boot-starter-validation
+
+
+ org.springframework.boot
+ spring-boot-devtools
+ runtime
+
+
+
+ org.springframework.kafka
+ spring-kafka
+
+
+
+
+ org.apache.httpcomponents.client5
+ httpclient5
+
+
+
+ commons-codec
+ commons-codec
+ ${commons-codec.version}
+
+
+
+
org.jetbrains.kotlin
- kotlin-maven-allopen
+ kotlin-stdlib-jdk8
${kotlin.version}
-
-
+
+
+
+ io.github.microutils
+ kotlin-logging-jvm
+ ${kotlin-logging-jvm.version}
+
+
+
+
+ org.springdoc
+ springdoc-openapi-starter-webmvc-ui
+ ${springdoc-openapi-ui.version}
+
+
+
+
+ ch.qos.logback
+ logback-core
+
+
+
+ ch.qos.logback
+ logback-classic
+
+
+
+ net.logstash.logback
+ logstash-logback-encoder
+ ${logback-encoder.version}
+
+
+ com.fasterxml.jackson-core
+ jackson-databind
+
+
+
+
+
+ org.slf4j
+ slf4j-api
+
+
+
+
+ org.aspectj
+ aspectjweaver
+
+
+
+
+ no.nav.bidrag
+ bidrag-commons-test
+ ${bidrag-commons-test.version}
+ test
+
+
+
+ org.awaitility
+ awaitility-kotlin
+ 4.2.0
+ test
+
+
+ no.nav.security
+ token-validation-spring-test
+ ${token-support.version}
+ test
+
+
+ com.squareup.okhttp3
+ mockwebserver
+ ${squareup.version}
+ test
+
+
+ com.squareup.okhttp3
+ okhttp
+ ${squareup.version}
+ test
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-contract-stub-runner
+ ${springframework-cloud.version}
+ test
+
+
+ com.google.guava
+ guava
+
+
+ commons-collections
+ commons-collections
+
+
+
+
+
+ org.springframework.kafka
+ spring-kafka-test
+ test
+
+
+ io.kotest
+ kotest-assertions-core-jvm
+ 5.6.1
+ test
+
+
+ com.ninja-squad
+ springmockk
+ 4.0.2
+ test
+
+
org.jetbrains.kotlin
- kotlin-maven-noarg
+ kotlin-test
${kotlin.version}
-
-
-
-
-
- org.codehaus.mojo
- build-helper-maven-plugin
- ${build-helper-maven.version}
-
-
- remove-old-artifacts
- package
-
- remove-project-artifact
-
-
- true
-
-
-
-
-
- org.apache.maven.plugins
- maven-antrun-plugin
- 3.1.0
-
-
- ktlint
- verify
-
-
-
-
-
-
-
-
- run
-
-
-
- ktlint-format
- validate
-
-
-
-
-
-
-
-
-
-
-
- run
-
-
-
-
-
- com.pinterest
- ktlint
- 0.47.1
-
-
-
-
+ test
+
+
+
-
-
+
+ app
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+ org.jetbrains.kotlin
+ kotlin-maven-plugin
+ ${kotlin.version}
+
+
+ compile
+ process-sources
+
+ compile
+
+
+
+
+
+
+
+
+
+ test-compile
+ process-test-sources
+
+ test-compile
+
+
+
+
+
+
+
+
+
+
+ 21
+
+ spring
+
+
+
+
+ org.jetbrains.kotlin
+ kotlin-maven-allopen
+ ${kotlin.version}
+
+
+ org.jetbrains.kotlin
+ kotlin-maven-noarg
+ ${kotlin.version}
+
+
+
+
+
+ org.codehaus.mojo
+ build-helper-maven-plugin
+ ${build-helper-maven.version}
+
+
+ remove-old-artifacts
+ package
+
+ remove-project-artifact
+
+
+ true
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-antrun-plugin
+ 3.1.0
+
+
+ ktlint
+ verify
+
+
+
+
+
+
+
+
+
+ run
+
+
+
+ ktlint-format
+ validate
+
+
+
+
+
+
+
+
+
+
+
+
+ run
+
+
+
+
+
+ com.pinterest.ktlint
+ ktlint-cli
+ 1.0.1
+
+
+
+
+
+
+
diff --git a/src/main/java/no/nav/bidrag/dokument/arkiv/BidragDokumentArkivConfig.kt b/src/main/java/no/nav/bidrag/dokument/arkiv/BidragDokumentArkivConfig.kt
index d9c80964..60427e5a 100644
--- a/src/main/java/no/nav/bidrag/dokument/arkiv/BidragDokumentArkivConfig.kt
+++ b/src/main/java/no/nav/bidrag/dokument/arkiv/BidragDokumentArkivConfig.kt
@@ -1,373 +1,373 @@
-package no.nav.bidrag.dokument.arkiv
-
-import com.fasterxml.jackson.databind.ObjectMapper
-import io.swagger.v3.oas.annotations.OpenAPIDefinition
-import io.swagger.v3.oas.annotations.enums.SecuritySchemeType
-import io.swagger.v3.oas.annotations.info.Info
-import io.swagger.v3.oas.annotations.security.SecurityRequirement
-import io.swagger.v3.oas.annotations.security.SecurityScheme
-import no.nav.bidrag.commons.security.api.EnableSecurityConfiguration
-import no.nav.bidrag.commons.security.service.SecurityTokenService
-import no.nav.bidrag.commons.security.service.StsTokenService
-import no.nav.bidrag.commons.web.CorrelationIdFilter
-import no.nav.bidrag.commons.web.DefaultCorsFilter
-import no.nav.bidrag.commons.web.HttpHeaderRestTemplate
-import no.nav.bidrag.commons.web.MdcFilter
-import no.nav.bidrag.commons.web.UserMdcFilter
-import no.nav.bidrag.dokument.arkiv.consumer.BidragOrganisasjonConsumer
-import no.nav.bidrag.dokument.arkiv.consumer.DokarkivConsumer
-import no.nav.bidrag.dokument.arkiv.consumer.DokarkivKnyttTilSakConsumer
-import no.nav.bidrag.dokument.arkiv.consumer.DokdistFordelingConsumer
-import no.nav.bidrag.dokument.arkiv.consumer.OppgaveConsumer
-import no.nav.bidrag.dokument.arkiv.consumer.PersonConsumer
-import no.nav.bidrag.dokument.arkiv.consumer.SafConsumer
-import no.nav.bidrag.dokument.arkiv.kafka.HendelserProducer
-import no.nav.bidrag.dokument.arkiv.model.Discriminator
-import no.nav.bidrag.dokument.arkiv.model.ResourceByDiscriminator
-import no.nav.bidrag.dokument.arkiv.security.SaksbehandlerInfoManager
-import no.nav.bidrag.dokument.arkiv.service.EndreJournalpostService
-import no.nav.bidrag.dokument.arkiv.service.JournalpostService
-import no.nav.bidrag.dokument.arkiv.service.OppgaveService
-import org.slf4j.LoggerFactory
-import org.springframework.beans.factory.annotation.Qualifier
-import org.springframework.beans.factory.annotation.Value
-import org.springframework.boot.web.client.RootUriTemplateHandler
-import org.springframework.context.annotation.Bean
-import org.springframework.context.annotation.Configuration
-import org.springframework.context.annotation.Import
-import org.springframework.context.annotation.Scope
-import org.springframework.http.HttpHeaders
-import org.springframework.http.MediaType
-import org.springframework.retry.annotation.EnableRetry
-
-@Configuration
-@EnableSecurityConfiguration
-@EnableRetry
-@OpenAPIDefinition(
- info = Info(title = "bidrag-dokument-arkiv", version = "v1"),
- security = [SecurityRequirement(name = "bearer-key")]
-)
-@SecurityScheme(
- bearerFormat = "JWT",
- name = "bearer-key",
- scheme = "bearer",
- type = SecuritySchemeType.HTTP
-)
-@Import(
- CorrelationIdFilter::class,
- DefaultCorsFilter::class,
- UserMdcFilter::class,
- StsTokenService::class,
- MdcFilter::class
-)
-class BidragDokumentArkivConfig {
- @Bean
- @Scope("prototype")
- fun baseSafConsumer(
- @Qualifier("base") httpHeaderRestTemplate: HttpHeaderRestTemplate,
- environmentProperties: EnvironmentProperties
- ): SafConsumer {
- httpHeaderRestTemplate.uriTemplateHandler =
- RootUriTemplateHandler(environmentProperties.safUrl)
- httpHeaderRestTemplate.addHeaderGenerator(
- HttpHeaders.CONTENT_TYPE
- ) { MediaType.APPLICATION_JSON_VALUE }
- return SafConsumer(httpHeaderRestTemplate)
- }
-
- @Bean
- @Scope("prototype")
- fun baseOppgaveConsumer(
- @Qualifier("base") httpHeaderRestTemplate: HttpHeaderRestTemplate,
- environmentProperties: EnvironmentProperties
- ): OppgaveConsumer {
- httpHeaderRestTemplate.uriTemplateHandler =
- RootUriTemplateHandler(environmentProperties.oppgaveUrl)
- httpHeaderRestTemplate.addHeaderGenerator(
- HttpHeaders.CONTENT_TYPE
- ) { MediaType.APPLICATION_JSON_VALUE }
- return OppgaveConsumer(httpHeaderRestTemplate)
- }
-
- @Bean
- @Scope("prototype")
- fun baseDokarkivConsumer(
- @Qualifier("base") httpHeaderRestTemplate: HttpHeaderRestTemplate,
- environmentProperties: EnvironmentProperties,
- objectMapper: ObjectMapper?
- ): DokarkivConsumer {
- httpHeaderRestTemplate.uriTemplateHandler =
- RootUriTemplateHandler(environmentProperties.dokarkivUrl)
- httpHeaderRestTemplate.addHeaderGenerator(
- HttpHeaders.CONTENT_TYPE
- ) { MediaType.APPLICATION_JSON_VALUE }
- return DokarkivConsumer(httpHeaderRestTemplate, objectMapper)
- }
-
- @Bean
- @Scope("prototype")
- fun dokdistFordelingConsumer(
- @Qualifier("base") httpHeaderRestTemplate: HttpHeaderRestTemplate,
- environmentProperties: EnvironmentProperties,
- objectMapper: ObjectMapper?,
- securityTokenService: SecurityTokenService
- ): DokdistFordelingConsumer {
- httpHeaderRestTemplate.uriTemplateHandler =
- RootUriTemplateHandler(environmentProperties.dokdistFordelingUrl)
- httpHeaderRestTemplate.addHeaderGenerator(
- HttpHeaders.CONTENT_TYPE
- ) { MediaType.APPLICATION_JSON_VALUE }
- val dokdistFordelingConsumer =
- DokdistFordelingConsumer(httpHeaderRestTemplate, objectMapper)
- dokdistFordelingConsumer.leggTilInterceptor(
- securityTokenService.clientCredentialsTokenInterceptor(null)
- )
- return dokdistFordelingConsumer
- }
-
- @Bean
- @Scope("prototype")
- fun basePersonConsumer(
- @Qualifier("base") httpHeaderRestTemplate: HttpHeaderRestTemplate,
- environmentProperties: EnvironmentProperties
- ): PersonConsumer {
- httpHeaderRestTemplate.uriTemplateHandler =
- RootUriTemplateHandler(environmentProperties.bidragPersonUrl + "/bidrag-person")
- return PersonConsumer(httpHeaderRestTemplate)
- }
-
- @Bean
- fun oppgaveService(
- personConsumers: ResourceByDiscriminator,
- oppgaveConsumers: ResourceByDiscriminator,
- saksbehandlerInfoManager: SaksbehandlerInfoManager
- ): OppgaveService {
- return OppgaveService(personConsumers, oppgaveConsumers, saksbehandlerInfoManager)
- }
-
- @Bean
- fun endreJournalpostService(
- journalpostServices: ResourceByDiscriminator,
- dokarkivConsumers: ResourceByDiscriminator,
- dokarkivKnyttTilSakConsumer: DokarkivKnyttTilSakConsumer,
- hendelserProducer: HendelserProducer,
- saksbehandlerInfoManager: SaksbehandlerInfoManager
- ): EndreJournalpostService {
- return EndreJournalpostService(
- journalpostServices.get(Discriminator.REGULAR_USER),
- dokarkivConsumers.get(Discriminator.REGULAR_USER),
- dokarkivKnyttTilSakConsumer,
- hendelserProducer,
- saksbehandlerInfoManager
- )
- }
-
- @Bean
- fun journalpostServices(
- safConsumers: ResourceByDiscriminator,
- personConsumers: ResourceByDiscriminator
- ): ResourceByDiscriminator {
- val journalpostServiceRegularUser = JournalpostService(
- safConsumers.get(Discriminator.REGULAR_USER),
- personConsumers.get(Discriminator.SERVICE_USER)
- )
- val journalpostServiceServiceUser = JournalpostService(
- safConsumers.get(Discriminator.SERVICE_USER),
- personConsumers.get(Discriminator.SERVICE_USER)
- )
- val journalpostServices = HashMap()
- journalpostServices[Discriminator.REGULAR_USER] =
- journalpostServiceRegularUser
- journalpostServices[Discriminator.SERVICE_USER] = journalpostServiceServiceUser
- return ResourceByDiscriminator(journalpostServices)
- }
-
- @Bean
- fun safConsumers(
- safConsumerRegularUser: SafConsumer,
- safConsumerServiceUser: SafConsumer,
- securityTokenService: SecurityTokenService
- ): ResourceByDiscriminator {
- safConsumerRegularUser.leggTilInterceptor(securityTokenService.authTokenInterceptor("saf"))
- safConsumerServiceUser.leggTilInterceptor(
- securityTokenService.clientCredentialsTokenInterceptor("saf")
- )
- val safConsumers = HashMap()
- safConsumers[Discriminator.REGULAR_USER] =
- safConsumerRegularUser
- safConsumers[Discriminator.SERVICE_USER] = safConsumerServiceUser
- return ResourceByDiscriminator(safConsumers)
- }
-
- @Bean
- fun oppgaveConsumers(
- oppgaveConsumerRegularUser: OppgaveConsumer,
- oppgaveConsumerServiceUser: OppgaveConsumer,
- securityTokenService: SecurityTokenService
- ): ResourceByDiscriminator {
- oppgaveConsumerRegularUser.leggTilInterceptor(
- securityTokenService.authTokenInterceptor("oppgave")
- )
- oppgaveConsumerServiceUser.leggTilInterceptor(
- securityTokenService.clientCredentialsTokenInterceptor("oppgave")
- )
- val safConsumers = HashMap()
- safConsumers[Discriminator.REGULAR_USER] = oppgaveConsumerRegularUser
- safConsumers[Discriminator.SERVICE_USER] = oppgaveConsumerServiceUser
- return ResourceByDiscriminator(safConsumers)
- }
-
- @Bean
- fun personConsumers(
- personConsumerRegularUser: PersonConsumer,
- personConsumerServiceUser: PersonConsumer,
- securityTokenService: SecurityTokenService
- ): ResourceByDiscriminator {
- personConsumerRegularUser.leggTilInterceptor(
- securityTokenService.authTokenInterceptor("bidrag-person")
- )
- personConsumerServiceUser.leggTilInterceptor(
- securityTokenService.clientCredentialsTokenInterceptor("bidrag-person")
- )
- val personConsumers = HashMap()
- personConsumers[Discriminator.REGULAR_USER] = personConsumerRegularUser
- personConsumers[Discriminator.SERVICE_USER] =
- personConsumerServiceUser
- return ResourceByDiscriminator(personConsumers)
- }
-
- @Bean
- fun dokarkivKnyttTilSakConsumer(
- @Qualifier("base") httpHeaderRestTemplate: HttpHeaderRestTemplate,
- environmentProperties: EnvironmentProperties,
- securityTokenService: SecurityTokenService
- ): DokarkivKnyttTilSakConsumer {
- httpHeaderRestTemplate.uriTemplateHandler =
- RootUriTemplateHandler(environmentProperties.dokarkivKnyttTilSakUrl)
- httpHeaderRestTemplate.addHeaderGenerator(
- HttpHeaders.CONTENT_TYPE
- ) { MediaType.APPLICATION_JSON_VALUE }
- val dokarkivKnyttTilSakConsumer = DokarkivKnyttTilSakConsumer(httpHeaderRestTemplate)
- dokarkivKnyttTilSakConsumer.leggTilInterceptor(
- securityTokenService.authTokenInterceptor("dokarkiv")
- )
- return dokarkivKnyttTilSakConsumer
- }
-
- @Bean
- fun dokarkivConsumers(
- dokarkivConsumerRegularUser: DokarkivConsumer,
- dokarkivConsumerServiceUser: DokarkivConsumer,
- securityTokenService: SecurityTokenService
- ): ResourceByDiscriminator {
- dokarkivConsumerRegularUser.leggTilInterceptor(
- securityTokenService.authTokenInterceptor("dokarkiv")
- )
- dokarkivConsumerServiceUser.leggTilInterceptor(
- securityTokenService.clientCredentialsTokenInterceptor("dokarkiv")
- )
- val dokarkivConsumers = HashMap()
- dokarkivConsumers[Discriminator.REGULAR_USER] = dokarkivConsumerRegularUser
- dokarkivConsumers[Discriminator.SERVICE_USER] = dokarkivConsumerServiceUser
- return ResourceByDiscriminator(dokarkivConsumers)
- }
-
- @Bean
- fun bidragOrganisasjonConsumer(
- httpHeaderRestTemplate: HttpHeaderRestTemplate,
- securityTokenService: SecurityTokenService,
- environmentProperties: EnvironmentProperties
- ): BidragOrganisasjonConsumer {
- httpHeaderRestTemplate.uriTemplateHandler = RootUriTemplateHandler(
- environmentProperties.bidragOrganisasjonUrl + "/bidrag-organisasjon"
- )
- httpHeaderRestTemplate
- .interceptors
- .add(securityTokenService.clientCredentialsTokenInterceptor("bidrag-organisasjon"))
- return BidragOrganisasjonConsumer(httpHeaderRestTemplate)
- }
-
- @Bean
- fun environmentProperties(
- @Value("\${DOKARKIV_URL}") dokarkivUrl: String,
- @Value("\${DOKARKIV_KNYTT_TIL_SAK_URL}") dokarkivKnyttTilSakUrl: String,
- @Value("\${DOKDISTFORDELING_URL}") dokdistFordelingUrl: String?,
- @Value("\${BIDRAG_PERSON_URL}") bidragPersonUrl: String,
- @Value("\${SAF_URL}") safUrl: String,
- @Value("\${OPPGAVE_URL}") oppgaveUrl: String?,
- @Value("\${SRV_BD_ARKIV_AUTH}") secretForServiceUser: String,
- @Value("\${ACCESS_TOKEN_URL}") securityTokenUrl: String,
- @Value("\${BIDRAG_ORGANISASJON_URL}") bidragOrganisasjonUrl: String,
- @Value("\${NAIS_APP_NAME}") naisAppName: String
- ): EnvironmentProperties {
- val environmentProperties = EnvironmentProperties(
- dokdistFordelingUrl,
- dokarkivUrl,
- dokarkivKnyttTilSakUrl,
- safUrl,
- oppgaveUrl,
- secretForServiceUser,
- securityTokenUrl,
- naisAppName,
- bidragPersonUrl,
- bidragOrganisasjonUrl
- )
- LOGGER.info(String.format("> Environment: %s", environmentProperties))
- return environmentProperties
- }
-
- class EnvironmentProperties(
- val dokdistFordelingUrl: String?,
- val dokarkivUrl: String,
- val dokarkivKnyttTilSakUrl: String,
- val safUrl: String,
- val oppgaveUrl: String?,
- val secretForServiceUser: String,
- val securityTokenUrl: String,
- val naisAppName: String,
- val bidragPersonUrl: String,
- val bidragOrganisasjonUrl: String
- ) {
- override fun toString(): String {
- return (
- "dokarkivUrl='" +
- dokarkivUrl +
- '\'' +
- ", safUrl='" +
- safUrl +
- '\'' +
- ", bidragPersonUrl='" +
- bidragPersonUrl +
- '\'' +
- ", dokarkivKnyttTilSakUrl='" +
- dokarkivKnyttTilSakUrl +
- '\'' +
- ", securityTokenUrl='" +
- securityTokenUrl +
- '\'' +
- ", bidragOrganisasjonUrl='" +
- bidragOrganisasjonUrl +
- '\'' +
- ", naisAppName='" +
- naisAppName +
- '\'' +
- ", secretForServiceUser '" +
- notActualValue() +
- "'."
- )
- }
-
- private fun notActualValue(): String {
- return if ("No authentication available" == secretForServiceUser) "is not initialized" else "seems to be initialized by init_srvbdarkiv.sh"
- }
- }
-
- companion object {
- private val LOGGER = LoggerFactory.getLogger(
- BidragDokumentArkivConfig::class.java
- )
- const val PROFILE_LIVE = "live"
- const val PROFILE_KAFKA_TEST = "kafka_test"
- const val PROFILE_TEST = "test"
- }
-}
+package no.nav.bidrag.dokument.arkiv
+
+import com.fasterxml.jackson.databind.ObjectMapper
+import io.swagger.v3.oas.annotations.OpenAPIDefinition
+import io.swagger.v3.oas.annotations.enums.SecuritySchemeType
+import io.swagger.v3.oas.annotations.info.Info
+import io.swagger.v3.oas.annotations.security.SecurityRequirement
+import io.swagger.v3.oas.annotations.security.SecurityScheme
+import no.nav.bidrag.commons.security.api.EnableSecurityConfiguration
+import no.nav.bidrag.commons.security.service.SecurityTokenService
+import no.nav.bidrag.commons.security.service.StsTokenService
+import no.nav.bidrag.commons.web.CorrelationIdFilter
+import no.nav.bidrag.commons.web.DefaultCorsFilter
+import no.nav.bidrag.commons.web.HttpHeaderRestTemplate
+import no.nav.bidrag.commons.web.MdcFilter
+import no.nav.bidrag.commons.web.UserMdcFilter
+import no.nav.bidrag.dokument.arkiv.consumer.BidragOrganisasjonConsumer
+import no.nav.bidrag.dokument.arkiv.consumer.DokarkivConsumer
+import no.nav.bidrag.dokument.arkiv.consumer.DokarkivKnyttTilSakConsumer
+import no.nav.bidrag.dokument.arkiv.consumer.DokdistFordelingConsumer
+import no.nav.bidrag.dokument.arkiv.consumer.OppgaveConsumer
+import no.nav.bidrag.dokument.arkiv.consumer.PersonConsumer
+import no.nav.bidrag.dokument.arkiv.consumer.SafConsumer
+import no.nav.bidrag.dokument.arkiv.kafka.HendelserProducer
+import no.nav.bidrag.dokument.arkiv.model.Discriminator
+import no.nav.bidrag.dokument.arkiv.model.ResourceByDiscriminator
+import no.nav.bidrag.dokument.arkiv.security.SaksbehandlerInfoManager
+import no.nav.bidrag.dokument.arkiv.service.EndreJournalpostService
+import no.nav.bidrag.dokument.arkiv.service.JournalpostService
+import no.nav.bidrag.dokument.arkiv.service.OppgaveService
+import org.slf4j.LoggerFactory
+import org.springframework.beans.factory.annotation.Qualifier
+import org.springframework.beans.factory.annotation.Value
+import org.springframework.boot.web.client.RootUriTemplateHandler
+import org.springframework.context.annotation.Bean
+import org.springframework.context.annotation.Configuration
+import org.springframework.context.annotation.Import
+import org.springframework.context.annotation.Scope
+import org.springframework.http.HttpHeaders
+import org.springframework.http.MediaType
+import org.springframework.retry.annotation.EnableRetry
+
+@Configuration
+@EnableSecurityConfiguration
+@EnableRetry
+@OpenAPIDefinition(
+ info = Info(title = "bidrag-dokument-arkiv", version = "v1"),
+ security = [SecurityRequirement(name = "bearer-key")],
+)
+@SecurityScheme(
+ bearerFormat = "JWT",
+ name = "bearer-key",
+ scheme = "bearer",
+ type = SecuritySchemeType.HTTP,
+)
+@Import(
+ CorrelationIdFilter::class,
+ DefaultCorsFilter::class,
+ UserMdcFilter::class,
+ StsTokenService::class,
+ MdcFilter::class,
+)
+class BidragDokumentArkivConfig {
+ @Bean
+ @Scope("prototype")
+ fun baseSafConsumer(
+ @Qualifier("base") httpHeaderRestTemplate: HttpHeaderRestTemplate,
+ environmentProperties: EnvironmentProperties,
+ ): SafConsumer {
+ httpHeaderRestTemplate.uriTemplateHandler =
+ RootUriTemplateHandler(environmentProperties.safUrl)
+ httpHeaderRestTemplate.addHeaderGenerator(
+ HttpHeaders.CONTENT_TYPE,
+ ) { MediaType.APPLICATION_JSON_VALUE }
+ return SafConsumer(httpHeaderRestTemplate)
+ }
+
+ @Bean
+ @Scope("prototype")
+ fun baseOppgaveConsumer(
+ @Qualifier("base") httpHeaderRestTemplate: HttpHeaderRestTemplate,
+ environmentProperties: EnvironmentProperties,
+ ): OppgaveConsumer {
+ httpHeaderRestTemplate.uriTemplateHandler =
+ RootUriTemplateHandler(environmentProperties.oppgaveUrl)
+ httpHeaderRestTemplate.addHeaderGenerator(
+ HttpHeaders.CONTENT_TYPE,
+ ) { MediaType.APPLICATION_JSON_VALUE }
+ return OppgaveConsumer(httpHeaderRestTemplate)
+ }
+
+ @Bean
+ @Scope("prototype")
+ fun baseDokarkivConsumer(
+ @Qualifier("base") httpHeaderRestTemplate: HttpHeaderRestTemplate,
+ environmentProperties: EnvironmentProperties,
+ objectMapper: ObjectMapper?,
+ ): DokarkivConsumer {
+ httpHeaderRestTemplate.uriTemplateHandler =
+ RootUriTemplateHandler(environmentProperties.dokarkivUrl)
+ httpHeaderRestTemplate.addHeaderGenerator(
+ HttpHeaders.CONTENT_TYPE,
+ ) { MediaType.APPLICATION_JSON_VALUE }
+ return DokarkivConsumer(httpHeaderRestTemplate, objectMapper)
+ }
+
+ @Bean
+ @Scope("prototype")
+ fun dokdistFordelingConsumer(
+ @Qualifier("base") httpHeaderRestTemplate: HttpHeaderRestTemplate,
+ environmentProperties: EnvironmentProperties,
+ objectMapper: ObjectMapper?,
+ securityTokenService: SecurityTokenService,
+ ): DokdistFordelingConsumer {
+ httpHeaderRestTemplate.uriTemplateHandler =
+ RootUriTemplateHandler(environmentProperties.dokdistFordelingUrl)
+ httpHeaderRestTemplate.addHeaderGenerator(
+ HttpHeaders.CONTENT_TYPE,
+ ) { MediaType.APPLICATION_JSON_VALUE }
+ val dokdistFordelingConsumer =
+ DokdistFordelingConsumer(httpHeaderRestTemplate, objectMapper)
+ dokdistFordelingConsumer.leggTilInterceptor(
+ securityTokenService.clientCredentialsTokenInterceptor(null),
+ )
+ return dokdistFordelingConsumer
+ }
+
+ @Bean
+ @Scope("prototype")
+ fun basePersonConsumer(
+ @Qualifier("base") httpHeaderRestTemplate: HttpHeaderRestTemplate,
+ environmentProperties: EnvironmentProperties,
+ ): PersonConsumer {
+ httpHeaderRestTemplate.uriTemplateHandler =
+ RootUriTemplateHandler(environmentProperties.bidragPersonUrl + "/bidrag-person")
+ return PersonConsumer(httpHeaderRestTemplate)
+ }
+
+ @Bean
+ fun oppgaveService(
+ personConsumers: ResourceByDiscriminator,
+ oppgaveConsumers: ResourceByDiscriminator,
+ saksbehandlerInfoManager: SaksbehandlerInfoManager,
+ ): OppgaveService {
+ return OppgaveService(personConsumers, oppgaveConsumers, saksbehandlerInfoManager)
+ }
+
+ @Bean
+ fun endreJournalpostService(
+ journalpostServices: ResourceByDiscriminator,
+ dokarkivConsumers: ResourceByDiscriminator,
+ dokarkivKnyttTilSakConsumer: DokarkivKnyttTilSakConsumer,
+ hendelserProducer: HendelserProducer,
+ saksbehandlerInfoManager: SaksbehandlerInfoManager,
+ ): EndreJournalpostService {
+ return EndreJournalpostService(
+ journalpostServices.get(Discriminator.REGULAR_USER),
+ dokarkivConsumers.get(Discriminator.REGULAR_USER),
+ dokarkivKnyttTilSakConsumer,
+ hendelserProducer,
+ saksbehandlerInfoManager,
+ )
+ }
+
+ @Bean
+ fun journalpostServices(
+ safConsumers: ResourceByDiscriminator,
+ personConsumers: ResourceByDiscriminator,
+ ): ResourceByDiscriminator {
+ val journalpostServiceRegularUser = JournalpostService(
+ safConsumers.get(Discriminator.REGULAR_USER),
+ personConsumers.get(Discriminator.SERVICE_USER),
+ )
+ val journalpostServiceServiceUser = JournalpostService(
+ safConsumers.get(Discriminator.SERVICE_USER),
+ personConsumers.get(Discriminator.SERVICE_USER),
+ )
+ val journalpostServices = HashMap()
+ journalpostServices[Discriminator.REGULAR_USER] =
+ journalpostServiceRegularUser
+ journalpostServices[Discriminator.SERVICE_USER] = journalpostServiceServiceUser
+ return ResourceByDiscriminator(journalpostServices)
+ }
+
+ @Bean
+ fun safConsumers(
+ safConsumerRegularUser: SafConsumer,
+ safConsumerServiceUser: SafConsumer,
+ securityTokenService: SecurityTokenService,
+ ): ResourceByDiscriminator {
+ safConsumerRegularUser.leggTilInterceptor(securityTokenService.authTokenInterceptor("saf"))
+ safConsumerServiceUser.leggTilInterceptor(
+ securityTokenService.clientCredentialsTokenInterceptor("saf"),
+ )
+ val safConsumers = HashMap()
+ safConsumers[Discriminator.REGULAR_USER] =
+ safConsumerRegularUser
+ safConsumers[Discriminator.SERVICE_USER] = safConsumerServiceUser
+ return ResourceByDiscriminator(safConsumers)
+ }
+
+ @Bean
+ fun oppgaveConsumers(
+ oppgaveConsumerRegularUser: OppgaveConsumer,
+ oppgaveConsumerServiceUser: OppgaveConsumer,
+ securityTokenService: SecurityTokenService,
+ ): ResourceByDiscriminator {
+ oppgaveConsumerRegularUser.leggTilInterceptor(
+ securityTokenService.authTokenInterceptor("oppgave"),
+ )
+ oppgaveConsumerServiceUser.leggTilInterceptor(
+ securityTokenService.clientCredentialsTokenInterceptor("oppgave"),
+ )
+ val safConsumers = HashMap()
+ safConsumers[Discriminator.REGULAR_USER] = oppgaveConsumerRegularUser
+ safConsumers[Discriminator.SERVICE_USER] = oppgaveConsumerServiceUser
+ return ResourceByDiscriminator(safConsumers)
+ }
+
+ @Bean
+ fun personConsumers(
+ personConsumerRegularUser: PersonConsumer,
+ personConsumerServiceUser: PersonConsumer,
+ securityTokenService: SecurityTokenService,
+ ): ResourceByDiscriminator {
+ personConsumerRegularUser.leggTilInterceptor(
+ securityTokenService.authTokenInterceptor("bidrag-person"),
+ )
+ personConsumerServiceUser.leggTilInterceptor(
+ securityTokenService.clientCredentialsTokenInterceptor("bidrag-person"),
+ )
+ val personConsumers = HashMap()
+ personConsumers[Discriminator.REGULAR_USER] = personConsumerRegularUser
+ personConsumers[Discriminator.SERVICE_USER] =
+ personConsumerServiceUser
+ return ResourceByDiscriminator(personConsumers)
+ }
+
+ @Bean
+ fun dokarkivKnyttTilSakConsumer(
+ @Qualifier("base") httpHeaderRestTemplate: HttpHeaderRestTemplate,
+ environmentProperties: EnvironmentProperties,
+ securityTokenService: SecurityTokenService,
+ ): DokarkivKnyttTilSakConsumer {
+ httpHeaderRestTemplate.uriTemplateHandler =
+ RootUriTemplateHandler(environmentProperties.dokarkivKnyttTilSakUrl)
+ httpHeaderRestTemplate.addHeaderGenerator(
+ HttpHeaders.CONTENT_TYPE,
+ ) { MediaType.APPLICATION_JSON_VALUE }
+ val dokarkivKnyttTilSakConsumer = DokarkivKnyttTilSakConsumer(httpHeaderRestTemplate)
+ dokarkivKnyttTilSakConsumer.leggTilInterceptor(
+ securityTokenService.authTokenInterceptor("dokarkiv"),
+ )
+ return dokarkivKnyttTilSakConsumer
+ }
+
+ @Bean
+ fun dokarkivConsumers(
+ dokarkivConsumerRegularUser: DokarkivConsumer,
+ dokarkivConsumerServiceUser: DokarkivConsumer,
+ securityTokenService: SecurityTokenService,
+ ): ResourceByDiscriminator {
+ dokarkivConsumerRegularUser.leggTilInterceptor(
+ securityTokenService.authTokenInterceptor("dokarkiv"),
+ )
+ dokarkivConsumerServiceUser.leggTilInterceptor(
+ securityTokenService.clientCredentialsTokenInterceptor("dokarkiv"),
+ )
+ val dokarkivConsumers = HashMap()
+ dokarkivConsumers[Discriminator.REGULAR_USER] = dokarkivConsumerRegularUser
+ dokarkivConsumers[Discriminator.SERVICE_USER] = dokarkivConsumerServiceUser
+ return ResourceByDiscriminator(dokarkivConsumers)
+ }
+
+ @Bean
+ fun bidragOrganisasjonConsumer(
+ httpHeaderRestTemplate: HttpHeaderRestTemplate,
+ securityTokenService: SecurityTokenService,
+ environmentProperties: EnvironmentProperties,
+ ): BidragOrganisasjonConsumer {
+ httpHeaderRestTemplate.uriTemplateHandler = RootUriTemplateHandler(
+ environmentProperties.bidragOrganisasjonUrl + "/bidrag-organisasjon",
+ )
+ httpHeaderRestTemplate
+ .interceptors
+ .add(securityTokenService.clientCredentialsTokenInterceptor("bidrag-organisasjon"))
+ return BidragOrganisasjonConsumer(httpHeaderRestTemplate)
+ }
+
+ @Bean
+ fun environmentProperties(
+ @Value("\${DOKARKIV_URL}") dokarkivUrl: String,
+ @Value("\${DOKARKIV_KNYTT_TIL_SAK_URL}") dokarkivKnyttTilSakUrl: String,
+ @Value("\${DOKDISTFORDELING_URL}") dokdistFordelingUrl: String?,
+ @Value("\${BIDRAG_PERSON_URL}") bidragPersonUrl: String,
+ @Value("\${SAF_URL}") safUrl: String,
+ @Value("\${OPPGAVE_URL}") oppgaveUrl: String?,
+ @Value("\${SRV_BD_ARKIV_AUTH}") secretForServiceUser: String,
+ @Value("\${ACCESS_TOKEN_URL}") securityTokenUrl: String,
+ @Value("\${BIDRAG_ORGANISASJON_URL}") bidragOrganisasjonUrl: String,
+ @Value("\${NAIS_APP_NAME}") naisAppName: String,
+ ): EnvironmentProperties {
+ val environmentProperties = EnvironmentProperties(
+ dokdistFordelingUrl,
+ dokarkivUrl,
+ dokarkivKnyttTilSakUrl,
+ safUrl,
+ oppgaveUrl,
+ secretForServiceUser,
+ securityTokenUrl,
+ naisAppName,
+ bidragPersonUrl,
+ bidragOrganisasjonUrl,
+ )
+ LOGGER.info(String.format("> Environment: %s", environmentProperties))
+ return environmentProperties
+ }
+
+ class EnvironmentProperties(
+ val dokdistFordelingUrl: String?,
+ val dokarkivUrl: String,
+ val dokarkivKnyttTilSakUrl: String,
+ val safUrl: String,
+ val oppgaveUrl: String?,
+ val secretForServiceUser: String,
+ val securityTokenUrl: String,
+ val naisAppName: String,
+ val bidragPersonUrl: String,
+ val bidragOrganisasjonUrl: String,
+ ) {
+ override fun toString(): String {
+ return (
+ "dokarkivUrl='" +
+ dokarkivUrl +
+ '\'' +
+ ", safUrl='" +
+ safUrl +
+ '\'' +
+ ", bidragPersonUrl='" +
+ bidragPersonUrl +
+ '\'' +
+ ", dokarkivKnyttTilSakUrl='" +
+ dokarkivKnyttTilSakUrl +
+ '\'' +
+ ", securityTokenUrl='" +
+ securityTokenUrl +
+ '\'' +
+ ", bidragOrganisasjonUrl='" +
+ bidragOrganisasjonUrl +
+ '\'' +
+ ", naisAppName='" +
+ naisAppName +
+ '\'' +
+ ", secretForServiceUser '" +
+ notActualValue() +
+ "'."
+ )
+ }
+
+ private fun notActualValue(): String {
+ return if ("No authentication available" == secretForServiceUser) "is not initialized" else "seems to be initialized by init_srvbdarkiv.sh"
+ }
+ }
+
+ companion object {
+ private val LOGGER = LoggerFactory.getLogger(
+ BidragDokumentArkivConfig::class.java,
+ )
+ const val PROFILE_LIVE = "live"
+ const val PROFILE_KAFKA_TEST = "kafka_test"
+ const val PROFILE_TEST = "test"
+ }
+}
diff --git a/src/main/java/no/nav/bidrag/dokument/arkiv/RestTemplateConfiguration.kt b/src/main/java/no/nav/bidrag/dokument/arkiv/RestTemplateConfiguration.kt
index 3160af0d..27c6261d 100644
--- a/src/main/java/no/nav/bidrag/dokument/arkiv/RestTemplateConfiguration.kt
+++ b/src/main/java/no/nav/bidrag/dokument/arkiv/RestTemplateConfiguration.kt
@@ -20,13 +20,13 @@ class RestTemplateConfiguration {
@Scope("prototype")
fun restTemplate(
environmentProperties: EnvironmentProperties,
- observationRestTemplateCustomizer: ObservationRestTemplateCustomizer
+ observationRestTemplateCustomizer: ObservationRestTemplateCustomizer,
): HttpHeaderRestTemplate {
val httpHeaderRestTemplate = HttpHeaderRestTemplate()
httpHeaderRestTemplate.requestFactory = HttpComponentsClientHttpRequestFactory()
httpHeaderRestTemplate.withDefaultHeaders()
httpHeaderRestTemplate.addHeaderGenerator(
- "Nav-Callid"
+ "Nav-Callid",
) { CorrelationId.fetchCorrelationIdForThread() }
httpHeaderRestTemplate.addHeaderGenerator("Nav-Consumer-Id") { environmentProperties.naisAppName }
observationRestTemplateCustomizer.customize(httpHeaderRestTemplate)
diff --git a/src/main/java/no/nav/bidrag/dokument/arkiv/aop/HttpStatusRestControllerAdvice.kt b/src/main/java/no/nav/bidrag/dokument/arkiv/aop/HttpStatusRestControllerAdvice.kt
index d252dae1..8e2128bf 100644
--- a/src/main/java/no/nav/bidrag/dokument/arkiv/aop/HttpStatusRestControllerAdvice.kt
+++ b/src/main/java/no/nav/bidrag/dokument/arkiv/aop/HttpStatusRestControllerAdvice.kt
@@ -26,19 +26,21 @@ import org.springframework.web.method.annotation.MethodArgumentTypeMismatchExcep
@RestControllerAdvice
class HttpStatusRestControllerAdvice {
@ResponseBody
- @ExceptionHandler(value = [IllegalArgumentException::class, MethodArgumentTypeMismatchException::class, ConversionFailedException::class, HttpMessageNotReadableException::class])
+ @ExceptionHandler(
+ value = [IllegalArgumentException::class, MethodArgumentTypeMismatchException::class, ConversionFailedException::class, HttpMessageNotReadableException::class],
+ )
fun handleInvalidValueExceptions(exception: Exception): ResponseEntity<*> {
val valideringsFeil = hentForespørselValideringsfeil(exception)
LOGGER.warn(
"Forespørselen inneholder ugyldig verdi: ${valideringsFeil ?: "ukjent feil"}",
- exception
+ exception,
)
return ResponseEntity
.status(HttpStatus.BAD_REQUEST)
.header(
HttpHeaders.WARNING,
- valideringsFeil ?: exception.message
+ valideringsFeil ?: exception.message,
)
.build()
}
@@ -63,7 +65,7 @@ class HttpStatusRestControllerAdvice {
@ResponseBody
@ExceptionHandler(
- KunneIkkeJournalforeOpprettetJournalpost::class
+ KunneIkkeJournalforeOpprettetJournalpost::class,
)
fun handleBadRequest(exception: Exception): ResponseEntity<*> {
LOGGER.warn(exception.message)
@@ -103,7 +105,7 @@ class HttpStatusRestControllerAdvice {
@ExceptionHandler(
KnyttTilSakManglerTemaException::class,
OppdaterJournalpostFeiletFunksjoneltException::class,
- UgyldigAvvikException::class
+ UgyldigAvvikException::class,
)
fun ugyldigInput(exception: Exception): ResponseEntity<*> {
LOGGER.warn(exception.message)
diff --git a/src/main/java/no/nav/bidrag/dokument/arkiv/consumer/BidragDokumentConsumer.kt b/src/main/java/no/nav/bidrag/dokument/arkiv/consumer/BidragDokumentConsumer.kt
index e560d36e..132d2469 100644
--- a/src/main/java/no/nav/bidrag/dokument/arkiv/consumer/BidragDokumentConsumer.kt
+++ b/src/main/java/no/nav/bidrag/dokument/arkiv/consumer/BidragDokumentConsumer.kt
@@ -16,7 +16,7 @@ private val LOGGER = KotlinLogging.logger {}
@Service
class BidragDokumentConsumer(
@Value("\${BIDRAG_DOKUMENT_URL}") val url: URI,
- @Qualifier("azure") private val restTemplate: RestOperations
+ @Qualifier("azure") private val restTemplate: RestOperations,
) : AbstractRestClient(restTemplate, "bidrag_dokument") {
private val dokumentUrl
@@ -24,13 +24,11 @@ class BidragDokumentConsumer(
UriComponentsBuilder.fromUri(url)
@Retryable(backoff = Backoff(delay = 500, maxDelay = 2000, multiplier = 2.0))
- fun hentDokument(
- dokumentId: String
- ): ByteArray {
+ fun hentDokument(dokumentId: String): ByteArray {
LOGGER.info { "Henter dokument bytedata for dokumentreferanse $dokumentId" }
return getForNonNullEntity(
dokumentUrl.pathSegment("dokumentreferanse").pathSegment(dokumentId)
- .build().toUri()
+ .build().toUri(),
)
}
}
diff --git a/src/main/java/no/nav/bidrag/dokument/arkiv/consumer/DokdistKanalConsumer.kt b/src/main/java/no/nav/bidrag/dokument/arkiv/consumer/DokdistKanalConsumer.kt
index 1c97fc7a..9db9c2f3 100644
--- a/src/main/java/no/nav/bidrag/dokument/arkiv/consumer/DokdistKanalConsumer.kt
+++ b/src/main/java/no/nav/bidrag/dokument/arkiv/consumer/DokdistKanalConsumer.kt
@@ -18,7 +18,7 @@ private val LOGGER = KotlinLogging.logger {}
@Service
class DokdistKanalConsumer(
@Value("\${DOKDISTKANAL_URL}") val url: URI,
- @Qualifier("azure") private val restTemplate: RestOperations
+ @Qualifier("azure") private val restTemplate: RestOperations,
) : AbstractRestClient(restTemplate, "dokdistkanal") {
private val dokdistkanalUrl
@@ -32,15 +32,15 @@ class DokdistKanalConsumer(
gjelderId: String,
mottakerId: String? = null,
tema: String = "BID",
- forsendelseStoerrelse: Int? = null
+ forsendelseStoerrelse: Int? = null,
): BestemKanalResponse = postForNonNullEntity(
dokdistkanalUrl.build().toUri(),
BestemKanalRequest(
brukerId = gjelderId,
mottakerId = mottakerId ?: "11111111111",
tema = tema,
- forsendelseStoerrelse = forsendelseStoerrelse
- )
+ forsendelseStoerrelse = forsendelseStoerrelse,
+ ),
)
}
@@ -49,13 +49,13 @@ data class BestemKanalRequest(
val mottakerId: String,
val erArkivert: Boolean = true,
val tema: String = "BID",
- val forsendelseStoerrelse: Int? = null
+ val forsendelseStoerrelse: Int? = null,
)
data class BestemKanalResponse(
val regel: String,
val regelBegrunnelse: String,
- val distribusjonskanal: DistribusjonsKanal
+ val distribusjonskanal: DistribusjonsKanal,
)
enum class DistribusjonsKanal {
@@ -65,5 +65,5 @@ enum class DistribusjonsKanal {
LOKAL_PRINT,
INGEN_DISTRIBUSJON,
TRYGDERETTEN,
- DPVT
+ DPVT,
}
diff --git a/src/main/java/no/nav/bidrag/dokument/arkiv/consumer/OppgaveConsumer.kt b/src/main/java/no/nav/bidrag/dokument/arkiv/consumer/OppgaveConsumer.kt
index 639046aa..003413fc 100644
--- a/src/main/java/no/nav/bidrag/dokument/arkiv/consumer/OppgaveConsumer.kt
+++ b/src/main/java/no/nav/bidrag/dokument/arkiv/consumer/OppgaveConsumer.kt
@@ -20,14 +20,16 @@ class OppgaveConsumer(restTemplate: RestTemplate?) : AbstractConsumer(restTempla
pathMedParametre,
HttpMethod.GET,
null,
- OppgaveSokResponse::class.java
+ OppgaveSokResponse::class.java,
).body
}
fun opprett(opprettOppgaveRequest: OpprettOppgaveRequest): Long? {
val oppgaveResponse =
restTemplate.postForEntity("/", opprettOppgaveRequest, OppgaveResponse::class.java)
- LOGGER.info("Opprettet oppgave ${opprettOppgaveRequest.javaClass.simpleName} med id=${oppgaveResponse.body?.id} med type ${opprettOppgaveRequest.oppgavetype} og journalpostid ${opprettOppgaveRequest.journalpostId}")
+ LOGGER.info(
+ "Opprettet oppgave ${opprettOppgaveRequest.javaClass.simpleName} med id=${oppgaveResponse.body?.id} med type ${opprettOppgaveRequest.oppgavetype} og journalpostid ${opprettOppgaveRequest.journalpostId}",
+ )
return oppgaveResponse.body?.id
}
@@ -36,7 +38,7 @@ class OppgaveConsumer(restTemplate: RestTemplate?) : AbstractConsumer(restTempla
return restTemplate.patchForObject(
"/${oppgavePatch.id}",
oppgavePatch,
- OppgaveData::class.java
+ OppgaveData::class.java,
)
}
@@ -59,7 +61,7 @@ class OppgaveConsumer(restTemplate: RestTemplate?) : AbstractConsumer(restTempla
"/$oppgaveId",
HttpMethod.GET,
null,
- OppgaveData::class.java
+ OppgaveData::class.java,
).body
}
diff --git a/src/main/java/no/nav/bidrag/dokument/arkiv/consumer/SafConsumer.kt b/src/main/java/no/nav/bidrag/dokument/arkiv/consumer/SafConsumer.kt
index 986044b9..cf35df8e 100644
--- a/src/main/java/no/nav/bidrag/dokument/arkiv/consumer/SafConsumer.kt
+++ b/src/main/java/no/nav/bidrag/dokument/arkiv/consumer/SafConsumer.kt
@@ -31,7 +31,7 @@ open class SafConsumer(private val restTemplate: RestTemplate) {
String.format("/rest/hentdokument/%s/%s/ARKIV", journalpostId, dokumentReferanse),
HttpMethod.GET,
HttpEntity.EMPTY,
- ByteArray::class.java
+ ByteArray::class.java,
)
}
@@ -89,9 +89,9 @@ open class SafConsumer(private val restTemplate: RestTemplate) {
"Query %s med variabler (%s) feilet med feilmelding: %s",
query.javaClass.simpleName,
query.getVariables(),
- message
+ message,
),
- reasonToHttpStatus.status
+ reasonToHttpStatus.status,
)
}
return response
diff --git a/src/main/java/no/nav/bidrag/dokument/arkiv/controller/AvvikController.kt b/src/main/java/no/nav/bidrag/dokument/arkiv/controller/AvvikController.kt
index a9ca6bf5..e9afb3a2 100644
--- a/src/main/java/no/nav/bidrag/dokument/arkiv/controller/AvvikController.kt
+++ b/src/main/java/no/nav/bidrag/dokument/arkiv/controller/AvvikController.kt
@@ -39,26 +39,26 @@ class AvvikController(private val avvikService: AvvikService) : BaseController()
security = [SecurityRequirement(name = "bearer-key")],
summary = "Henter mulige avvik for en journalpost, id på formatet '" +
KildesystemIdenfikator.PREFIX_JOARK +
- "'"
+ "'",
)
@ApiResponses(
value = [
ApiResponse(
responseCode = "200",
- description = "Tilgjengelig avvik for journalpost er hentet"
+ description = "Tilgjengelig avvik for journalpost er hentet",
), ApiResponse(
responseCode = "404",
- description = "Fant ikke journalpost som det skal hentes avvik på"
- )
- ]
+ description = "Fant ikke journalpost som det skal hentes avvik på",
+ ),
+ ],
)
fun hentAvvik(
@PathVariable journalpostId: String?,
@Parameter(name = "saksnummer", description = "journalposten tilhører sak")
@RequestParam(
- required = false
+ required = false,
)
- saksnummer: String?
+ saksnummer: String?,
): ResponseEntity> {
val muligSak = Optional.ofNullable(saksnummer)
if (muligSak.isPresent) {
@@ -71,37 +71,37 @@ class AvvikController(private val avvikService: AvvikService) : BaseController()
ResponseEntity(
initHttpHeadersWith(
HttpHeaders.WARNING,
- "Ugyldig prefix på journalpostId"
+ "Ugyldig prefix på journalpostId",
),
- HttpStatus.BAD_REQUEST
+ HttpStatus.BAD_REQUEST,
)
} else {
ResponseEntity.ok(
avvikService.hentAvvik(
java.lang.Long.valueOf(
- kildesystemIdenfikator.hentJournalpostId()!!.toLong()
- )
- )
+ kildesystemIdenfikator.hentJournalpostId()!!.toLong(),
+ ),
+ ),
)
}
}
@PostMapping(
value = [ROOT_JOURNAL + "/{journalpostId}/avvik"],
- consumes = [MediaType.APPLICATION_JSON_VALUE]
+ consumes = [MediaType.APPLICATION_JSON_VALUE],
)
@Operation(
security = [SecurityRequirement(name = "bearer-key")],
summary = "Behandler et avvik for en journalpost, id på formatet '" +
KildesystemIdenfikator.PREFIX_JOARK_COMPLETE +
- "'"
+ "'",
)
@Transactional
@ApiResponses(
value = [
ApiResponse(
responseCode = "200",
- description = "Avvik på journalpost er behandlet"
+ description = "Avvik på journalpost er behandlet",
), ApiResponse(
responseCode = "400",
description = """En av følgende:
@@ -112,34 +112,34 @@ class AvvikController(private val avvikService: AvvikService) : BaseController()
- oppretting av oppgave feiler
- BESTILL_SPLITTING: beskrivelse må være i avvikshendelsen
- OVERFOR_TIL_ANNEN_ENHET: nyttEnhetsnummer og gammeltEnhetsnummer må være i detaljer map
- """
+ """,
), ApiResponse(
responseCode = "503",
- description = "Oppretting av oppgave for avviket feilet"
- )
- ]
+ description = "Oppretting av oppgave for avviket feilet",
+ ),
+ ],
)
fun behandleAvvik(
@PathVariable journalpostId: String?,
@RequestBody avvikshendelse: Avvikshendelse,
- @RequestHeader(EnhetFilter.X_ENHET_HEADER) enhet: String?
+ @RequestHeader(EnhetFilter.X_ENHET_HEADER) enhet: String?,
): ResponseEntity {
LOGGER.info(
"Behandle avvik {} for journalpost {}",
avvikshendelse.avvikType,
- journalpostId
+ journalpostId,
)
SECURE_LOGGER.info(
"Behandle avvik {} for journalpost {}: {}",
avvikshendelse.avvikType,
journalpostId,
- avvikshendelse
+ avvikshendelse,
)
val kildesystemIdenfikator = KildesystemIdenfikator(journalpostId!!)
if (kildesystemIdenfikator.erUkjentPrefixEllerHarIkkeTallEtterPrefix()) {
return ResponseEntity(
initHttpHeadersWith(HttpHeaders.WARNING, "Ugyldig prefix på journalpostId"),
- HttpStatus.BAD_REQUEST
+ HttpStatus.BAD_REQUEST,
)
}
val muligAvvikstype = avvikshendelse.hent()
@@ -148,20 +148,20 @@ class AvvikController(private val avvikService: AvvikService) : BaseController()
"BAD REQUEST: avvikshendelse: %s, mulig avvik: %s, enhet: %s",
avvikshendelse,
muligAvvikstype,
- enhet
+ enhet,
)
LOGGER.warn(message)
return ResponseEntity(
initHttpHeadersWith(HttpHeaders.WARNING, message),
- HttpStatus.BAD_REQUEST
+ HttpStatus.BAD_REQUEST,
)
}
val behandleAvvikResponse = avvikService.behandleAvvik(
AvvikshendelseIntern(
avvikshendelse,
enhet,
- kildesystemIdenfikator.hentJournalpostId()!!.toLong()
- )
+ kildesystemIdenfikator.hentJournalpostId()!!.toLong(),
+ ),
)
return ResponseEntity.ok(behandleAvvikResponse)
}
diff --git a/src/main/java/no/nav/bidrag/dokument/arkiv/controller/DistribuerController.kt b/src/main/java/no/nav/bidrag/dokument/arkiv/controller/DistribuerController.kt
index b65822e5..18b4de0e 100644
--- a/src/main/java/no/nav/bidrag/dokument/arkiv/controller/DistribuerController.kt
+++ b/src/main/java/no/nav/bidrag/dokument/arkiv/controller/DistribuerController.kt
@@ -37,24 +37,24 @@ class DistribuerController(private val distribuerJournalpostService: DistribuerJ
value = [
ApiResponse(
responseCode = "200",
- description = "Distribusjon av journalpost er bestilt"
+ description = "Distribusjon av journalpost er bestilt",
), ApiResponse(
responseCode = "400",
- description = "Journalpost mangler mottakerid eller adresse er ikke oppgitt i kallet"
- )
- ]
+ description = "Journalpost mangler mottakerid eller adresse er ikke oppgitt i kallet",
+ ),
+ ],
)
@ResponseBody
fun distribuerJournalpost(
@RequestBody(required = false) distribuerJournalpostRequest: DistribuerJournalpostRequest?,
@PathVariable joarkJournalpostId: String,
- @RequestParam(required = false, name = "batchId") batchIdHeader: String?
+ @RequestParam(required = false, name = "batchId") batchIdHeader: String?,
): ResponseEntity {
val batchId = if (Strings.isEmpty(batchIdHeader)) null else batchIdHeader
LOGGER.info(
"Distribuerer journalpost {}{}",
joarkJournalpostId,
- if (Strings.isNotEmpty(batchId)) String.format(" og batchId %s", batchId) else ""
+ if (Strings.isNotEmpty(batchId)) String.format(" og batchId %s", batchId) else "",
)
val kildesystemIdenfikator = KildesystemIdenfikator(joarkJournalpostId!!)
if (kildesystemIdenfikator.erUkjentPrefixEllerHarIkkeTallEtterPrefix()) {
@@ -70,8 +70,8 @@ class DistribuerController(private val distribuerJournalpostService: DistribuerJ
distribuerJournalpostService.distribuerJournalpost(
journalpostId!!,
batchId,
- DistribuerJournalpostRequestInternal(distribuerJournalpostRequest)
- )
+ DistribuerJournalpostRequestInternal(distribuerJournalpostRequest),
+ ),
)
}
@@ -81,12 +81,12 @@ class DistribuerController(private val distribuerJournalpostService: DistribuerJ
value = [
ApiResponse(
responseCode = "200",
- description = "Distribusjon av journalpost kan bestilles"
+ description = "Distribusjon av journalpost kan bestilles",
), ApiResponse(
responseCode = "406",
- description = "Distribusjon av journalpost kan ikke bestilles"
- )
- ]
+ description = "Distribusjon av journalpost kan ikke bestilles",
+ ),
+ ],
)
@ResponseBody
fun kanDistribuerJournalpost(@PathVariable journalpostId: String): ResponseEntity {
@@ -116,14 +116,14 @@ class DistribuerController(private val distribuerJournalpostService: DistribuerJ
value = [
ApiResponse(
responseCode = "200",
- description = "Hentet informasjon om distribusjon av journalpost"
+ description = "Hentet informasjon om distribusjon av journalpost",
),
ApiResponse(
responseCode = "202",
- description = "Journalpost er ikke distribuert eller er av type NOTAT eller INNGÅENDE"
+ description = "Journalpost er ikke distribuert eller er av type NOTAT eller INNGÅENDE",
),
- ApiResponse(responseCode = "404", description = "Fant ikke journalpost")
- ]
+ ApiResponse(responseCode = "404", description = "Fant ikke journalpost"),
+ ],
)
@ResponseBody
fun hentDistribusjonsInfo(@PathVariable journalpostId: String): ResponseEntity {
@@ -151,9 +151,9 @@ class DistribuerController(private val distribuerJournalpostService: DistribuerJ
value = [
ApiResponse(
responseCode = "200",
- description = "Hentet informasjon om hvilken kanal mottaker vil motta forsendelse på"
- )
- ]
+ description = "Hentet informasjon om hvilken kanal mottaker vil motta forsendelse på",
+ ),
+ ],
)
@ResponseBody
fun hentDistribusjonKanal(@RequestBody request: BestemDistribusjonKanalRequest): BestemKanalResponse {
diff --git a/src/main/java/no/nav/bidrag/dokument/arkiv/controller/DokumentController.kt b/src/main/java/no/nav/bidrag/dokument/arkiv/controller/DokumentController.kt
index d4531720..ed506a6b 100644
--- a/src/main/java/no/nav/bidrag/dokument/arkiv/controller/DokumentController.kt
+++ b/src/main/java/no/nav/bidrag/dokument/arkiv/controller/DokumentController.kt
@@ -27,52 +27,49 @@ class DokumentController(private val dokumentService: DokumentService) {
@GetMapping(value = ["/dokument/{journalpostId}/{dokumentreferanse}"])
@Operation(
security = [SecurityRequirement(name = "bearer-key")],
- summary = "Henter dokument fra Joark for journalpostid og dokumentreferanse. "
+ summary = "Henter dokument fra Joark for journalpostid og dokumentreferanse. ",
)
@ApiResponses(
value = [
ApiResponse(
responseCode = "200",
- description = "OK - dokument returneres i form av base64 encoded string."
+ description = "OK - dokument returneres i form av base64 encoded string.",
),
ApiResponse(
responseCode = "404",
- description = "Fant ikke journalpost med oppgitt dokumentreferanse"
- )
- ]
+ description = "Fant ikke journalpost med oppgitt dokumentreferanse",
+ ),
+ ],
)
- fun hentDokument(
- @PathVariable journalpostId: String,
- @PathVariable dokumentreferanse: String
- ): ResponseEntity {
+ fun hentDokument(@PathVariable journalpostId: String, @PathVariable dokumentreferanse: String): ResponseEntity {
val kildesystemIdenfikator = KildesystemIdenfikator(journalpostId)
return if (kildesystemIdenfikator.erUkjentPrefixEllerHarIkkeTallEtterPrefix()) {
ResponseEntity(
WebUtil.initHttpHeadersWith(
HttpHeaders.WARNING,
- "Ugyldig prefix på journalpostId"
+ "Ugyldig prefix på journalpostId",
),
- HttpStatus.BAD_REQUEST
+ HttpStatus.BAD_REQUEST,
)
} else {
dokumentService.hentDokument(
kildesystemIdenfikator.hentJournalpostIdLong()!!,
- dokumentreferanse
+ dokumentreferanse,
)
}
}
@RequestMapping(
value = ["/dokument/{journalpostId}/{dokumentreferanse}", "/dokument/{journalpostId}", "/dokumentreferanse/{dokumentreferanse}"],
- method = [RequestMethod.OPTIONS]
+ method = [RequestMethod.OPTIONS],
)
@Operation(
security = [SecurityRequirement(name = "bearer-key")],
- summary = "Henter dokument for journalpostid og dokumentreferanse. "
+ summary = "Henter dokument for journalpostid og dokumentreferanse. ",
)
fun hentDokumentMetadata(
@PathVariable(required = false) journalpostId: String?,
- @PathVariable(required = false) dokumentreferanse: String?
+ @PathVariable(required = false) dokumentreferanse: String?,
): ResponseEntity> {
LOGGER.info("Henter dokument for journalpost $journalpostId og dokumentId $dokumentreferanse")
if (journalpostId.isNullOrEmpty() && dokumentreferanse.isNullOrEmpty()) {
@@ -80,7 +77,7 @@ class DokumentController(private val dokumentService: DokumentService) {
.badRequest()
.header(
HttpHeaders.WARNING,
- "Kan ikke hente dokument uten journalpostId eller dokumentereferanse"
+ "Kan ikke hente dokument uten journalpostId eller dokumentereferanse",
)
.build()
}
@@ -97,8 +94,8 @@ class DokumentController(private val dokumentService: DokumentService) {
ResponseEntity.ok(
dokumentService.hentDokumentMetadata(
kildesystemIdenfikator.hentJournalpostIdLong(),
- dokumentreferanse
- )
+ dokumentreferanse,
+ ),
)
}
}
diff --git a/src/main/java/no/nav/bidrag/dokument/arkiv/controller/JournalpostController.kt b/src/main/java/no/nav/bidrag/dokument/arkiv/controller/JournalpostController.kt
index 9e53055d..78a4691f 100644
--- a/src/main/java/no/nav/bidrag/dokument/arkiv/controller/JournalpostController.kt
+++ b/src/main/java/no/nav/bidrag/dokument/arkiv/controller/JournalpostController.kt
@@ -33,7 +33,7 @@ import org.springframework.web.bind.annotation.RestController
@Protected
class JournalpostController(
journalpostService: ResourceByDiscriminator,
- private val endreJournalpostService: EndreJournalpostService
+ private val endreJournalpostService: EndreJournalpostService,
) : BaseController() {
private val journalpostService: JournalpostService
@@ -44,27 +44,27 @@ class JournalpostController(
@GetMapping("$ROOT_JOURNAL/{joarkJournalpostId}")
@Operation(
description = "Hent en journalpost for en id på formatet '" + KildesystemIdenfikator.PREFIX_JOARK_COMPLETE + "'",
- security = [SecurityRequirement(name = "bearer-key")]
+ security = [SecurityRequirement(name = "bearer-key")],
)
@ApiResponses(
value = [
ApiResponse(responseCode = "200", description = "Journalpost er hentet"), ApiResponse(
responseCode = "400",
- description = "Journalpost som skal hentes er ikke koblet mot gitt saksnummer, eller det er feil prefix/id på journalposten"
+ description = "Journalpost som skal hentes er ikke koblet mot gitt saksnummer, eller det er feil prefix/id på journalposten",
), ApiResponse(
responseCode = "404",
- description = "Fant ikke journalpost som skal hentes"
- )
- ]
+ description = "Fant ikke journalpost som skal hentes",
+ ),
+ ],
)
fun hentJournalpost(
@PathVariable joarkJournalpostId: String,
- @RequestParam(required = false) saksnummer: String?
+ @RequestParam(required = false) saksnummer: String?,
): ResponseEntity {
LOGGER.info("Henter journalpost {} med saksnummer {}", joarkJournalpostId, saksnummer)
val kildesystemIdenfikator = KildesystemIdenfikator(joarkJournalpostId)
if (kildesystemIdenfikator.erUkjentPrefixEllerHarIkkeTallEtterPrefix() || erIkkePrefixetMedJoark(
- joarkJournalpostId
+ joarkJournalpostId,
)
) {
return ResponseEntity
@@ -77,14 +77,14 @@ class JournalpostController(
.badRequest()
.header(
HttpHeaders.WARNING,
- "Kunne ikke hente id fra prefikset journalpostId: $joarkJournalpostId"
+ "Kunne ikke hente id fra prefikset journalpostId: $joarkJournalpostId",
)
.build()
return journalpostService.hentJournalpostMedFnrOgTilknyttedeSaker(
java.lang.Long.valueOf(
- journalpostId.toLong()
+ journalpostId.toLong(),
),
- saksnummer
+ saksnummer,
)
.map { journalpost: Journalpost -> ResponseEntity.ok(journalpost.tilJournalpostResponse()) }
.orElse(
@@ -94,10 +94,10 @@ class JournalpostController(
String.format(
"Fant ingen journalpost med id %s og saksnummer %s",
journalpostId,
- saksnummer
- )
+ saksnummer,
+ ),
)
- .build()
+ .build(),
)
}
@@ -106,56 +106,57 @@ class JournalpostController(
}
@GetMapping("/sak/{saksnummer}/journal")
- @Operation(description = "Finn journalposter for et saksnummer og fagområde. Parameter fagomrade=BID er bidragjournal og fagomrade=FAR er farskapsjournal")
+ @Operation(
+ description = "Finn journalposter for et saksnummer og fagområde. Parameter fagomrade=BID er bidragjournal og fagomrade=FAR er farskapsjournal",
+ )
@ApiResponses(
value = [
ApiResponse(
responseCode = "200",
- description = "Liste over journalposter for saksnummer og fagområde"
+ description = "Liste over journalposter for saksnummer og fagområde",
), ApiResponse(
responseCode = "404",
- description = "Fant ikke journalposter for oppgitt sak og fagområde"
- )
- ]
+ description = "Fant ikke journalposter for oppgitt sak og fagområde",
+ ),
+ ],
)
- fun hentJournal(
- @PathVariable saksnummer: String,
- @RequestParam fagomrade: List = emptyList()
- ): ResponseEntity> {
+ fun hentJournal(@PathVariable saksnummer: String, @RequestParam fagomrade: List = emptyList()): ResponseEntity> {
LOGGER.info("Henter journal for saksnummer {} og tema {}", saksnummer, fagomrade)
return ResponseEntity.ok(journalpostService.finnJournalposter(saksnummer, fagomrade))
}
@PatchMapping("$ROOT_JOURNAL/{joarkJournalpostId}")
- @Operation(description = "endre eksisterende journalpost med journalpostId på formatet '" + KildesystemIdenfikator.PREFIX_JOARK_COMPLETE + "'")
+ @Operation(
+ description = "endre eksisterende journalpost med journalpostId på formatet '" + KildesystemIdenfikator.PREFIX_JOARK_COMPLETE + "'",
+ )
@ApiResponses(
value = [
ApiResponse(responseCode = "203", description = "Journalpost er endret"), ApiResponse(
responseCode = "400",
- description = "Prefiks på journalpostId er ugyldig, JournalpostEndreJournalpostCommandDto.gjelder er ikke satt eller det ikke finnes en journalpost på gitt id"
+ description = "Prefiks på journalpostId er ugyldig, JournalpostEndreJournalpostCommandDto.gjelder er ikke satt eller det ikke finnes en journalpost på gitt id",
), ApiResponse(
responseCode = "404",
- description = "Fant ikke journalpost som skal endres, ingen 'payload' eller feil prefix/id på journalposten"
- )
- ]
+ description = "Fant ikke journalpost som skal endres, ingen 'payload' eller feil prefix/id på journalposten",
+ ),
+ ],
)
fun patch(
@RequestBody endreJournalpostCommand: EndreJournalpostCommand,
@PathVariable joarkJournalpostId: String,
- @RequestHeader(EnhetFilter.X_ENHET_HEADER) enhet: String?
+ @RequestHeader(EnhetFilter.X_ENHET_HEADER) enhet: String?,
): ResponseEntity {
LOGGER.info("Mottatt oppdater journalpost {} kall", joarkJournalpostId)
SECURE_LOGGER.info(
"Oppdater journalpost {} med body: {}",
joarkJournalpostId,
- endreJournalpostCommand
+ endreJournalpostCommand,
)
val kildesystemIdenfikator = KildesystemIdenfikator(joarkJournalpostId)
if (kildesystemIdenfikator.erUkjentPrefixEllerHarIkkeTallEtterPrefix()) {
val msgBadRequest = String.format(
"Id har ikke riktig prefix: %s eller det mangler gjelder person %s",
joarkJournalpostId,
- endreJournalpostCommand
+ endreJournalpostCommand,
)
LOGGER.warn(msgBadRequest)
return ResponseEntity
@@ -165,9 +166,9 @@ class JournalpostController(
}
endreJournalpostService.endre(
java.lang.Long.valueOf(
- kildesystemIdenfikator.hentJournalpostId()!!.toLong()
+ kildesystemIdenfikator.hentJournalpostId()!!.toLong(),
),
- EndreJournalpostCommandIntern(endreJournalpostCommand, enhet!!)
+ EndreJournalpostCommandIntern(endreJournalpostCommand, enhet!!),
)
return ResponseEntity(HttpStatus.OK)
}
diff --git a/src/main/java/no/nav/bidrag/dokument/arkiv/controller/OpprettJournalpostController.kt b/src/main/java/no/nav/bidrag/dokument/arkiv/controller/OpprettJournalpostController.kt
index f64e680c..3eaf6574 100644
--- a/src/main/java/no/nav/bidrag/dokument/arkiv/controller/OpprettJournalpostController.kt
+++ b/src/main/java/no/nav/bidrag/dokument/arkiv/controller/OpprettJournalpostController.kt
@@ -23,23 +23,23 @@ class OpprettJournalpostController(private val opprettJournalpostService: Oppret
@PostMapping("/journalpost")
@Operation(
security = [SecurityRequirement(name = "bearer-key")],
- description = "Opprett journalpost i Joark"
+ description = "Opprett journalpost i Joark",
)
@ApiResponses(
value = [
ApiResponse(
responseCode = "400",
- description = "Opprett journalpost kalt med ugyldig data"
- )
- ]
+ description = "Opprett journalpost kalt med ugyldig data",
+ ),
+ ],
)
fun opprettJournalpost(@RequestBody opprettJournalpostRequest: OpprettJournalpostRequest): ResponseEntity {
SECURE_LOGGER.info("Oppretter journalpost {}", opprettJournalpostRequest)
validerKanOppretteJournalpost(opprettJournalpostRequest)
return ResponseEntity.ok(
opprettJournalpostService.opprettJournalpost(
- opprettJournalpostRequest
- )
+ opprettJournalpostRequest,
+ ),
)
}
}
diff --git a/src/main/java/no/nav/bidrag/dokument/arkiv/kafka/BehandleOppgaveHendelseService.kt b/src/main/java/no/nav/bidrag/dokument/arkiv/kafka/BehandleOppgaveHendelseService.kt
index 3da16cc9..a0564426 100644
--- a/src/main/java/no/nav/bidrag/dokument/arkiv/kafka/BehandleOppgaveHendelseService.kt
+++ b/src/main/java/no/nav/bidrag/dokument/arkiv/kafka/BehandleOppgaveHendelseService.kt
@@ -26,7 +26,7 @@ class BehandleOppgaveHendelseService(
dokarkivConsumers: ResourceByDiscriminator,
oppgaveConsumers: ResourceByDiscriminator,
journalpostServices: ResourceByDiscriminator,
- private val meterRegistry: MeterRegistry
+ private val meterRegistry: MeterRegistry,
) {
private val dokarkivConsumer: DokarkivConsumer
private val oppgaveConsumer: OppgaveConsumer
@@ -43,7 +43,7 @@ class BehandleOppgaveHendelseService(
@Retryable(
value = [JournalpostHarIkkeKommetIRetur::class],
maxAttempts = 5,
- backoff = Backoff(delay = 1000, maxDelay = 12000, multiplier = 2.0)
+ backoff = Backoff(delay = 1000, maxDelay = 12000, multiplier = 2.0),
)
fun behandleReturOppgaveOpprettetHendelse(oppgaveHendelse: OppgaveKafkaHendelse) {
val oppgave = validerOgHentOppgave(oppgaveHendelse) ?: return
@@ -56,8 +56,8 @@ class BehandleOppgaveHendelseService(
dokarkivConsumer.endre(
OpprettNyReturLoggRequest(
journalpost,
- opprettKommentarSomLeggesTilReturlogg(journalpost)
- )
+ opprettKommentarSomLeggesTilReturlogg(journalpost),
+ ),
)
LOGGER.info {
"Lagt til ny returlogg med returdato ${LocalDate.now()} på journalpost ${journalpost.journalpostId} med dokumentdato ${journalpost.hentDatoDokument()}."
@@ -67,7 +67,7 @@ class BehandleOppgaveHendelseService(
"Journalpost ${oppgave.journalpostId} har ikke kommet i retur. Det kan hende dette skyldes race-condition hvor retur oppgave er opprettet før journalpost er oppdatert. Forsøker på nytt."
}
throw JournalpostHarIkkeKommetIRetur(
- "Journalpost ${oppgave.journalpostId} har ikke kommet i retur"
+ "Journalpost ${oppgave.journalpostId} har ikke kommet i retur",
)
} else {
LOGGER.warn {
@@ -92,14 +92,14 @@ class BehandleOppgaveHendelseService(
val oppgave = oppgaveConsumer.hentOppgave(oppgaveHendelse.oppgaveId)
if (oppgave == null) {
LOGGER.warn(
- "Fant ingen oppgave med id ${oppgaveHendelse.oppgaveId}"
+ "Fant ingen oppgave med id ${oppgaveHendelse.oppgaveId}",
)
return null
}
if (oppgave.journalpostId.isNullOrEmpty()) {
LOGGER.warn(
- "Returoppgave ${oppgave.id} har ingen journalpostid. Avslutter behandling"
+ "Returoppgave ${oppgave.id} har ingen journalpostid. Avslutter behandling",
)
return null
}
@@ -107,10 +107,7 @@ class BehandleOppgaveHendelseService(
return oppgave
}
- private fun oppdaterOppgaveSaksreferanse(
- journalpost: Journalpost,
- oppgave: OppgaveData
- ) {
+ private fun oppdaterOppgaveSaksreferanse(journalpost: Journalpost, oppgave: OppgaveData) {
try {
val kommentar = opprettKommentarSomLeggesTilOppgave(journalpost)
if (oppgave.saksreferanse != journalpost.hentSaksnummer()) {
@@ -118,8 +115,8 @@ class BehandleOppgaveHendelseService(
OppdaterSakRequest(
oppgave,
journalpost.hentSaksnummer(),
- kommentar
- )
+ kommentar,
+ ),
)
LOGGER.info {
"Oppdatert returoppgave ${oppgave.id} saksreferanse til ${journalpost.hentSaksnummer()} og lagt til kommentar $kommentar. JournalpostId=${journalpost.journalpostId}"
@@ -136,12 +133,12 @@ class BehandleOppgaveHendelseService(
}
}
- private fun Journalpost.harReturKommetFraNavNo() =
- distribuertTilAdresse() == null && tilleggsopplysninger.isOriginalDistribuertDigitalt()
+ private fun Journalpost.harReturKommetFraNavNo() = distribuertTilAdresse() == null && tilleggsopplysninger.isOriginalDistribuertDigitalt()
private fun opprettKommentarSomLeggesTilOppgave(journalpost: Journalpost): String? {
SECURE_LOGGER.info(
- "Journalpost kommet retur med følgende detaljer origDistDigitalt=${journalpost.tilleggsopplysninger.isOriginalDistribuertDigitalt()} jpId=${journalpost.journalpostId} status=${journalpost.journalstatus} adresse=${journalpost.distribuertTilAdresse()}"
+ "Journalpost kommet retur med følgende detaljer origDistDigitalt=${journalpost.tilleggsopplysninger.isOriginalDistribuertDigitalt()} " +
+ "jpId=${journalpost.journalpostId} status=${journalpost.journalstatus} adresse=${journalpost.distribuertTilAdresse()}",
)
return if (journalpost.harReturKommetFraNavNo()) "Mottaker har ikke åpnet forsendelsen via www.nav.no innen 40 timer. Ingen postadresse er registrert. Vurder om mottaker har adresse forsendelsen kan sendes til." else null
}
diff --git a/src/main/java/no/nav/bidrag/dokument/arkiv/kafka/BidragDokumentArkivKafkaConfig.kt b/src/main/java/no/nav/bidrag/dokument/arkiv/kafka/BidragDokumentArkivKafkaConfig.kt
index 01b42341..f571b9bb 100644
--- a/src/main/java/no/nav/bidrag/dokument/arkiv/kafka/BidragDokumentArkivKafkaConfig.kt
+++ b/src/main/java/no/nav/bidrag/dokument/arkiv/kafka/BidragDokumentArkivKafkaConfig.kt
@@ -41,14 +41,14 @@ class BidragDokumentArkivKafkaConfig {
objectMapper: ObjectMapper,
saksbehandlerInfoManager: SaksbehandlerInfoManager,
@Value("\${TOPIC_JOURNALPOST}") topic: String,
- journalpostServices: ResourceByDiscriminator
+ journalpostServices: ResourceByDiscriminator,
): HendelserProducer {
return HendelserProducer(
journalpostServices.get(Discriminator.SERVICE_USER),
kafkaTemplate,
objectMapper,
topic,
- saksbehandlerInfoManager
+ saksbehandlerInfoManager,
)
}
@@ -62,7 +62,7 @@ class BidragDokumentArkivKafkaConfig {
LOGGER.info(
"Initializing Kafka errorhandler with backoffpolicy {}, maxRetry={}",
backoffPolicy,
- maxRetry
+ maxRetry,
)
val errorHandler = DefaultErrorHandler(
{ rec: ConsumerRecord<*, *>, e: Exception? ->
@@ -78,10 +78,10 @@ class BidragDokumentArkivKafkaConfig {
topic,
offset,
value,
- e
+ e,
)
},
- backoffPolicy
+ backoffPolicy,
)
errorHandler.addNotRetryableExceptions(JournalpostHarIkkeKommetIRetur::class.java)
return errorHandler
@@ -90,7 +90,7 @@ class BidragDokumentArkivKafkaConfig {
@Bean
fun oppgaveKafkaListenerContainerFactory(
oppgaveConsumerFactory: ConsumerFactory,
- defaultErrorHandler: DefaultErrorHandler
+ defaultErrorHandler: DefaultErrorHandler,
): ConcurrentKafkaListenerContainerFactory {
val factory = ConcurrentKafkaListenerContainerFactory()
factory.consumerFactory = oppgaveConsumerFactory
@@ -109,7 +109,7 @@ class BidragDokumentArkivKafkaConfig {
@Value("\${KAFKA_KEYSTORE_PATH}") keystorePath: String,
@Value("\${KAFKA_TRUSTSTORE_PATH}") trustStorePath: String,
@Value("\${KAFKA_CREDSTORE_PASSWORD}") credstorePassword: String,
- environment: Environment
+ environment: Environment,
): ConsumerFactory {
val props = mutableMapOf()
props[ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG] = boostrapServer
diff --git a/src/main/java/no/nav/bidrag/dokument/arkiv/kafka/HendelseListener.kt b/src/main/java/no/nav/bidrag/dokument/arkiv/kafka/HendelseListener.kt
index 60d9078a..7cceaa51 100644
--- a/src/main/java/no/nav/bidrag/dokument/arkiv/kafka/HendelseListener.kt
+++ b/src/main/java/no/nav/bidrag/dokument/arkiv/kafka/HendelseListener.kt
@@ -16,12 +16,12 @@ import org.springframework.stereotype.Service
class HendelseListener(
private val behandleJournalforingHendelseService: BehandleJournalforingHendelseService,
private val behandleOppgaveHendelseService: BehandleOppgaveHendelseService,
- private val jsonMapperService: JsonMapperService
+ private val jsonMapperService: JsonMapperService,
) {
@KafkaListener(
containerFactory = "oppgaveKafkaListenerContainerFactory",
groupId = "\${NAIS_APP_NAME}",
- topics = ["\${TOPIC_OPPGAVE_HENDELSE}"]
+ topics = ["\${TOPIC_OPPGAVE_HENDELSE}"],
)
fun lesOppgaveOpprettetHendelse(consumerRecord: ConsumerRecord) {
val oppgaveOpprettetHendelse =
@@ -32,7 +32,7 @@ class HendelseListener(
) {
LOGGER.info("Mottatt retur oppgave opprettet hendelse {}", oppgaveOpprettetHendelse)
behandleOppgaveHendelseService.behandleReturOppgaveOpprettetHendelse(
- oppgaveOpprettetHendelse
+ oppgaveOpprettetHendelse,
)
}
}
@@ -50,7 +50,7 @@ class HendelseListener(
}
LOGGER.info("Mottok journalføringshendelse {}", journalfoeringHendelseRecord)
behandleJournalforingHendelseService.behandleJournalforingHendelse(
- journalfoeringHendelseRecord
+ journalfoeringHendelseRecord,
)
}
diff --git a/src/main/java/no/nav/bidrag/dokument/arkiv/kafka/HendelserProducer.kt b/src/main/java/no/nav/bidrag/dokument/arkiv/kafka/HendelserProducer.kt
index 73214f41..bf46c9ac 100644
--- a/src/main/java/no/nav/bidrag/dokument/arkiv/kafka/HendelserProducer.kt
+++ b/src/main/java/no/nav/bidrag/dokument/arkiv/kafka/HendelserProducer.kt
@@ -23,7 +23,7 @@ open class HendelserProducer(
open val kafkaTemplate: KafkaTemplate,
open val objectMapper: ObjectMapper,
open val topic: String,
- open val saksbehandlerInfoManager: SaksbehandlerInfoManager
+ open val saksbehandlerInfoManager: SaksbehandlerInfoManager,
) {
fun publishJournalpostUpdated(journalpostId: Long, saksbehandlersEnhet: String?) {
val journalpostHendelse = createJournalpostHendelse(journalpostId, saksbehandlersEnhet)
@@ -34,42 +34,36 @@ open class HendelserProducer(
publish(journalpostHendelse)
}
- private fun createJournalpostHendelse(
- journalpostId: Long,
- saksbehandlersEnhet: String?
- ): JournalpostHendelse {
+ private fun createJournalpostHendelse(journalpostId: Long, saksbehandlersEnhet: String?): JournalpostHendelse {
val journalpost = journalpostService.hentJournalpostMedTilknyttedeSaker(journalpostId)
?: throw JournalpostIkkeFunnetException(
String.format(
"Fant ikke journalpost med id %s",
- journalpostId
- )
+ journalpostId,
+ ),
)
return createJournalpostHendelse(journalpost, saksbehandlersEnhet)
}
- private fun createJournalpostHendelse(
- journalpost: Journalpost,
- saksbehandlersEnhet: String?
- ): JournalpostHendelse {
+ private fun createJournalpostHendelse(journalpost: Journalpost, saksbehandlersEnhet: String?): JournalpostHendelse {
val saksbehandler = saksbehandlerInfoManager.hentSaksbehandler()
.orElse(
Optional.ofNullable(journalpost.hentJournalfortAvIdent())
.map { ident: String? -> Saksbehandler(ident, journalpost.journalfortAvNavn) }
- .orElse(Saksbehandler(null, "bidrag-dokument-arkiv"))
+ .orElse(Saksbehandler(null, "bidrag-dokument-arkiv")),
)
val saksbehandlerMedEnhet = saksbehandler.tilEnhet(saksbehandlersEnhet)
return JournalpostHendelseIntern(
journalpost,
saksbehandlerMedEnhet,
- null
+ null,
).hentJournalpostHendelse()
}
@Retryable(
value = [Exception::class],
maxAttempts = 10,
- backoff = Backoff(delay = 1000, maxDelay = 12000, multiplier = 2.0)
+ backoff = Backoff(delay = 1000, maxDelay = 12000, multiplier = 2.0),
)
private fun publish(journalpostHendelse: JournalpostHendelse) {
try {
@@ -77,7 +71,7 @@ open class HendelserProducer(
SECURE_LOGGER.info("Publiserer hendelse {}", message)
LOGGER.info(
"Publiserer hendelse med journalpostId={}",
- journalpostHendelse.journalpostId
+ journalpostHendelse.journalpostId,
)
kafkaTemplate.send(topic, journalpostHendelse.journalpostId, message)
} catch (e: JsonProcessingException) {
diff --git a/src/main/java/no/nav/bidrag/dokument/arkiv/kafka/dto/OppgaveKafkaHendelse.kt b/src/main/java/no/nav/bidrag/dokument/arkiv/kafka/dto/OppgaveKafkaHendelse.kt
index f592806d..873619ea 100644
--- a/src/main/java/no/nav/bidrag/dokument/arkiv/kafka/dto/OppgaveKafkaHendelse.kt
+++ b/src/main/java/no/nav/bidrag/dokument/arkiv/kafka/dto/OppgaveKafkaHendelse.kt
@@ -6,15 +6,14 @@ import java.time.LocalDateTime
data class OppgaveKafkaHendelse(
val hendelse: Hendelse,
val utfortAv: UtfortAv?,
- val oppgave: Oppgave
+ val oppgave: Oppgave,
) {
val erOppgaveOpprettetHendelse get() = hendelse.hendelsestype == Hendelse.Hendelsestype.OPPGAVE_OPPRETTET
val erOppgaveEndretHendelse get() = hendelse.hendelsestype != Hendelse.Hendelsestype.OPPGAVE_OPPRETTET
fun erReturOppgave() = oppgave.kategorisering?.oppgavetype == "RETUR"
- fun erTemaBIDEllerFAR(): Boolean =
- oppgave.kategorisering?.tema == "BID" || oppgave.kategorisering?.tema == "FAR"
+ fun erTemaBIDEllerFAR(): Boolean = oppgave.kategorisering?.tema == "BID" || oppgave.kategorisering?.tema == "FAR"
val oppgaveId get() = oppgave.oppgaveId
val tema get() = oppgave.kategorisering?.tema
@@ -24,7 +23,7 @@ data class OppgaveKafkaHendelse(
OPPGAVE_OPPRETTET,
OPPGAVE_ENDRET,
OPPGAVE_FERDIGSTILT,
- OPPGAVE_FEILREGISTRERT
+ OPPGAVE_FEILREGISTRERT,
}
}
@@ -36,13 +35,13 @@ data class OppgaveKafkaHendelse(
val tilordning: Tilordning? = null,
val kategorisering: Kategorisering? = null,
val behandlingsperiode: Behandlingsperiode? = null,
- val bruker: Bruker? = null
+ val bruker: Bruker? = null,
)
data class Tilordning(
val enhetsnr: String?,
val enhetsmappeId: Long?,
- val navIdent: String?
+ val navIdent: String?,
)
data class Kategorisering(
@@ -50,18 +49,18 @@ data class OppgaveKafkaHendelse(
val oppgavetype: String,
val behandlingstema: String? = null,
val behandlingstype: String? = null,
- val prioritet: Prioritet? = null
+ val prioritet: Prioritet? = null,
) {
enum class Prioritet {
HOY,
NORMAL,
- LAV
+ LAV,
}
}
data class Behandlingsperiode(
val aktiv: LocalDate?,
- val frist: LocalDate?
+ val frist: LocalDate?,
)
data class Bruker(val ident: String?, val identType: IdentType?) {
@@ -69,7 +68,7 @@ data class OppgaveKafkaHendelse(
FOLKEREGISTERIDENT,
NPID,
ORGNR,
- SAMHANDLERNR
+ SAMHANDLERNR,
}
}
}
diff --git a/src/main/java/no/nav/bidrag/dokument/arkiv/security/SaksbehandlerInfoManager.kt b/src/main/java/no/nav/bidrag/dokument/arkiv/security/SaksbehandlerInfoManager.kt
index d9920998..a68a4661 100644
--- a/src/main/java/no/nav/bidrag/dokument/arkiv/security/SaksbehandlerInfoManager.kt
+++ b/src/main/java/no/nav/bidrag/dokument/arkiv/security/SaksbehandlerInfoManager.kt
@@ -10,7 +10,7 @@ import java.util.Optional
@Service
class SaksbehandlerInfoManager(
private val bidragOrganisasjonConsumer: BidragOrganisasjonConsumer,
- private val oidcTokenManager: OidcTokenManager
+ private val oidcTokenManager: OidcTokenManager,
) {
fun hentSaksbehandlerBrukerId(): String? {
return try {
diff --git a/src/main/java/no/nav/bidrag/dokument/arkiv/service/AvvikService.kt b/src/main/java/no/nav/bidrag/dokument/arkiv/service/AvvikService.kt
index 1bdec38c..63d91707 100644
--- a/src/main/java/no/nav/bidrag/dokument/arkiv/service/AvvikService.kt
+++ b/src/main/java/no/nav/bidrag/dokument/arkiv/service/AvvikService.kt
@@ -60,7 +60,7 @@ class AvvikService(
val opprettJournalpostService: OpprettJournalpostService,
dokarkivConsumers: ResourceByDiscriminator,
personConsumers: ResourceByDiscriminator,
- journalpostService: ResourceByDiscriminator
+ journalpostService: ResourceByDiscriminator,
) {
private final val journalpostService: JournalpostService
private final val dokarkivConsumer: DokarkivConsumer
@@ -82,17 +82,14 @@ class AvvikService(
?: throw JournalpostIkkeFunnetException("Fant ikke journalpost med id lik " + behandleAvvikRequest.journalpostId)
}
- fun behandleAvvik(
- journalpost: Journalpost,
- avvikshendelseIntern: AvvikshendelseIntern
- ): BehandleAvvikshendelseResponse {
+ fun behandleAvvik(journalpost: Journalpost, avvikshendelseIntern: AvvikshendelseIntern): BehandleAvvikshendelseResponse {
if (!erGyldigAvviksBehandling(journalpost, avvikshendelseIntern.avvikstype)) {
throw UgyldigAvvikException(
String.format(
"Ikke gyldig avviksbehandling %s for journalpost %s",
avvikshendelseIntern.avvikstype,
- avvikshendelseIntern.journalpostId
- )
+ avvikshendelseIntern.journalpostId,
+ ),
)
}
when (avvikshendelseIntern.avvikstype) {
@@ -101,12 +98,12 @@ class AvvikService(
AvvikType.BESTILL_RESKANNING -> bestillReskanning(journalpost, avvikshendelseIntern)
AvvikType.KOPIER_FRA_ANNEN_FAGOMRADE -> kopierFraAnnenFagomrade(
journalpost,
- avvikshendelseIntern
+ avvikshendelseIntern,
)
AvvikType.OVERFOR_TIL_ANNEN_ENHET -> overforJournalpostTilEnhet(
journalpost,
- avvikshendelseIntern.enhetsnummerNytt
+ avvikshendelseIntern.enhetsnummerNytt,
)
AvvikType.ENDRE_FAGOMRADE -> endreFagomrade(journalpost, avvikshendelseIntern)
@@ -116,7 +113,7 @@ class AvvikService(
AvvikType.REGISTRER_RETUR -> registrerRetur(journalpost, avvikshendelseIntern)
AvvikType.BESTILL_NY_DISTRIBUSJON -> bestillNyDistribusjon(
journalpost,
- avvikshendelseIntern
+ avvikshendelseIntern,
)
AvvikType.MANGLER_ADRESSE -> manglerAdresse(journalpost)
@@ -131,7 +128,7 @@ class AvvikService(
saksbehandlerInfoManager.hentSaksbehandlerBrukerId(),
avvikshendelseIntern.saksbehandlersEnhet,
avvikshendelseIntern.beskrivelse,
- avvikshendelseIntern
+ avvikshendelseIntern,
)
return BehandleAvvikshendelseResponse(avvikshendelseIntern.avvikstype)
}
@@ -140,15 +137,12 @@ class AvvikService(
if (journalpost.isInngaaendeDokument()) {
hendelserProducer.publishJournalpostUpdated(
journalpost.hentJournalpostIdLong()!!,
- enhet
+ enhet,
)
}
}
- private fun bestillSplitting(
- journalpost: Journalpost,
- avvikshendelseIntern: AvvikshendelseIntern
- ) {
+ private fun bestillSplitting(journalpost: Journalpost, avvikshendelseIntern: AvvikshendelseIntern) {
if (avvikshendelseIntern.beskrivelse.isNullOrEmpty()) {
throw UgyldigAvvikException("Avvik bestill splitting må inneholde beskrivelse")
}
@@ -158,8 +152,8 @@ class AvvikService(
BestillSplittingoppgaveRequest(
journalpost,
saksbehandler,
- avvikshendelseIntern.beskrivelse
- )
+ avvikshendelseIntern.beskrivelse,
+ ),
)
dokarkivConsumer.feilregistrerSakstilknytning(journalpost.hentJournalpostIdLong())
} else {
@@ -167,24 +161,21 @@ class AvvikService(
oppgaveService.leggTilKommentarPaaJournalforingsoppgave(
journalpost,
saksbehandler,
- beskrivelse
+ beskrivelse,
)
overforJournalpostTilEnhet(journalpost, OppgaveEnhet.FAGPOST)
}
}
- private fun bestillReskanning(
- journalpost: Journalpost,
- avvikshendelseIntern: AvvikshendelseIntern
- ) {
+ private fun bestillReskanning(journalpost: Journalpost, avvikshendelseIntern: AvvikshendelseIntern) {
val saksbehandler = hentSaksbehandler(avvikshendelseIntern.saksbehandlersEnhet!!)
if (journalpost.isStatusJournalfort()) {
oppgaveService.opprettOppgaveTilFagpost(
BestillReskanningOppgaveRequest(
journalpost,
saksbehandler,
- avvikshendelseIntern.beskrivelse
- )
+ avvikshendelseIntern.beskrivelse,
+ ),
)
dokarkivConsumer.feilregistrerSakstilknytning(journalpost.hentJournalpostIdLong())
} else {
@@ -192,24 +183,21 @@ class AvvikService(
oppgaveService.leggTilKommentarPaaJournalforingsoppgave(
journalpost,
saksbehandler,
- beskrivelse
+ beskrivelse,
)
overforJournalpostTilEnhet(journalpost, OppgaveEnhet.FAGPOST)
}
}
- private fun bestillOriginal(
- journalpost: Journalpost,
- avvikshendelseIntern: AvvikshendelseIntern
- ) {
+ private fun bestillOriginal(journalpost: Journalpost, avvikshendelseIntern: AvvikshendelseIntern) {
val saksbehandler = hentSaksbehandler(avvikshendelseIntern.saksbehandlersEnhet!!)
oppgaveService.opprettOppgaveTilFagpost(
BestillOriginalOppgaveRequest(
journalpost,
avvikshendelseIntern.enhetsnummer,
saksbehandler,
- avvikshendelseIntern.beskrivelse
- )
+ avvikshendelseIntern.beskrivelse,
+ ),
)
dokarkivConsumer.endre(OppdaterOriginalBestiltFlagg(journalpost))
}
@@ -219,8 +207,8 @@ class AvvikService(
dokarkivConsumer.endre(
OverforEnhetRequest(
journalpost.hentJournalpostIdLong()!!,
- enhet
- )
+ enhet,
+ ),
)
}
}
@@ -231,10 +219,7 @@ class AvvikService(
.orElseGet { SaksbehandlerMedEnhet(Saksbehandler(), enhet) }
}
- fun kopierFraAnnenFagomrade(
- journalpost: Journalpost,
- avvikshendelseIntern: AvvikshendelseIntern
- ) {
+ fun kopierFraAnnenFagomrade(journalpost: Journalpost, avvikshendelseIntern: AvvikshendelseIntern) {
if (journalpost.isUtgaaendeDokument()) {
throw UgyldigAvvikException("Kan ikke kopiere en utgående dokument fra annen fagområde")
}
@@ -270,14 +255,14 @@ class AvvikService(
dokumentvarianter = if (dokumentByte != null) {
listOf(
opprettDokumentVariant(
- dokumentByte = dokumentByte
- )
+ dokumentByte = dokumentByte,
+ ),
)
} else {
emptyList()
- }
+ },
)
- }
+ },
)
}
@@ -285,24 +270,24 @@ class AvvikService(
request,
avvikshendelseIntern.knyttTilSaker,
journalpost.hentJournalpostIdLong(),
- skalFerdigstilles = true
+ skalFerdigstilles = true,
)
LOGGER.info(
"Kopiert journalpost {} til Bidrag, ny journalpostId {}",
journalpost.journalpostId,
- journalpostId
+ journalpostId,
)
oppgaveService.ferdigstillVurderDokumentOppgaver(
journalpost.hentJournalpostIdLong()!!,
- avvikshendelseIntern.saksbehandlersEnhet!!
+ avvikshendelseIntern.saksbehandlersEnhet!!,
)
}
fun farskapUtelukket(journalpost: Journalpost, avvikshendelseIntern: AvvikshendelseIntern) {
dokarkivConsumer.endre(
avvikshendelseIntern.toLeggTiLFarskapUtelukketTilTittelRequest(
- journalpost
- )
+ journalpost,
+ ),
)
}
@@ -310,17 +295,14 @@ class AvvikService(
oppdaterDistribusjonsInfoIngenDistribusjon(journalpost)
}
- fun bestillNyDistribusjon(
- journalpost: Journalpost,
- avvikshendelseIntern: AvvikshendelseIntern
- ) {
+ fun bestillNyDistribusjon(journalpost: Journalpost, avvikshendelseIntern: AvvikshendelseIntern) {
LOGGER.info("Bestiller ny distribusjon for journalpost {}", journalpost.journalpostId)
if (avvikshendelseIntern.adresse == null) {
throw UgyldigAvvikException("Adresse må settes ved bestilling av ny distribusjon")
}
distribuerJournalpostService.bestillNyDistribusjon(
journalpost,
- avvikshendelseIntern.adresse
+ avvikshendelseIntern.adresse,
)
}
@@ -347,19 +329,16 @@ class AvvikService(
fjern sakstilknytning true
},
originalJournalpostId = journalpost.hentJournalpostIdLong(),
- skalFerdigstilles = false
+ skalFerdigstilles = false,
)
}
- private fun knyttTilSakPaaNyttFagomrade(
- avvikshendelseIntern: AvvikshendelseIntern,
- journalpost: Journalpost
- ) {
+ private fun knyttTilSakPaaNyttFagomrade(avvikshendelseIntern: AvvikshendelseIntern, journalpost: Journalpost) {
val saksnummer = journalpost.sak!!.fagsakId!!
hentFeilregistrerteDupliserteJournalposterMedSakOgTema(
saksnummer,
avvikshendelseIntern.nyttFagomrade,
- journalpost
+ journalpost,
)
.findFirst()
.ifPresentOrElse(
@@ -368,15 +347,15 @@ class AvvikService(
oppdater(
OpphevEndreFagomradeJournalfortJournalpostRequest(
jp.hentJournalpostIdLong()!!,
- jp
- )
+ jp,
+ ),
)
- }
+ },
) {
endreJournalpostService.tilknyttTilSak(
saksnummer,
avvikshendelseIntern.nyttFagomrade,
- journalpost
+ journalpost,
)
}
}
@@ -384,7 +363,7 @@ class AvvikService(
private fun hentFeilregistrerteDupliserteJournalposterMedSakOgTema(
saksnummer: String,
tema: String,
- journalpost: Journalpost
+ journalpost: Journalpost,
): Stream {
return journalpostService.finnJournalposterForSaksnummer(saksnummer, listOf(tema)).stream()
.filter { obj: Journalpost -> obj.isStatusFeilregistrert() }
@@ -398,10 +377,7 @@ class AvvikService(
}
}
- fun endreFagomradeJournalfortJournalpost(
- journalpost: Journalpost,
- avvikshendelseIntern: AvvikshendelseIntern
- ) {
+ fun endreFagomradeJournalfortJournalpost(journalpost: Journalpost, avvikshendelseIntern: AvvikshendelseIntern) {
if (journalpost.isTemaEqualTo(avvikshendelseIntern.nyttFagomrade)) {
return
}
@@ -421,15 +397,12 @@ class AvvikService(
endreFagomradeMottattJournalpost(journalpost, avvikshendelseIntern)
oppgaveService.ferdigstillVurderDokumentOppgaver(
journalpost.hentJournalpostIdLong()!!,
- avvikshendelseIntern.saksbehandlersEnhet!!
+ avvikshendelseIntern.saksbehandlersEnhet!!,
)
}
}
- private fun endreFagomradeMottattJournalpost(
- journalpost: Journalpost,
- avvikshendelseIntern: AvvikshendelseIntern
- ) {
+ private fun endreFagomradeMottattJournalpost(journalpost: Journalpost, avvikshendelseIntern: AvvikshendelseIntern) {
if (journalpost.hasSak()) {
oppdater(avvikshendelseIntern.toEndreFagomradeOgKnyttTilSakRequest(journalpost.bruker!!))
} else {
@@ -450,8 +423,8 @@ class AvvikService(
RegistrerReturRequest(
journalpost.hentJournalpostIdLong()!!,
returDato,
- tilleggsOpplysninger
- )
+ tilleggsOpplysninger,
+ ),
)
}
@@ -459,19 +432,19 @@ class AvvikService(
// Journalfør på GENERELL_SAK og feilfør sakstilknytning
validateTrue(
journalpost.bruker != null,
- AvvikDetaljException("Kan ikke trekke journalpost uten bruker")
+ AvvikDetaljException("Kan ikke trekke journalpost uten bruker"),
)
validateTrue(
journalpost.tema != null,
- AvvikDetaljException("Kan ikke trekke journalpost uten tilhørende fagområde")
+ AvvikDetaljException("Kan ikke trekke journalpost uten tilhørende fagområde"),
)
knyttTilGenerellSak(avvikshendelseIntern, journalpost)
klargjorForFerdigstilling(journalpost)
dokarkivConsumer.ferdigstill(
FerdigstillJournalpostRequest(
avvikshendelseIntern.journalpostId,
- avvikshendelseIntern.saksbehandlersEnhet!!
- )
+ avvikshendelseIntern.saksbehandlersEnhet!!,
+ ),
)
leggTilBegrunnelsePaaTittel(avvikshendelseIntern, journalpost)
feilregistrerSakstilknytning(avvikshendelseIntern.journalpostId)
@@ -489,8 +462,8 @@ class AvvikService(
dokarkivConsumer.endre(
LagreAvsenderNavnRequest(
journalpost.hentJournalpostIdLong()!!,
- brukerNavn!!
- )
+ brukerNavn!!,
+ ),
)
journalpost.avsenderMottaker = AvsenderMottaker(brukerNavn, null, null)
}
@@ -500,19 +473,16 @@ class AvvikService(
oppdater(
avvikshendelseIntern.toKnyttTilGenerellSakRequest(
journalpost.tema!!,
- journalpost.bruker!!
- )
+ journalpost.bruker!!,
+ ),
)
}
- fun leggTilBegrunnelsePaaTittel(
- avvikshendelseIntern: AvvikshendelseIntern,
- journalpost: Journalpost?
- ) {
+ fun leggTilBegrunnelsePaaTittel(avvikshendelseIntern: AvvikshendelseIntern, journalpost: Journalpost?) {
if (Strings.isNotEmpty(avvikshendelseIntern.beskrivelse)) {
validateTrue(
avvikshendelseIntern.beskrivelse!!.length < 100,
- AvvikDetaljException("Beskrivelse kan ikke være lengre enn 100 tegn")
+ AvvikDetaljException("Beskrivelse kan ikke være lengre enn 100 tegn"),
)
oppdater(avvikshendelseIntern.toLeggTilBegrunnelsePaaTittelRequest(journalpost!!))
}
@@ -542,9 +512,9 @@ class AvvikService(
dokarkivConsumer.oppdaterDistribusjonsInfo(
journalpostId,
false,
- JournalpostUtsendingKanal.INGEN_DISTRIBUSJON
+ JournalpostUtsendingKanal.INGEN_DISTRIBUSJON,
)
- }
+ },
)
}
diff --git a/src/main/java/no/nav/bidrag/dokument/arkiv/service/DistribuerJournalpostService.kt b/src/main/java/no/nav/bidrag/dokument/arkiv/service/DistribuerJournalpostService.kt
index 4d9a4d34..6b265c05 100644
--- a/src/main/java/no/nav/bidrag/dokument/arkiv/service/DistribuerJournalpostService.kt
+++ b/src/main/java/no/nav/bidrag/dokument/arkiv/service/DistribuerJournalpostService.kt
@@ -52,7 +52,7 @@ class DistribuerJournalpostService(
val dokdistFordelingConsumer: DokdistFordelingConsumer,
val saksbehandlerInfoManager: SaksbehandlerInfoManager,
val dokdistKanalConsumer: DokdistKanalConsumer,
- final val meterRegistry: MeterRegistry
+ final val meterRegistry: MeterRegistry,
) {
private final val journalpostService: JournalpostService
private final val personConsumer: PersonConsumer
@@ -79,7 +79,7 @@ class DistribuerJournalpostService(
request.gjelderId,
request.mottakerId,
request.tema,
- request.forsendelseStoerrelse
+ request.forsendelseStoerrelse,
)
SECURE_LOGGER.info("Hentet kanal ${kanal.distribusjonskanal} for forespørsel $request")
return kanal
@@ -90,8 +90,8 @@ class DistribuerJournalpostService(
BestemDistribusjonKanalRequest(
journalpost.hentAvsenderMottakerId(),
journalpost.hentGjelderId()!!,
- journalpost.tema ?: "BID"
- )
+ journalpost.tema ?: "BID",
+ ),
)
}
@@ -115,25 +115,22 @@ class DistribuerJournalpostService(
?: utsendingsinfo?.smsVarselSendt?.varslingstekst
?: utsendingsinfo?.epostVarselSendt?.varslingstekst,
tittel = utsendingsinfo?.sisteVarselSendt?.tittel
- ?: utsendingsinfo?.epostVarselSendt?.tittel
+ ?: utsendingsinfo?.epostVarselSendt?.tittel,
),
distribuertAvIdent = it.hentDistribuertAvIdent(),
distribuertDato = it.hentDatoEkspedert() ?: it.hentDatoDokument(),
- bestillingId = it.hentBestillingId()
+ bestillingId = it.hentBestillingId(),
)
}
}
- fun bestillNyDistribusjon(
- journalpost: Journalpost,
- distribuerTilAdresse: DistribuerTilAdresse?
- ) {
+ fun bestillNyDistribusjon(journalpost: Journalpost, distribuerTilAdresse: DistribuerTilAdresse?) {
if (journalpost.tilleggsopplysninger.isNyDistribusjonBestilt()) {
throw UgyldigDistribusjonException(
String.format(
"Ny distribusjon er allerede bestilt for journalpost %s",
- journalpost.journalpostId
- )
+ journalpost.journalpostId,
+ ),
)
}
validerAdresse(distribuerTilAdresse)
@@ -148,19 +145,19 @@ class DistribuerJournalpostService(
val (journalpostId) = opprettJournalpostService.opprettJournalpost(
request,
originalJournalpostId = journalpost.hentJournalpostIdLong(),
- skalFerdigstilles = true
+ skalFerdigstilles = true,
)
distribuerJournalpost(
journalpostId!!.toLong(),
null,
- DistribuerJournalpostRequestInternal(distribuerTilAdresse)
+ DistribuerJournalpostRequestInternal(distribuerTilAdresse),
)
val journalpostEtter = hentJournalpost(journalpost.hentJournalpostIdLong()!!)
endreJournalpostService.lagreJournalpost(
OppdaterFlaggNyDistribusjonBestiltRequest(
journalpost.hentJournalpostIdLong()!!,
- journalpostEtter
- )
+ journalpostEtter,
+ ),
)
}
@@ -171,8 +168,8 @@ class DistribuerJournalpostService(
}
endreJournalpostService.lagreJournalpost(
LagreReturDetaljForSisteReturRequest(
- journalpost
- )
+ journalpost,
+ ),
)
}
}
@@ -180,7 +177,7 @@ class DistribuerJournalpostService(
fun distribuerJournalpost(
journalpostId: Long,
batchId: String?,
- distribuerJournalpostRequest: DistribuerJournalpostRequestInternal
+ distribuerJournalpostRequest: DistribuerJournalpostRequestInternal,
): DistribuerJournalpostResponse {
val journalpost = hentJournalpost(journalpostId)
journalpostService.populerMedTilknyttedeSaker(journalpost)
@@ -188,7 +185,7 @@ class DistribuerJournalpostService(
LOGGER.warn(
"Distribusjon er allerede bestillt for journalpostid {}{}. Stopper videre behandling",
journalpostId,
- if (batchId != null) String.format(" med batchId %s", batchId) else ""
+ if (batchId != null) String.format(" med batchId %s", batchId) else "",
)
return DistribuerJournalpostResponse("JOARK-$journalpostId", null)
}
@@ -210,7 +207,7 @@ class DistribuerJournalpostService(
if (distribusjonKanal.distribusjonskanal == DistribusjonsKanal.PRINT) {
hentOgValiderAdresse(
distribuerJournalpostRequest,
- journalpost
+ journalpost,
)
} else {
null
@@ -220,7 +217,8 @@ class DistribuerJournalpostService(
val distribuerResponse =
dokdistFordelingConsumer.distribuerJournalpost(journalpost, batchId, adresse)
LOGGER.info(
- "Bestillte distribusjon av journalpost $journalpostId med bestillingsId ${distribuerResponse.bestillingsId}, antall dokumenter ${journalpost.dokumenter.size} og kanal ${distribusjonKanal.distribusjonskanal}(${distribusjonKanal.regel}-${distribusjonKanal.regelBegrunnelse})."
+ "Bestillte distribusjon av journalpost $journalpostId med bestillingsId ${distribuerResponse.bestillingsId}, " +
+ "antall dokumenter ${journalpost.dokumenter.size} og kanal ${distribusjonKanal.distribusjonskanal}(${distribusjonKanal.regel}-${distribusjonKanal.regelBegrunnelse}).",
)
// Distribusjonsløpet oppdaterer journalpost og overskriver alt av tilleggsopplysninger. Hent journalpost på nytt for å unngå overskrive noe som distribusjon har lagret
@@ -235,11 +233,11 @@ class DistribuerJournalpostService(
val journalpostEtter = hentJournalpost(journalpostId)
val datoDokument = journalpostFør.hentDatoDokument()?.toString()
LOGGER.info(
- "Dokumentdato ($datoDokument) til journalpost $journalpostId er ikke samme som dato distribusjon ble bestilt. Oppdaterer dokumentdato til i dag"
+ "Dokumentdato ($datoDokument) til journalpost $journalpostId er ikke samme som dato distribusjon ble bestilt. Oppdaterer dokumentdato til i dag",
)
endreJournalpostService.oppdaterDokumentdatoTilIdag(
journalpostEtter.hentJournalpostIdLong()!!,
- journalpostEtter
+ journalpostEtter,
)
}
}
@@ -257,8 +255,8 @@ class DistribuerJournalpostService(
LeggTilBeskjedPåTittel(
journalpostEtter.hentJournalpostIdLong()!!,
journalpostEtter,
- "dokumentet er sendt per post med vedlegg"
- )
+ "dokumentet er sendt per post med vedlegg",
+ ),
)
}
}
@@ -268,7 +266,7 @@ class DistribuerJournalpostService(
journalpostFør: Journalpost,
adresse: DistribuerTilAdresse? = null,
erLokalUtskrift: Boolean = false,
- bestemKanalResponse: BestemKanalResponse? = null
+ bestemKanalResponse: BestemKanalResponse? = null,
) {
val journalpostEtter = hentJournalpost(journalpostId)
leggTilEksisterendeTilleggsopplysninger(journalpostEtter, journalpostFør)
@@ -279,26 +277,23 @@ class DistribuerJournalpostService(
val saksbehandlerId = saksbehandlerInfoManager.hentSaksbehandlerBrukerId()
saksbehandlerId?.run {
journalpostEtter.tilleggsopplysninger.setDistribuertAvIdent(
- saksbehandlerId
+ saksbehandlerId,
)
}
endreJournalpostService.oppdaterJournalpostTilleggsopplysninger(
journalpostId,
- journalpostEtter
+ journalpostEtter,
)
}
- private fun leggTilEksisterendeTilleggsopplysninger(
- journalpostEtter: Journalpost,
- journalpostFør: Journalpost
- ) {
+ private fun leggTilEksisterendeTilleggsopplysninger(journalpostEtter: Journalpost, journalpostFør: Journalpost) {
journalpostEtter.tilleggsopplysninger
.addAll(
journalpostFør.tilleggsopplysninger.filter {
!journalpostEtter.tilleggsopplysninger.contains(
- it
+ it,
)
- }
+ },
)
}
@@ -308,15 +303,15 @@ class DistribuerJournalpostService(
throw JournalpostIkkeFunnetException(
String.format(
"Fant ingen journalpost med id %s",
- journalpostId
- )
+ journalpostId,
+ ),
)
}
}
private fun hentOgValiderAdresse(
distribuerJournalpostRequestInternal: DistribuerJournalpostRequestInternal,
- journalpost: Journalpost
+ journalpost: Journalpost,
): DistribuerTilAdresse? {
val adresse = hentAdresse(distribuerJournalpostRequestInternal, journalpost)
if (adresse != null) {
@@ -329,14 +324,14 @@ class DistribuerJournalpostService(
private fun hentAdresse(
distribuerJournalpostRequestInternal: DistribuerJournalpostRequestInternal,
- journalpost: Journalpost
+ journalpost: Journalpost,
): DistribuerTilAdresse? {
if (distribuerJournalpostRequestInternal.hasAdresse()) {
return distribuerJournalpostRequestInternal.getAdresse()
}
LOGGER.info(
"Distribusjon av journalpost bestilt uten adresse. Henter adresse for mottaker. JournalpostId {}",
- journalpost.journalpostId
+ journalpost.journalpostId,
)
val adresseResponse = personConsumer.hentAdresse(journalpost.hentAvsenderMottakerId())
if (Objects.isNull(adresseResponse)) {
@@ -349,7 +344,7 @@ class DistribuerJournalpostService(
adresseResponse.adresselinje3?.verdi,
adresseResponse.land.verdi,
adresseResponse.postnummer?.verdi,
- adresseResponse.poststed?.verdi
+ adresseResponse.poststed?.verdi,
)
}
@@ -357,7 +352,7 @@ class DistribuerJournalpostService(
endreJournalpostService.oppdaterDistribusjonsInfo(
journalpostId,
true,
- JournalpostUtsendingKanal.L
+ JournalpostUtsendingKanal.L,
)
}
@@ -367,16 +362,13 @@ class DistribuerJournalpostService(
?: throw JournalpostIkkeFunnetException(
String.format(
"Fant ingen journalpost med id %s",
- journalpostId
- )
+ journalpostId,
+ ),
)
validerKanDistribueres(journalpost)
}
- private fun lagreAdresse(
- distribuerTilAdresse: DistribuerTilAdresse?,
- journalpost: Journalpost
- ) {
+ private fun lagreAdresse(distribuerTilAdresse: DistribuerTilAdresse?, journalpost: Journalpost) {
if (distribuerTilAdresse != null) {
val mottakerAdresseDO = mapToAdresseDO(distribuerTilAdresse)
if (journalpost.isUtgaaendeDokument() && mottakerAdresseDO != null) {
@@ -393,18 +385,14 @@ class DistribuerJournalpostService(
adresselinje3 = adresse.adresselinje3,
land = adresse.land!!,
poststed = adresse.poststed,
- postnummer = adresse.postnummer
+ postnummer = adresse.postnummer,
)
} else {
null
}
}
- private fun measureDistribution(
- journalpost: Journalpost,
- batchId: String?,
- lokalUtskrift: Boolean = false
- ) {
+ private fun measureDistribution(journalpost: Journalpost, batchId: String?, lokalUtskrift: Boolean = false) {
try {
val kanal =
if (lokalUtskrift) "LOKAL_UTSKRIFT" else hentDistribusjonKanal(journalpost).distribusjonskanal.name
@@ -414,7 +402,7 @@ class DistribuerJournalpostService(
if (Strings.isNullOrEmpty(batchId)) "NONE" else batchId,
"enhet", journalpost.journalforendeEnhet,
"tema", journalpost.tema,
- "kanal", kanal
+ "kanal", kanal,
).increment()
distributionAntallDokumenter.record(journalpost.dokumenter.size.toDouble())
diff --git a/src/main/java/no/nav/bidrag/dokument/arkiv/service/DokumentService.kt b/src/main/java/no/nav/bidrag/dokument/arkiv/service/DokumentService.kt
index 2d93131e..8a5b22e9 100644
--- a/src/main/java/no/nav/bidrag/dokument/arkiv/service/DokumentService.kt
+++ b/src/main/java/no/nav/bidrag/dokument/arkiv/service/DokumentService.kt
@@ -15,7 +15,7 @@ import org.springframework.stereotype.Service
@Service
class DokumentService(
safConsumers: ResourceByDiscriminator,
- journalpostServices: ResourceByDiscriminator
+ journalpostServices: ResourceByDiscriminator,
) {
private val safConsumer: SafConsumer
private val journalpostService: JournalpostService
@@ -30,12 +30,7 @@ class DokumentService(
return safConsumer.hentDokument(journalpostId, java.lang.Long.valueOf(dokumentReferanse))
}
- fun tilDokumentMetadata(
- journalStatus: JournalStatus?,
- dokumentReferanse: String?,
- journalpostId: Long?,
- tittel: String?
- ) = DokumentMetadata(
+ fun tilDokumentMetadata(journalStatus: JournalStatus?, dokumentReferanse: String?, journalpostId: Long?, tittel: String?) = DokumentMetadata(
arkivsystem = DokumentArkivSystemDto.JOARK,
dokumentreferanse = dokumentReferanse,
journalpostId = "JOARK-$journalpostId",
@@ -45,13 +40,10 @@ class DokumentService(
JournalStatus.AVBRUTT, JournalStatus.FEILREGISTRERT, JournalStatus.UTGAAR -> DokumentStatusDto.AVBRUTT
else -> DokumentStatusDto.FERDIGSTILT
},
- tittel = tittel
+ tittel = tittel,
)
- fun hentDokumentMetadata(
- journalpostId: Long? = null,
- dokumentReferanse: String?
- ): List {
+ fun hentDokumentMetadata(journalpostId: Long? = null, dokumentReferanse: String?): List {
if (journalpostId == null && dokumentReferanse != null) {
return listOf(
journalpostService.finnTilknyttedeJournalposter(dokumentReferanse)
@@ -60,9 +52,9 @@ class DokumentService(
it.journalstatus,
dokumentReferanse,
it.journalpostId,
- it.tittel
+ it.tittel,
)
- }.first()
+ }.first(),
)
}
@@ -72,7 +64,7 @@ class DokumentService(
journalpost.journalstatus,
it.dokumentInfoId,
journalpostId,
- it.tittel
+ it.tittel,
)
}?.filter { dokumentReferanse.isNullOrEmpty() || it.dokumentreferanse == dokumentReferanse }
?: emptyList()
diff --git a/src/main/java/no/nav/bidrag/dokument/arkiv/service/EndreJournalpostService.kt b/src/main/java/no/nav/bidrag/dokument/arkiv/service/EndreJournalpostService.kt
index 0cfafa56..0281d884 100644
--- a/src/main/java/no/nav/bidrag/dokument/arkiv/service/EndreJournalpostService.kt
+++ b/src/main/java/no/nav/bidrag/dokument/arkiv/service/EndreJournalpostService.kt
@@ -31,7 +31,7 @@ class EndreJournalpostService(
private val dokarkivConsumer: DokarkivConsumer,
private val dokarkivKnyttTilSakConsumer: DokarkivKnyttTilSakConsumer,
private val hendelserProducer: HendelserProducer,
- private val saksbehandlerInfoManager: SaksbehandlerInfoManager
+ private val saksbehandlerInfoManager: SaksbehandlerInfoManager,
) {
fun endre(journalpostId: Long, endreJournalpostCommand: EndreJournalpostCommandIntern) {
var journalpost = hentJournalpost(journalpostId)
@@ -48,12 +48,12 @@ class EndreJournalpostService(
private fun publiserJournalpostEndretHendelse(
journalpost: Journalpost,
journalpostId: Long,
- endreJournalpostCommand: EndreJournalpostCommandIntern
+ endreJournalpostCommand: EndreJournalpostCommandIntern,
) {
if (journalpost.isInngaaendeDokument()) {
hendelserProducer.publishJournalpostUpdated(
journalpostId,
- endreJournalpostCommand.enhet
+ endreJournalpostCommand.enhet,
)
}
}
@@ -62,11 +62,7 @@ class EndreJournalpostService(
return dokarkivConsumer.endre(oppdaterJournalpostRequest)
}
- private fun lagreJournalpost(
- journalpostId: Long,
- endreJournalpostCommand: EndreJournalpostCommandIntern,
- journalpost: Journalpost
- ) {
+ private fun lagreJournalpost(journalpostId: Long, endreJournalpostCommand: EndreJournalpostCommandIntern, journalpost: Journalpost) {
val oppdaterJournalpostRequest =
LagreJournalpostRequest(journalpostId, endreJournalpostCommand, journalpost)
lagreJournalpost(oppdaterJournalpostRequest)
@@ -75,10 +71,7 @@ class EndreJournalpostService(
}
}
- private fun journalfoerJournalpostNarMottaksregistrert(
- endreJournalpostCommand: EndreJournalpostCommandIntern,
- journalpost: Journalpost
- ) {
+ private fun journalfoerJournalpostNarMottaksregistrert(endreJournalpostCommand: EndreJournalpostCommandIntern, journalpost: Journalpost) {
if (endreJournalpostCommand.skalJournalfores() && journalpost.isStatusMottatt()) {
val journalpostId = journalpost.hentJournalpostIdLong()
journalfoerJournalpost(journalpostId, endreJournalpostCommand.enhet, journalpost)
@@ -86,33 +79,27 @@ class EndreJournalpostService(
}
}
- fun lagreSaksbehandlerIdentForJournalfortJournalpost(
- journalpost: Journalpost,
- saksbehandlerIdent: String?
- ) {
+ fun lagreSaksbehandlerIdentForJournalfortJournalpost(journalpost: Journalpost, saksbehandlerIdent: String?) {
try {
lagreJournalpost(
LagreJournalfortAvIdentRequest(
journalpost.hentJournalpostIdLong()!!,
journalpost,
- (saksbehandlerIdent ?: saksbehandlerInfoManager.hentSaksbehandlerBrukerId())!!
- )
+ (saksbehandlerIdent ?: saksbehandlerInfoManager.hentSaksbehandlerBrukerId())!!,
+ ),
)
} catch (e: Exception) {
throw LagreSaksbehandlerIdentForJournalfortJournalpostFeilet(
String.format(
"Lagring av saksbehandler ident for journalført journalpost %s feilet",
- journalpost.journalpostId
+ journalpost.journalpostId,
),
- e
+ e,
)
}
}
- private fun tilknyttSakerTilJournalfoertJournalpost(
- endreJournalpostCommand: EndreJournalpostCommandIntern,
- journalpost: Journalpost
- ) {
+ private fun tilknyttSakerTilJournalfoertJournalpost(endreJournalpostCommand: EndreJournalpostCommandIntern, journalpost: Journalpost) {
if (journalpost.kanTilknytteSaker()) {
journalpostService.populerMedTilknyttedeSaker(journalpost)
endreJournalpostCommand.hentTilknyttetSaker().stream()
@@ -122,9 +109,9 @@ class EndreJournalpostService(
Consumer { saksnummer: String? ->
tilknyttTilSak(
saksnummer,
- journalpost
+ journalpost,
)
- }
+ },
)
}
}
@@ -138,33 +125,26 @@ class EndreJournalpostService(
KnyttTilSakRequest(saksnummer!!, journalpost, tema)
val (nyJournalpostId) = dokarkivKnyttTilSakConsumer.knyttTilSak(
journalpost.hentJournalpostIdLong(),
- knyttTilAnnenSakRequest
+ knyttTilAnnenSakRequest,
)
LOGGER.info(
"Tilknyttet journalpost {} til sak {} med ny journalpostId {} og tema {}",
journalpost.journalpostId,
saksnummer,
nyJournalpostId,
- tema
+ tema,
)
journalpost.leggTilTilknyttetSak(saksnummer)
}
- private fun journalfoerJournalpost(
- journalpostId: Long?,
- enhet: String?,
- journalpost: Journalpost
- ) {
+ private fun journalfoerJournalpost(journalpostId: Long?, enhet: String?, journalpost: Journalpost) {
val journalforRequest = FerdigstillJournalpostRequest(journalpostId!!, enhet!!)
dokarkivConsumer.ferdigstill(journalforRequest)
LOGGER.info("Journalpost med id $journalpostId er journalført")
lagreSaksbehandlerIdentForJournalfortJournalpost(journalpost, null)
}
- fun oppdaterJournalpostDistribusjonBestiltStatus(
- journalpostId: Long,
- journalpost: Journalpost
- ) {
+ fun oppdaterJournalpostDistribusjonBestiltStatus(journalpostId: Long, journalpost: Journalpost) {
lagreJournalpost(OppdaterJournalpostDistribusjonsInfoRequest(journalpostId, journalpost))
}
@@ -182,15 +162,11 @@ class EndreJournalpostService(
?: throw JournalpostIkkeFunnetException("Kunne ikke finne journalpost med id: $journalpostId")
}
- fun oppdaterDistribusjonsInfo(
- journalpostId: Long?,
- settStatusEkspedert: Boolean,
- utsendingsKanal: JournalpostUtsendingKanal?
- ) {
+ fun oppdaterDistribusjonsInfo(journalpostId: Long?, settStatusEkspedert: Boolean, utsendingsKanal: JournalpostUtsendingKanal?) {
dokarkivConsumer.oppdaterDistribusjonsInfo(
journalpostId,
settStatusEkspedert,
- utsendingsKanal
+ utsendingsKanal,
)
}
diff --git a/src/main/java/no/nav/bidrag/dokument/arkiv/service/JournalpostService.kt b/src/main/java/no/nav/bidrag/dokument/arkiv/service/JournalpostService.kt
index eae62b3f..1a2260ae 100644
--- a/src/main/java/no/nav/bidrag/dokument/arkiv/service/JournalpostService.kt
+++ b/src/main/java/no/nav/bidrag/dokument/arkiv/service/JournalpostService.kt
@@ -16,7 +16,7 @@ import java.util.Optional
class JournalpostService(
private val safConsumer: SafConsumer,
- private val personConsumer: PersonConsumer
+ private val personConsumer: PersonConsumer,
) {
fun hentJournalpost(journalpostId: Long): Journalpost? {
return hentJournalpost(journalpostId, null)
@@ -26,28 +26,21 @@ class JournalpostService(
return hentJournalpost(journalpostId)?.let { populerMedTilknyttedeSaker(it) }
}
- fun hentJournalpostMedFnrOgTilknyttedeSaker(
- journalpostId: Long,
- saksnummer: String?
- ): Optional {
+ fun hentJournalpostMedFnrOgTilknyttedeSaker(journalpostId: Long, saksnummer: String?): Optional {
return hentJournalpostMedFnr(journalpostId, saksnummer)?.let {
Optional.ofNullable(
- populerMedTilknyttedeSaker(it)
+ populerMedTilknyttedeSaker(it),
)
} ?: Optional.empty()
}
- fun List.inneholderBidragFagomrader() =
- this.isEmpty() || this.hentIkkeBidragFagomrader().isEmpty()
+ fun List.inneholderBidragFagomrader() = this.isEmpty() || this.hentIkkeBidragFagomrader().isEmpty()
fun List.hentIkkeBidragFagomrader() = this.filter { it != "BID" && it != "FAR" }
- fun finnJournalposter(
- saksnummer: String,
- fagomrade: List = emptyList()
- ): List {
+ fun finnJournalposter(saksnummer: String, fagomrade: List = emptyList()): List {
if (!fagomrade.inneholderBidragFagomrader()) {
kanIkkeHenteJournalMedUgyldigFagomrade(
- fagomrade.hentIkkeBidragFagomrader().joinToString(",")
+ fagomrade.hentIkkeBidragFagomrader().joinToString(","),
)
}
return finnJournalposterForSaksnummer(saksnummer, fagomrade)
@@ -95,10 +88,7 @@ class JournalpostService(
return hentJournalpost(journalpostId, saksummer)?.let { konverterAktoerIdTilFnr(it) }
}
- fun finnJournalposterForSaksnummer(
- saksnummer: String,
- fagomrade: List = emptyList()
- ): List {
+ fun finnJournalposterForSaksnummer(saksnummer: String, fagomrade: List = emptyList()): List {
return safConsumer.finnJournalposter(saksnummer, fagomrade)
}
diff --git a/src/main/java/no/nav/bidrag/dokument/arkiv/service/OppgaveService.kt b/src/main/java/no/nav/bidrag/dokument/arkiv/service/OppgaveService.kt
index 113cb49d..2a6bc56b 100644
--- a/src/main/java/no/nav/bidrag/dokument/arkiv/service/OppgaveService.kt
+++ b/src/main/java/no/nav/bidrag/dokument/arkiv/service/OppgaveService.kt
@@ -26,14 +26,10 @@ import java.util.function.Consumer
class OppgaveService(
private val personConsumers: ResourceByDiscriminator,
private val oppgaveConsumers: ResourceByDiscriminator,
- private val saksbehandlerInfoManager: SaksbehandlerInfoManager
+ private val saksbehandlerInfoManager: SaksbehandlerInfoManager,
) {
- fun leggTilKommentarPaaJournalforingsoppgave(
- journalpost: Journalpost,
- saksbehandlerMedEnhet: SaksbehandlerMedEnhet,
- kommentar: String
- ) {
+ fun leggTilKommentarPaaJournalforingsoppgave(journalpost: Journalpost, saksbehandlerMedEnhet: SaksbehandlerMedEnhet, kommentar: String) {
val oppgaver = finnJournalforingOppgaverForJournalpost(journalpost.hentJournalpostIdLong())
oppgaver.filter { it.tildeltEnhetsnr != OppgaveEnhet.FAGPOST }.forEach(
Consumer { oppgave: OppgaveData ->
@@ -43,11 +39,11 @@ class OppgaveService(
oppgave,
saksbehandlerMedEnhet.enhetsnummer,
saksbehandlerMedEnhet.hentSaksbehandlerInfo(),
- kommentar
- )
+ kommentar,
+ ),
)
LOGGER.info("Journalføringsoppgave ${oppgave.id} for journalpost ${journalpost.journalpostId} ble overført til fagpost")
- }
+ },
)
}
@@ -59,13 +55,7 @@ class OppgaveService(
opprettOppgave(opprettOppgaveFagpostRequest)
}
- fun opprettVurderDokumentOppgave(
- journalpost: Journalpost,
- journalpostId: String,
- tildeltEnhetsnr: String,
- tema: String,
- kommentar: String?
- ) {
+ fun opprettVurderDokumentOppgave(journalpost: Journalpost, journalpostId: String, tildeltEnhetsnr: String, tema: String, kommentar: String?) {
val aktorId = hentAktorId(journalpost.hentGjelderId())
opprettOppgave(
OpprettVurderDokumentOppgaveRequest(
@@ -75,8 +65,8 @@ class OppgaveService(
tema,
aktorId!!,
hentSaksbehandlerMedEnhet(journalpost.journalforendeEnhet),
- kommentar
- )
+ kommentar,
+ ),
)
}
@@ -89,7 +79,7 @@ class OppgaveService(
LOGGER.info(
"Ferdigstiller oppgave {} med oppgavetype {}",
oppgaveData.id,
- oppgaveData.oppgavetype
+ oppgaveData.oppgavetype,
)
oppgaveConsumers.get(Discriminator.SERVICE_USER)
.patchOppgave(FerdigstillOppgaveRequest(oppgaveData, enhetsnr))
@@ -112,7 +102,7 @@ class OppgaveService(
.orElseGet {
PersonDto(
ident = PersonIdent(gjelder),
- aktørId = AktørId(gjelder)
+ aktørId = AktørId(gjelder),
)
}.aktørId?.verdi
}
diff --git a/src/main/java/no/nav/bidrag/dokument/arkiv/service/OpprettJournalpostService.kt b/src/main/java/no/nav/bidrag/dokument/arkiv/service/OpprettJournalpostService.kt
index e24da3af..2adf6951 100644
--- a/src/main/java/no/nav/bidrag/dokument/arkiv/service/OpprettJournalpostService.kt
+++ b/src/main/java/no/nav/bidrag/dokument/arkiv/service/OpprettJournalpostService.kt
@@ -45,7 +45,7 @@ class OpprettJournalpostService(
private val saksbehandlerInfoManager: SaksbehandlerInfoManager,
private val dokumentService: DokumentService,
private val endreJournalpostService: EndreJournalpostService,
- private val bidragDokumentConsumer: BidragDokumentConsumer
+ private val bidragDokumentConsumer: BidragDokumentConsumer,
) {
private val dokarkivConsumer: DokarkivConsumer
private val safConsumer: SafConsumer
@@ -65,33 +65,29 @@ class OpprettJournalpostService(
val respons = opprettJournalpost(
opprettJournalpostRequest,
request.tilknyttSaker,
- skalFerdigstilles = false
+ skalFerdigstilles = false,
)
val journalpostId = respons.journalpostId!!.toLong()
ferdigstillJournalpost(
journalpostId,
request.hentJournalførendeEnhet()!!,
- request.saksbehandlerIdent
+ request.saksbehandlerIdent,
)
lagreSaksbehandlerIdentOgKnyttFerdigstiltJournalpostTilSaker(
journalpostId,
request.tilknyttSaker,
- request.saksbehandlerIdent
+ request.saksbehandlerIdent,
)
return respons
}
return opprettJournalpost(
opprettJournalpostRequest,
request.tilknyttSaker,
- skalFerdigstilles = request.skalFerdigstilles
+ skalFerdigstilles = request.skalFerdigstilles,
)
}
- private fun ferdigstillJournalpost(
- journalpostId: Long,
- journalfoerendeEnhet: String,
- saksbehandlerIdent: String?
- ) {
+ private fun ferdigstillJournalpost(journalpostId: Long, journalfoerendeEnhet: String, saksbehandlerIdent: String?) {
val saksbehandlerNavn =
saksbehandlerIdent?.let { saksbehandlerInfoManager.hentSaksbehandler(it) }
?.orElse(null)?.navn
@@ -100,8 +96,8 @@ class OpprettJournalpostService(
journalpostId = journalpostId,
journalfoerendeEnhet = journalfoerendeEnhet,
opprettetAvNavn = saksbehandlerNavn,
- journalfortAvNavn = saksbehandlerNavn
- )
+ journalfortAvNavn = saksbehandlerNavn,
+ ),
)
}
@@ -109,7 +105,7 @@ class OpprettJournalpostService(
_request: JoarkOpprettJournalpostRequest,
knyttTilSaker: List = emptyList(),
originalJournalpostId: Long?,
- skalFerdigstilles: Boolean = false
+ skalFerdigstilles: Boolean = false,
): OpprettJournalpostResponse {
val tilknyttetSak =
if (knyttTilSaker.isNotEmpty()) knyttTilSaker[0] else _request.sak?.fagsakId
@@ -119,9 +115,9 @@ class OpprettJournalpostService(
null
} else {
JoarkOpprettJournalpostRequest.OpprettJournalpostSak(
- tilknyttetSak
+ tilknyttetSak,
)
- }
+ },
)
request = populerMedDokumenterByteData(request, originalJournalpostId)
return opprettJournalpost(request, knyttTilSaker, skalFerdigstilles)
@@ -130,12 +126,14 @@ class OpprettJournalpostService(
private fun opprettJournalpost(
request: JoarkOpprettJournalpostRequest,
knyttTilSaker: List = emptyList(),
- skalFerdigstilles: Boolean = false
+ skalFerdigstilles: Boolean = false,
): OpprettJournalpostResponse {
validerKanOppretteJournalpost(request, skalFerdigstilles)
val response = dokarkivConsumer.opprett(request, skalFerdigstilles)
- LOGGER.info("Opprettet ny journalpost ${response.journalpostId} med type=${request.journalpostType} kanal=${request.kanal}, tema=${request.tema}, referanseId=${request.eksternReferanseId} og enhet=${request.journalfoerendeEnhet}")
+ LOGGER.info(
+ "Opprettet ny journalpost ${response.journalpostId} med type=${request.journalpostType} kanal=${request.kanal}, tema=${request.tema}, referanseId=${request.eksternReferanseId} og enhet=${request.journalfoerendeEnhet}",
+ )
SECURE_LOGGER.info("Opprettet ny journalpost {}", response)
validerOpprettJournalpostResponse(skalFerdigstilles, response)
@@ -143,7 +141,7 @@ class OpprettJournalpostService(
if (response.journalpostferdigstilt) {
lagreSaksbehandlerIdentOgKnyttFerdigstiltJournalpostTilSaker(
response.journalpostId!!,
- knyttTilSaker
+ knyttTilSaker,
)
}
@@ -151,39 +149,36 @@ class OpprettJournalpostService(
journalpostId = response.journalpostId.toString(),
dokumenter = response.dokumenter?.map {
OpprettDokumentDto(dokumentreferanse = it.dokumentInfoId)
- } ?: emptyList()
+ } ?: emptyList(),
)
}
private fun lagreSaksbehandlerIdentOgKnyttFerdigstiltJournalpostTilSaker(
journalpostId: Long,
knyttTilSaker: List,
- saksbehandlerIdent: String? = null
+ saksbehandlerIdent: String? = null,
) {
try {
val opprettetJournalpost = hentJournalpost(journalpostId)
endreJournalpostService.lagreSaksbehandlerIdentForJournalfortJournalpost(
opprettetJournalpost,
- saksbehandlerIdent
+ saksbehandlerIdent,
)
knyttSakerTilOpprettetJournalpost(opprettetJournalpost, knyttTilSaker)
} catch (e: Exception) {
LOGGER.error(
"Etterbehandling av opprettet journalpost feilet (knytt til flere saker eller lagre saksbehandler ident). Fortsetter behandling da feilen må behandles manuelt.",
- e
+ e,
)
}
}
- private fun validerOpprettJournalpostResponse(
- skalFerdigstilles: Boolean,
- response: JoarkOpprettJournalpostResponse
- ) {
+ private fun validerOpprettJournalpostResponse(skalFerdigstilles: Boolean, response: JoarkOpprettJournalpostResponse) {
if (skalFerdigstilles && !response.journalpostferdigstilt) {
val message = String.format(
"Kunne ikke journalføre journalpost %s med feilmelding %s",
response.journalpostId,
- response.melding
+ response.melding,
)
LOGGER.error(message)
throw KunneIkkeJournalforeOpprettetJournalpost(message)
@@ -198,25 +193,19 @@ class OpprettJournalpostService(
}
}
- private fun knyttSakerTilOpprettetJournalpost(
- opprettetJournalpost: Journalpost,
- knyttTilSaker: List
- ) {
+ private fun knyttSakerTilOpprettetJournalpost(opprettetJournalpost: Journalpost, knyttTilSaker: List) {
knyttTilSaker
.stream()
.filter { saksnummer: String -> saksnummer != opprettetJournalpost.sak!!.fagsakId }
.forEach { saksnummer: String? ->
endreJournalpostService.tilknyttTilSak(
saksnummer,
- opprettetJournalpost
+ opprettetJournalpost,
)
}
}
- private fun populerMedDokumenterByteData(
- request: JoarkOpprettJournalpostRequest,
- originalJournalpostId: Long?
- ): JoarkOpprettJournalpostRequest {
+ private fun populerMedDokumenterByteData(request: JoarkOpprettJournalpostRequest, originalJournalpostId: Long?): JoarkOpprettJournalpostRequest {
if (originalJournalpostId != null) {
return request.copy(
dokumenter = request.dokumenter.map {
@@ -226,7 +215,7 @@ class OpprettJournalpostService(
} else {
it
}
- }
+ },
)
}
return request
@@ -286,11 +275,11 @@ class OpprettJournalpostService(
},
bruker = JoarkOpprettJournalpostRequest.OpprettJournalpostBruker(
id = request.hentGjelderIdent(),
- idType = request.hentGjelderType()?.name
+ idType = request.hentGjelderType()?.name,
),
avsenderMottaker = if (request.journalposttype != JournalpostType.NOTAT) {
mapMottaker(
- request
+ request,
)
} else {
null
@@ -307,12 +296,12 @@ class OpprettJournalpostService(
dokumentvarianter = listOf(
opprettDokumentVariant(
null,
- hentDokument(it)
- )
- )
+ hentDokument(it),
+ ),
+ ),
)
},
- tilleggsopplysninger = tilleggsOpplysninger
+ tilleggsopplysninger = tilleggsOpplysninger,
)
}
@@ -322,18 +311,18 @@ class OpprettJournalpostService(
} ?: dokumentDto.dokumentreferanse?.let {
LOGGER.info("Henter dokument bytedata for dokument med tittel ${dokumentDto.tittel} og dokumentreferanse ${dokumentDto.dokumentreferanse}")
bidragDokumentConsumer.hentDokument(
- it
+ it,
)
} ?: throw HttpClientErrorException(
HttpStatus.BAD_REQUEST,
- "Fant ikke referanse eller data for dokument med tittel ${dokumentDto.tittel}"
+ "Fant ikke referanse eller data for dokument med tittel ${dokumentDto.tittel}",
)
}
private fun mapMottaker(request: OpprettJournalpostRequest): JoarkOpprettJournalpostRequest.OpprettJournalpostAvsenderMottaker =
if (request.avsenderMottaker?.erSamhandler() == true) {
JoarkOpprettJournalpostRequest.OpprettJournalpostAvsenderMottaker(
- navn = request.avsenderMottaker?.navn
+ navn = request.avsenderMottaker?.navn,
)
} else {
JoarkOpprettJournalpostRequest.OpprettJournalpostAvsenderMottaker(
@@ -346,7 +335,7 @@ class OpprettJournalpostService(
AvsenderMottakerDtoIdType.UTENLANDSK_ORGNR -> AvsenderMottakerIdType.UTL_ORG
else -> AvsenderMottakerIdType.FNR
}
- }
+ },
)
}
diff --git a/src/main/kotlin/no/nav/bidrag/dokument/arkiv/config/RestConfig.kt b/src/main/kotlin/no/nav/bidrag/dokument/arkiv/config/RestConfig.kt
index 6f4f2d12..78e06df6 100644
--- a/src/main/kotlin/no/nav/bidrag/dokument/arkiv/config/RestConfig.kt
+++ b/src/main/kotlin/no/nav/bidrag/dokument/arkiv/config/RestConfig.kt
@@ -12,16 +12,16 @@ import java.time.format.DateTimeFormatter
class RestConfig {
@Bean
- fun jackson2ObjectMapperBuilderCustomizer(): Jackson2ObjectMapperBuilderCustomizer =
- Jackson2ObjectMapperBuilderCustomizer {
- it.failOnUnknownProperties(false)
- it.failOnEmptyBeans(false)
- it.modulesToInstall(
- JavaTimeModule()
- .addDeserializer(
- YearMonth::class.java,
- YearMonthDeserializer(DateTimeFormatter.ofPattern("u-MM")) // Denne trengs for å parse år over 9999 riktig.
- )
- )
- }
+ fun jackson2ObjectMapperBuilderCustomizer(): Jackson2ObjectMapperBuilderCustomizer = Jackson2ObjectMapperBuilderCustomizer {
+ it.failOnUnknownProperties(false)
+ it.failOnEmptyBeans(false)
+ it.modulesToInstall(
+ JavaTimeModule()
+ .addDeserializer(
+ YearMonth::class.java,
+ // Denne trengs for å parse år over 9999 riktig.
+ YearMonthDeserializer(DateTimeFormatter.ofPattern("u-MM")),
+ ),
+ )
+ }
}
diff --git a/src/main/kotlin/no/nav/bidrag/dokument/arkiv/dto/Avvik.kt b/src/main/kotlin/no/nav/bidrag/dokument/arkiv/dto/Avvik.kt
index 034c5fd3..adb4e181 100644
--- a/src/main/kotlin/no/nav/bidrag/dokument/arkiv/dto/Avvik.kt
+++ b/src/main/kotlin/no/nav/bidrag/dokument/arkiv/dto/Avvik.kt
@@ -28,11 +28,11 @@ data class AvvikshendelseIntern(
var saksnummer: String? = null,
var dokumenter: List? = emptyList(),
var adresse: DistribuerTilAdresse? = null,
- private val detaljer: Map = HashMap()
+ private val detaljer: Map = HashMap(),
) {
val returDato: String
get() = detaljer[AvvikDetaljer.RETUR_DATO] ?: throw AvvikDetaljException(
- AvvikDetaljer.RETUR_DATO
+ AvvikDetaljer.RETUR_DATO,
)
val enhetsnummer: String
get() = detaljer[AvvikDetaljer.ENHETSNUMMER]
@@ -42,7 +42,7 @@ data class AvvikshendelseIntern(
?: throw AvvikDetaljException(AvvikDetaljer.ENHETSNUMMER_GAMMELT)
val enhetsnummerNytt: String
get() = detaljer[AvvikDetaljer.ENHETSNUMMER_NYTT] ?: throw AvvikDetaljException(
- AvvikDetaljer.ENHETSNUMMER_NYTT
+ AvvikDetaljer.ENHETSNUMMER_NYTT,
)
val nyttFagomrade: String
get() = detaljer[AvvikDetaljer.FAGOMRADE]
@@ -52,14 +52,14 @@ data class AvvikshendelseIntern(
?: throw AvvikDetaljException(AvvikDetaljer.UTSENDINGSKANAL)
val knyttTilSaker: List
get() = detaljer[AvvikDetaljer.KNYTT_TIL_SAKER]?.split(",") ?: throw AvvikDetaljException(
- AvvikDetaljer.KNYTT_TIL_SAKER
+ AvvikDetaljer.KNYTT_TIL_SAKER,
)
val isBidragFagomrade: Boolean get() = nyttFagomrade == Fagomrade.BID.name || nyttFagomrade == Fagomrade.FAR.name
constructor(
avvikshendelse: Avvikshendelse,
opprettetAvEnhetsnummer: String,
- journalpostId: Long
+ journalpostId: Long,
) : this(
avvikstype = AvvikType.valueOf(avvikshendelse.avvikType),
beskrivelse = avvikshendelse.beskrivelse,
@@ -68,45 +68,41 @@ data class AvvikshendelseIntern(
dokumenter = avvikshendelse.dokumenter,
saksnummer = avvikshendelse.saksnummer,
detaljer = avvikshendelse.detaljer,
- adresse = avvikshendelse.adresse
+ adresse = avvikshendelse.adresse,
)
- fun toLeggTiLFarskapUtelukketTilTittelRequest(journalpost: Journalpost) =
- EndreTittelRequest(
- journalpostId,
- "$FARSKAP_UTELUKKET_PREFIKS: ${journalpost.hentHoveddokument()?.tittel ?: journalpost.tittel}",
- journalpost
- )
+ fun toLeggTiLFarskapUtelukketTilTittelRequest(journalpost: Journalpost) = EndreTittelRequest(
+ journalpostId,
+ "$FARSKAP_UTELUKKET_PREFIKS: ${journalpost.hentHoveddokument()?.tittel ?: journalpost.tittel}",
+ journalpost,
+ )
fun toEndreFagomradeRequest() = EndreFagomradeRequest(journalpostId, nyttFagomrade)
- fun toEndreFagomradeOgKnyttTilSakRequest(bruker: Bruker) =
- EndreFagomradeOgKnyttTilSakRequest(
- journalpostId,
- nyttFagomrade,
- OppdaterJournalpostRequest.Bruker(bruker.id, bruker.type)
- )
+ fun toEndreFagomradeOgKnyttTilSakRequest(bruker: Bruker) = EndreFagomradeOgKnyttTilSakRequest(
+ journalpostId,
+ nyttFagomrade,
+ OppdaterJournalpostRequest.Bruker(bruker.id, bruker.type),
+ )
fun toEndreFagomradeJournalfortJournalpostRequest(journalpost: Journalpost) =
EndreFagomradeJournalfortJournalpostRequest(journalpostId, journalpost)
- fun toKnyttTilGenerellSakRequest(fagomrade: String, bruker: Bruker) =
- EndreKnyttTilGenerellSakRequest(
- journalpostId,
- OppdaterJournalpostRequest.Bruker(bruker.id, bruker.type),
- fagomrade
- )
+ fun toKnyttTilGenerellSakRequest(fagomrade: String, bruker: Bruker) = EndreKnyttTilGenerellSakRequest(
+ journalpostId,
+ OppdaterJournalpostRequest.Bruker(bruker.id, bruker.type),
+ fagomrade,
+ )
- fun toLeggTilBegrunnelsePaaTittelRequest(journalpost: Journalpost) =
- EndreTittelRequest(
- journalpostId,
- "${journalpost.hentHoveddokument()?.tittel ?: journalpost.tittel} ($beskrivelse)",
- journalpost
- )
+ fun toLeggTilBegrunnelsePaaTittelRequest(journalpost: Journalpost) = EndreTittelRequest(
+ journalpostId,
+ "${journalpost.hentHoveddokument()?.tittel ?: journalpost.tittel} ($beskrivelse)",
+ journalpost,
+ )
}
data class OverforEnhetRequest(
private var journalpostId: Long,
- override var journalfoerendeEnhet: String?
+ override var journalfoerendeEnhet: String?,
) :
OppdaterJournalpostRequest(journalpostId)
@@ -117,12 +113,12 @@ data class EndreFagomradeOgKnyttTilSakRequest(
private var journalpostId: Long,
override var tema: String?,
override var bruker: Bruker?,
- override var sak: Sak? = GenerellSak()
+ override var sak: Sak? = GenerellSak(),
) : OppdaterJournalpostRequest(journalpostId)
data class EndreFagomradeJournalfortJournalpostRequest(
private var journalpostId: Long,
- private var journalpost: Journalpost
+ private var journalpost: Journalpost,
) :
OppdaterJournalpostRequest(journalpostId) {
init {
@@ -141,7 +137,7 @@ data class OppdaterOriginalBestiltFlagg(private var journalpost: Journalpost) :
data class OpphevEndreFagomradeJournalfortJournalpostRequest(
private var journalpostId: Long,
- private var journalpost: Journalpost
+ private var journalpost: Journalpost,
) :
OppdaterJournalpostRequest(journalpostId) {
init {
@@ -153,7 +149,7 @@ data class OpphevEndreFagomradeJournalfortJournalpostRequest(
data class EndreTittelRequest(
private var journalpostId: Long,
private var _tittel: String?,
- private var journalpost: Journalpost
+ private var journalpost: Journalpost,
) :
OppdaterJournalpostRequest(journalpostId) {
@@ -171,18 +167,18 @@ data class EndreKnyttTilGenerellSakRequest(
private var journalpostId: Long,
override var bruker: Bruker?,
override var tema: String?,
- override var sak: Sak? = GenerellSak()
+ override var sak: Sak? = GenerellSak(),
) : OppdaterJournalpostRequest(journalpostId)
data class InngaaendeTilUtgaaendeRequest(
private var journalpostId: Long,
- override var tema: String?
+ override var tema: String?,
) : OppdaterJournalpostRequest(journalpostId)
data class RegistrerReturRequest(
private var journalpostId: Long,
private var _datoRetur: LocalDate,
- private var _tilleggsopplysninger: TilleggsOpplysninger?
+ private var _tilleggsopplysninger: TilleggsOpplysninger?,
) : OppdaterJournalpostRequest(journalpostId) {
init {
datoRetur = DateUtils.formatDate(_datoRetur)
diff --git a/src/main/kotlin/no/nav/bidrag/dokument/arkiv/dto/Distribusjon.kt b/src/main/kotlin/no/nav/bidrag/dokument/arkiv/dto/Distribusjon.kt
index 5269f0cc..02761b79 100644
--- a/src/main/kotlin/no/nav/bidrag/dokument/arkiv/dto/Distribusjon.kt
+++ b/src/main/kotlin/no/nav/bidrag/dokument/arkiv/dto/Distribusjon.kt
@@ -12,7 +12,7 @@ data class BestemDistribusjonKanalRequest(
val mottakerId: String?,
val gjelderId: String,
val tema: String = "BID",
- val forsendelseStoerrelse: Int? = null
+ val forsendelseStoerrelse: Int? = null,
)
data class DokDistDistribuerJournalpostRequest(
@@ -22,7 +22,7 @@ data class DokDistDistribuerJournalpostRequest(
var dokumentProdApp: String = "bidragDokArkiv",
var distribusjonstype: DistribusjonsType = DistribusjonsType.VIKTIG,
var distribusjonstidspunkt: DistribusjonsTidspunkt = DistribusjonsTidspunkt.KJERNETID,
- var adresse: DokDistDistribuerTilAdresse? = null
+ var adresse: DokDistDistribuerTilAdresse? = null,
) {
private fun mapAdresse(distribuerTilAdresse: DistribuerTilAdresse?): DokDistDistribuerTilAdresse? {
@@ -36,7 +36,7 @@ data class DokDistDistribuerJournalpostRequest(
adressetype = dokDistAdresseType,
land = adresse.land!!,
postnummer = adresse.postnummer,
- poststed = adresse.poststed
+ poststed = adresse.poststed,
)
}
@@ -45,9 +45,9 @@ data class DokDistDistribuerJournalpostRequest(
brevkode: String?,
tittel: String?,
distribuerTilAdresse: DistribuerTilAdresse?,
- _batchId: String?
+ _batchId: String?,
) : this(
- journalpostId = journalpostId
+ journalpostId = journalpostId,
) {
batchId = _batchId
adresse = mapAdresse(distribuerTilAdresse)
@@ -58,19 +58,19 @@ data class DokDistDistribuerJournalpostRequest(
enum class DistribusjonsTidspunkt {
UMIDDELBART,
- KJERNETID
+ KJERNETID,
}
enum class DistribusjonsType {
VEDTAK,
VIKTIG,
- ANNET
+ ANNET,
}
enum class DokDistAdresseType(val verdi: String) {
// Kotlin code style krever at enumer begynner med stor bokstav. Lagt til verdi med gammelt ennum-navn for ikke å brekke noe.
NorskPostadresse("norskPostadresse"),
- UtenlandskPostadresse("utenlandskPostadresse")
+ UtenlandskPostadresse("utenlandskPostadresse"),
}
data class DokDistDistribuerTilAdresse(
@@ -80,17 +80,17 @@ data class DokDistDistribuerTilAdresse(
var adressetype: String,
var land: String,
var postnummer: String? = null,
- var poststed: String? = null
+ var poststed: String? = null,
)
data class DistribuerJournalpostRequestInternal(
- var request: DistribuerJournalpostRequest? = null
+ var request: DistribuerJournalpostRequest? = null,
) {
constructor(distribuerTilAdresse: DistribuerTilAdresse?) : this(
DistribuerJournalpostRequest(
- adresse = distribuerTilAdresse
- )
+ adresse = distribuerTilAdresse,
+ ),
)
fun erLokalUtskrift(): Boolean = request?.lokalUtskrift ?: false
@@ -104,7 +104,7 @@ data class DistribuerJournalpostRequestInternal(
adresselinje3 = StringUtils.stripToNull(adresse.adresselinje3),
land = adresse.land ?: ALPHA2_NORGE,
poststed = StringUtils.stripToNull(adresse.poststed),
- postnummer = StringUtils.stripToNull(adresse.postnummer)
+ postnummer = StringUtils.stripToNull(adresse.postnummer),
)
} else {
null
@@ -113,7 +113,7 @@ data class DistribuerJournalpostRequestInternal(
}
data class DokDistDistribuerJournalpostResponse(
- var bestillingsId: String
+ var bestillingsId: String,
) {
fun toDistribuerJournalpostResponse(journalpostId: Long): DistribuerJournalpostResponse {
return DistribuerJournalpostResponse("JOARK-$journalpostId", bestillingsId)
@@ -124,27 +124,27 @@ fun validerKanDistribueres(journalpost: Journalpost?) {
Validate.isTrue(journalpost != null, "Fant ingen journalpost")
Validate.isTrue(
journalpost != null && journalpost.hentTilknyttetSaker().size < 2,
- "Kan bare distribuere journalpost med 1 sak"
+ "Kan bare distribuere journalpost med 1 sak",
)
Validate.isTrue(
journalpost?.journalstatus == JournalStatus.FERDIGSTILT,
- "Journalpost må ha status FERDIGSTILT"
+ "Journalpost må ha status FERDIGSTILT",
)
Validate.isTrue(
journalpost?.tilleggsopplysninger?.isDistribusjonBestilt() == false,
- "Journalpost er allerede distribuert"
+ "Journalpost er allerede distribuert",
)
Validate.isTrue(
journalpost?.hasMottakerId() == true || journalpost?.hentAvsenderNavn()
?.isNotEmpty() == true,
- "Journalpost må ha satt mottakerId eller mottakerNavn"
+ "Journalpost må ha satt mottakerId eller mottakerNavn",
)
}
fun validerKanDistribueresUtenAdresse(journalpost: Journalpost?) {
Validate.isTrue(
journalpost?.hasMottakerId() == true,
- "Journalpost må ha satt mottakerId for å kunne distribuere uten å sette adresse"
+ "Journalpost må ha satt mottakerId for å kunne distribuere uten å sette adresse",
)
}
@@ -153,22 +153,22 @@ fun validerAdresse(adresse: DistribuerTilAdresse?) {
validateNotNullOrEmpty(adresse?.land, "Land er påkrevd på adresse")
Validate.isTrue(
adresse?.land?.length == 2,
- "Land må være formatert som Alpha-2 to-bokstavers landkode "
+ "Land må være formatert som Alpha-2 to-bokstavers landkode ",
)
validateMaxLength(
adresse?.adresselinje1,
128,
- "Adresselinje 1 kan ikke være lengre enn 128 tegn"
+ "Adresselinje 1 kan ikke være lengre enn 128 tegn",
)
validateMaxLength(
adresse?.adresselinje2,
128,
- "Adresselinje 2 kan ikke være lengre enn 128 tegn"
+ "Adresselinje 2 kan ikke være lengre enn 128 tegn",
)
validateMaxLength(
adresse?.adresselinje3,
128,
- "Adresselinje 3 kan ikke være lengre enn 128 tegn"
+ "Adresselinje 3 kan ikke være lengre enn 128 tegn",
)
if (ALPHA2_NORGE == adresse?.land) {
validateNotNullOrEmpty(adresse.postnummer, "Postnummer er påkrevd på norsk adresse")
@@ -176,7 +176,7 @@ fun validerAdresse(adresse: DistribuerTilAdresse?) {
} else {
validateNotNullOrEmpty(
adresse?.adresselinje1,
- "Adresselinje1 er påkrevd på utenlandsk adresse"
+ "Adresselinje1 er påkrevd på utenlandsk adresse",
)
}
}
diff --git a/src/main/kotlin/no/nav/bidrag/dokument/arkiv/dto/DokumentoversiktFagsakQueryResponse.kt b/src/main/kotlin/no/nav/bidrag/dokument/arkiv/dto/DokumentoversiktFagsakQueryResponse.kt
index 3f12288a..87cc284d 100644
--- a/src/main/kotlin/no/nav/bidrag/dokument/arkiv/dto/DokumentoversiktFagsakQueryResponse.kt
+++ b/src/main/kotlin/no/nav/bidrag/dokument/arkiv/dto/DokumentoversiktFagsakQueryResponse.kt
@@ -3,7 +3,7 @@ package no.nav.bidrag.dokument.arkiv.dto
import no.nav.bidrag.dokument.arkiv.model.JournalpostIkkeFunnetException
data class DokumentoversiktFagsakQueryResponse(
- var data: DokumentoversiktFagsak? = null
+ var data: DokumentoversiktFagsak? = null,
) {
fun hentJournalpost(journalpostId: Long): Journalpost {
return data?.dokumentoversiktFagsak?.journalposter?.find { it.journalpostId == journalpostId.toString() }
@@ -12,9 +12,9 @@ data class DokumentoversiktFagsakQueryResponse(
}
data class DokumentoversiktFagsak(
- var dokumentoversiktFagsak: DokumentoversiktFagsakListe? = null
+ var dokumentoversiktFagsak: DokumentoversiktFagsakListe? = null,
)
data class DokumentoversiktFagsakListe(
- var journalposter: List = emptyList()
+ var journalposter: List = emptyList(),
)
diff --git a/src/main/kotlin/no/nav/bidrag/dokument/arkiv/dto/Journalpost.kt b/src/main/kotlin/no/nav/bidrag/dokument/arkiv/dto/Journalpost.kt
index df79d413..eae0756f 100644
--- a/src/main/kotlin/no/nav/bidrag/dokument/arkiv/dto/Journalpost.kt
+++ b/src/main/kotlin/no/nav/bidrag/dokument/arkiv/dto/Journalpost.kt
@@ -80,7 +80,7 @@ data class DistribusjonsInfo(
val kanal: JournalpostKanal? = null,
val utsendingsinfo: UtsendingsInfo? = null,
val tilleggsopplysninger: TilleggsOpplysninger = TilleggsOpplysninger(),
- val relevanteDatoer: List = emptyList()
+ val relevanteDatoer: List = emptyList(),
) {
fun hentDatoDokument(): LocalDateTime? {
val registrert = relevanteDatoer
@@ -106,8 +106,7 @@ data class DistribusjonsInfo(
fun isStatusEkspedert(): Boolean = journalstatus == JournalStatus.EKSPEDERT.name
fun isUtgaaendeDokument(): Boolean = journalposttype == JournalpostType.U.name
- fun isDistribusjonBestilt(): Boolean =
- tilleggsopplysninger.isDistribusjonBestilt() || isStatusEkspedert()
+ fun isDistribusjonBestilt(): Boolean = tilleggsopplysninger.isDistribusjonBestilt() || isStatusEkspedert()
fun hentJournalStatus(): JournalpostStatus {
return when (journalstatus) {
@@ -140,7 +139,7 @@ data class UtsendingsInfo(
val epostVarselSendt: EpostVarselSendt? = null,
val fysiskpostSendt: FysiskpostSendt? = null,
val smsVarselSendt: SmsVarselSendt? = null,
- val varselSendt: List = emptyList()
+ val varselSendt: List = emptyList(),
) {
val sisteVarselSendt get() = if (varselSendt.isNotEmpty()) varselSendt[0] else null
val varselType get() = if (varselSendt.isNotEmpty()) varselSendt[0] else null
@@ -150,17 +149,17 @@ data class UtsendingsInfo(
data class EpostVarselSendt(
val adresse: String,
val tittel: String,
- val varslingstekst: String
+ val varslingstekst: String,
)
@JsonIgnoreProperties(ignoreUnknown = true)
data class DigitalpostSendt(
- val adresse: String
+ val adresse: String,
)
@JsonIgnoreProperties(ignoreUnknown = true)
data class FysiskpostSendt(
- val adressetekstKonvolutt: String
+ val adressetekstKonvolutt: String,
)
@JsonIgnoreProperties(ignoreUnknown = true)
@@ -169,13 +168,13 @@ data class VarselSendt(
val varslingstekst: String,
val adresse: String,
val tittel: String?,
- val type: String
+ val type: String,
)
@JsonIgnoreProperties(ignoreUnknown = true)
data class SmsVarselSendt(
val varslingstekst: String,
- val adresse: String
+ val adresse: String,
)
@JsonIgnoreProperties(ignoreUnknown = true)
@@ -199,7 +198,7 @@ data class Journalpost(
var eksternReferanseId: String? = null,
var tilknyttedeSaker: List = emptyList(),
var tilleggsopplysninger: TilleggsOpplysninger = TilleggsOpplysninger(),
- val utsendingsinfo: UtsendingsInfo? = null
+ val utsendingsinfo: UtsendingsInfo? = null,
) {
fun distribuertTilAdresse(): DistribuerTilAdresse? {
@@ -214,7 +213,7 @@ data class Journalpost(
adresselinje3 = it.adresselinje3,
postnummer = it.postnummer,
poststed = it.poststed,
- landkode = it.land
+ landkode = it.land,
)
}
}
@@ -231,7 +230,7 @@ data class Journalpost(
postnummerPoststed.getOrNull(0)
} else {
postnummerPoststed.getOrNull(
- 1
+ 1,
)
}
val adresselinje1 = when (postadresseSplit.size) {
@@ -252,11 +251,11 @@ data class Journalpost(
adresselinje3 = adresselinje3,
poststed = poststed,
postnummer = postnummer,
- land = landkode2
+ land = landkode2,
)
SECURE_LOGGER.info {
"Lest og mappet postadresse fra SAF ${
- it.split("\n").joinToString("\\n")
+ it.split("\n").joinToString("\\n")
} til $adresse"
}
return adresse
@@ -269,13 +268,11 @@ data class Journalpost(
fun isBidragTema(): Boolean = tema == "BID" || tema == "FAR"
fun isFarskap(): Boolean = tema == "FAR"
- fun isFarskapUtelukket(): Boolean =
- hentTittel()?.startsWith(FARSKAP_UTELUKKET_PREFIKS, ignoreCase = true) == true
+ fun isFarskapUtelukket(): Boolean = hentTittel()?.startsWith(FARSKAP_UTELUKKET_PREFIKS, ignoreCase = true) == true
fun hentGjelderId(): String? = bruker?.id
- fun harAvsenderMottaker(): Boolean =
- avsenderMottaker?.navn != null || avsenderMottaker?.id != null
+ fun harAvsenderMottaker(): Boolean = avsenderMottaker?.navn != null || avsenderMottaker?.id != null
fun hentAvsenderMottakerId(): String? = avsenderMottaker?.id
fun hentJournalStatus(): JournalpostStatus? {
@@ -310,13 +307,11 @@ data class Journalpost(
}
}
- fun isDistribusjonKommetIRetur() =
- (isDistribusjonBestilt()) && antallRetur != null && antallRetur!! > 0
+ fun isDistribusjonKommetIRetur() = (isDistribusjonBestilt()) && antallRetur != null && antallRetur!! > 0
fun hentBrevkode(): String? = hentHoveddokument()?.brevkode
- fun isDistribusjonBestilt(): Boolean =
- tilleggsopplysninger.isDistribusjonBestilt() || isStatusEkspedert() || hasEkspedertDate()
+ fun isDistribusjonBestilt(): Boolean = tilleggsopplysninger.isDistribusjonBestilt() || isStatusEkspedert() || hasEkspedertDate()
fun isFeilregistrert() = journalstatus == JournalStatus.FEILREGISTRERT
@@ -340,8 +335,7 @@ data class Journalpost(
fun isTemaEqualTo(likTema: String) = tema == likTema
fun hentJournalpostIdLong() = journalpostId?.toLong()
fun hentJournalpostIdMedPrefix() = "JOARK-$journalpostId"
- fun hentJournalpostType() =
- if (journalposttype == JournalpostType.N) "X" else journalposttype?.name
+ fun hentJournalpostType() = if (journalposttype == JournalpostType.N) "X" else journalposttype?.name
fun hentDatoJournalfort(): LocalDate? {
val journalfort = relevanteDatoer
@@ -350,13 +344,11 @@ data class Journalpost(
return journalfort?.somDato()
}
- fun hasReturDetaljerWithDate(date: LocalDate) =
- !tilleggsopplysninger.hentReturDetaljerLogDO().stream().filter { it.dato == date }
- .findAny().isEmpty
+ fun hasReturDetaljerWithDate(date: LocalDate) = !tilleggsopplysninger.hentReturDetaljerLogDO().stream().filter { it.dato == date }
+ .findAny().isEmpty
- fun hasLockedReturDetaljerWithDate(date: LocalDate) =
- !tilleggsopplysninger.hentReturDetaljerLogDO().stream()
- .filter { it.dato == date && it.locked == true }.findAny().isEmpty
+ fun hasLockedReturDetaljerWithDate(date: LocalDate) = !tilleggsopplysninger.hentReturDetaljerLogDO().stream()
+ .filter { it.dato == date && it.locked == true }.findAny().isEmpty
fun hentJournalfortAvNavn(): String? {
return tilleggsopplysninger.hentJournalfortAv() ?: journalfortAvNavn
@@ -373,7 +365,7 @@ data class Journalpost(
.filter { it.dato != null && it.locked != true }
.filter {
!isDistribusjonKommetIRetur() || it.dato!!.isEqual(hentDatoDokument()) || it.dato!!.isAfter(
- hentDatoDokument()
+ hentDatoDokument(),
)
}
.maxOfOrNull { it.dato!! }
@@ -384,7 +376,7 @@ data class Journalpost(
null
},
logg = returDetaljerLog,
- antall = returDetaljerLog.size
+ antall = returDetaljerLog.size,
)
}
@@ -406,7 +398,7 @@ data class Journalpost(
ReturDetaljerLog(
dato = it.dato,
beskrivelse = it.beskrivelse,
- locked = it.locked == true
+ locked = it.locked == true,
)
}.toMutableList()
@@ -448,8 +440,7 @@ data class Journalpost(
tilknyttedeSaker = tilknyttedeSaker + listOf(tilknyttetSak)
}
- fun hentBrevkodeDto(): KodeDto? =
- if (hentBrevkode() != null) KodeDto(kode = hentBrevkode()) else null
+ fun hentBrevkodeDto(): KodeDto? = if (hentBrevkode() != null) KodeDto(kode = hentBrevkode()) else null
fun hentHoveddokument(): Dokument? = if (dokumenter.isNotEmpty()) dokumenter[0] else null
fun hentTittel(): String? = hentHoveddokument()?.tittel ?: tittel
@@ -471,7 +462,7 @@ data class Journalpost(
else -> AvsenderMottakerDtoIdType.UKJENT
}
},
- adresse = mottakerAdresse()
+ adresse = mottakerAdresse(),
)
} else {
null
@@ -497,7 +488,7 @@ data class Journalpost(
mottattDato = hentDatoRegistrert(),
returDetaljer = hentReturDetaljer(),
brevkode = hentBrevkodeDto(),
- distribuertTilAdresse = distribuertTilAdresse()
+ distribuertTilAdresse = distribuertTilAdresse(),
)
}
@@ -528,13 +519,13 @@ data class Journalpost(
}
if (isUtgaaendeDokument() && !isLokalUtksrift() && isDistribusjonKommetIRetur() && !tilleggsopplysninger.isNyDistribusjonBestilt()) {
avvikTypeList.add(
- AvvikType.BESTILL_NY_DISTRIBUSJON
+ AvvikType.BESTILL_NY_DISTRIBUSJON,
)
}
if (isUtgaaendeDokument() && kanal != JournalpostKanal.INGEN_DISTRIBUSJON) {
if (isStatusEkspedert() && isDistribusjonKommetIRetur() || isStatusFerdigsstilt() && !isDistribusjonBestilt()) {
avvikTypeList.add(
- AvvikType.MANGLER_ADRESSE
+ AvvikType.MANGLER_ADRESSE,
)
}
}
@@ -544,8 +535,7 @@ data class Journalpost(
}
fun hasMottakerId(): Boolean = avsenderMottaker?.id != null
- fun isMottakerIdSamhandlerId(): Boolean =
- avsenderMottaker?.id?.startsWith("8") ?: avsenderMottaker?.id?.startsWith("9") ?: false
+ fun isMottakerIdSamhandlerId(): Boolean = avsenderMottaker?.id?.startsWith("8") ?: avsenderMottaker?.id?.startsWith("9") ?: false
fun hasSak(): Boolean = sak != null
fun isStatusFeilregistrert(): Boolean = journalstatus == JournalStatus.FEILREGISTRERT
@@ -590,8 +580,7 @@ data class Journalpost(
private fun erTilknyttetSak(saksnummer: String?) = sak?.fagsakId == saksnummer
fun hentAvsenderNavn() = avsenderMottaker?.navn
- fun erIkkeTilknyttetSakNarOppgitt(saksnummer: String?) =
- if (saksnummer == null) false else !erTilknyttetSak(saksnummer)
+ fun erIkkeTilknyttetSakNarOppgitt(saksnummer: String?) = if (saksnummer == null) false else !erTilknyttetSak(saksnummer)
fun kanJournalfores(journalpost: Journalpost): Boolean {
return journalpost.isStatusMottatt() && journalpost.hasSak()
@@ -620,7 +609,7 @@ enum class JournalpostKanal(val beskrivelse: String) {
SKAN_NETS("Skanning Nets"),
SKAN_PEN("Skanning Pensjon"),
- SKAN_IM("Skanning Iron Mountain")
+ SKAN_IM("Skanning Iron Mountain"),
}
fun JournalpostKanal.tilKanalDto() = when (this) {
@@ -646,7 +635,7 @@ enum class JournalpostUtsendingKanal {
EIA,
EESSI,
TRYGDERETTEN,
- HELSENETTET
+ HELSENETTET,
}
@JsonIgnoreProperties(ignoreUnknown = true)
@@ -657,16 +646,15 @@ data class DistribuertTilAdresseDo(
var adresselinje3: String?,
var land: String,
var postnummer: String?,
- var poststed: String?
+ var poststed: String?,
) {
private fun asJsonString(): String = toJsonString(this)
- fun toMap(): List