11package no.nav.dagpenger.inntekt.db
22
3- import com.squareup.moshi.JsonAdapter
3+ import com.fasterxml.jackson.module.kotlin.readValue
44import de.huxhorn.sulky.ulid.ULID
55import io.prometheus.client.Summary
66import kotliquery.queryOf
@@ -12,8 +12,8 @@ import no.nav.dagpenger.inntekt.HealthCheck
1212import no.nav.dagpenger.inntekt.HealthStatus
1313import no.nav.dagpenger.inntekt.inntektskomponenten.v1.InntektkomponentResponse
1414import no.nav.dagpenger.inntekt.mapping.mapToSpesifisertInntekt
15- import no.nav.dagpenger.inntekt.moshiInstance
1615import no.nav.dagpenger.inntekt.opptjeningsperiode.Opptjeningsperiode
16+ import no.nav.dagpenger.inntekt.serder.jacksonObjectMapper
1717import org.intellij.lang.annotations.Language
1818import org.postgresql.util.PGobject
1919import org.postgresql.util.PSQLException
@@ -24,8 +24,6 @@ import javax.sql.DataSource
2424@Suppress(" ktlint:standard:max-line-length" )
2525internal class PostgresInntektStore (private val dataSource : DataSource ) : InntektStore, HealthCheck {
2626 companion object {
27- internal val adapter: JsonAdapter <InntektkomponentResponse > =
28- moshiInstance.adapter(InntektkomponentResponse ::class .java)
2927 private val ulidGenerator = ULID ()
3028 private val LOGGER = KotlinLogging .logger {}
3129 private val markerInntektTimer =
@@ -121,7 +119,7 @@ internal class PostgresInntektStore(private val dataSource: DataSource) : Inntek
121119 ).map { row ->
122120 StoredInntekt (
123121 inntektId = InntektId (row.string(" id" )),
124- inntekt = adapter.fromJson( row.string (" inntekt" )) !! ,
122+ inntekt = row.binaryStream (" inntekt" ).use { jacksonObjectMapper.readValue< InntektkomponentResponse >(it) } ,
125123 manueltRedigert = row.boolean(" manuelt_redigert" ),
126124 timestamp = row.zonedDateTime(" timestamp" ).toLocalDateTime(),
127125 )
@@ -151,7 +149,7 @@ internal class PostgresInntektStore(private val dataSource: DataSource) : Inntek
151149 ).map { row ->
152150 StoredInntekt (
153151 inntektId = InntektId (row.string(" id" )),
154- inntekt = adapter.fromJson( row.string (" inntekt" )) !! ,
152+ inntekt = row.binaryStream (" inntekt" ).use { jacksonObjectMapper.readValue< InntektkomponentResponse >(it) } ,
155153 manueltRedigert = row.boolean(" manuelt_redigert" ),
156154 timestamp = row.zonedDateTime(" timestamp" ).toLocalDateTime(),
157155 ) to row.localDate(" beregningsdato" )
@@ -180,7 +178,7 @@ internal class PostgresInntektStore(private val dataSource: DataSource) : Inntek
180178 " data" to
181179 PGobject ().apply {
182180 type = " jsonb"
183- value = adapter.toJson (command.inntekt)
181+ value = jacksonObjectMapper.writeValueAsString (command.inntekt)
184182 },
185183 when (command.manueltRedigert) {
186184 null -> " manuelt" to false
0 commit comments