Skip to content

Commit d05e92d

Browse files
Legg til endepunkt for å kunne hente uncached inntekt
1 parent c7548b6 commit d05e92d

File tree

2 files changed

+66
-3
lines changed

2 files changed

+66
-3
lines changed

.github/workflows/deploy.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ jobs:
4949
deploy-dev:
5050
name: Deploy to dev
5151
needs: [build]
52-
if: github.ref == 'refs/heads/main'
52+
if: github.ref == 'refs/heads/uncached-inntekt-med-inntekt-id'
5353
runs-on: ubuntu-latest
5454
permissions:
5555
contents: "read"

dp-inntekt-api/src/main/kotlin/no/nav/dagpenger/inntekt/api/v1/UklassifisertInntektRoute.kt

Lines changed: 65 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import no.nav.dagpenger.inntekt.db.Inntektparametre
2929
import no.nav.dagpenger.inntekt.db.ManueltRedigert
3030
import no.nav.dagpenger.inntekt.db.RegelKontekst
3131
import no.nav.dagpenger.inntekt.db.StoreInntektCommand
32+
import no.nav.dagpenger.inntekt.db.StoredInntektMedMetadata
3233
import no.nav.dagpenger.inntekt.inntektskomponenten.v1.AktoerType
3334
import no.nav.dagpenger.inntekt.inntektskomponenten.v1.InntektkomponentRequest
3435
import no.nav.dagpenger.inntekt.inntektskomponenten.v1.InntektskomponentClient
@@ -152,7 +153,8 @@ fun Route.uklassifisertInntekt(
152153
.getStoredInntektMedMetadata(inntektId)
153154
.let { storedInntektMedMetadata ->
154155
val person = personOppslag.hentPerson(storedInntektMedMetadata.fødselsnummer)
155-
val inntektsmottaker = Inntektsmottaker(storedInntektMedMetadata.fødselsnummer, person.sammensattNavn())
156+
val inntektsmottaker =
157+
Inntektsmottaker(storedInntektMedMetadata.fødselsnummer, person.sammensattNavn())
156158
val organisasjoner =
157159
hentOrganisasjoner(
158160
enhetsregisterClient,
@@ -198,7 +200,8 @@ fun Route.uklassifisertInntekt(
198200
beregningsdato = inntektPersonMapping.beregningsdato,
199201
).apply {
200202
this.opptjeningsperiode.førsteMåned = inntekterDto.periode.fraOgMed
201-
this.opptjeningsperiode.sisteAvsluttendeKalenderMåned = inntekterDto.periode.tilOgMed
203+
this.opptjeningsperiode.sisteAvsluttendeKalenderMåned =
204+
inntekterDto.periode.tilOgMed
202205
},
203206
inntekt = it.inntekt,
204207
manueltRedigert =
@@ -283,6 +286,66 @@ fun Route.uklassifisertInntekt(
283286
}
284287
}
285288
}
289+
290+
route("/uklassifisert/uncached/{inntektId}") {
291+
get {
292+
val callId = call.callId
293+
withContext(coroutineContext) {
294+
val inntektId = InntektId(call.parameters["inntektId"]!!)
295+
logger.info { "Henter nye inntekt for $inntektId" }
296+
297+
call.withInntektRequest("GET /uklassifisert/uncached/") {
298+
inntektStore
299+
.getStoredInntektMedMetadata(inntektId)
300+
.let { storedInntektMedMetadata ->
301+
logger.info { "Henter stored inntekt: ${storedInntektMedMetadata.inntektId}" }
302+
val person = personOppslag.hentPerson(storedInntektMedMetadata.fødselsnummer)
303+
val opptjeningsperiode = Opptjeningsperiode(storedInntektMedMetadata.beregningsdato)
304+
305+
toInntektskomponentRequest(person, opptjeningsperiode)
306+
.let {
307+
logger.info { "Henter nye inntekter fra inntektskomponenten" }
308+
inntektskomponentClient.getInntekt(it, callId = callId)
309+
}.let {
310+
logger.info { "Fikk nye inntekter fra inntektskomponenten" }
311+
val inntektsmottaker =
312+
Inntektsmottaker(person.fødselsnummer, person.sammensattNavn())
313+
val organisasjoner =
314+
hentOrganisasjoner(
315+
enhetsregisterClient,
316+
it.arbeidsInntektMaaned
317+
?.flatMap { it.arbeidsInntektInformasjon?.inntektListe.orEmpty() }
318+
?.filter { inntekt ->
319+
inntekt.virksomhet?.aktoerType == AktoerType.ORGANISASJON &&
320+
(inntekt.opptjeningsland == "NO" || inntekt.opptjeningsland == null)
321+
}?.mapNotNull { it.virksomhet?.identifikator }
322+
?.toTypedArray()
323+
?.toList() ?: emptyList(),
324+
)
325+
326+
it.mapToFrontend(
327+
person = inntektsmottaker,
328+
organisasjoner = organisasjoner,
329+
storedInntektMedMetadata =
330+
StoredInntektMedMetadata(
331+
inntektId = inntektId,
332+
fødselsnummer = storedInntektMedMetadata.fødselsnummer,
333+
inntekt = it,
334+
manueltRedigert = false,
335+
timestamp = storedInntektMedMetadata.timestamp,
336+
beregningsdato = storedInntektMedMetadata.beregningsdato,
337+
storedInntektPeriode = storedInntektMedMetadata.storedInntektPeriode,
338+
begrunnelse = "",
339+
),
340+
)
341+
}.let {
342+
call.respond(HttpStatusCode.OK, it)
343+
}.also { inntektOppfriskingCounter.inc() }
344+
} ?: throw InntektNotFoundException("Inntekt with id $inntektId not found.")
345+
}
346+
}
347+
}
348+
}
286349
}
287350
route("/verdikoder") {
288351
get {

0 commit comments

Comments
 (0)