Skip to content

Commit 4e1e199

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

File tree

2 files changed

+55
-3
lines changed

2 files changed

+55
-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: 54 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,8 @@ fun Route.uklassifisertInntekt(
152152
.getStoredInntektMedMetadata(inntektId)
153153
.let { storedInntektMedMetadata ->
154154
val person = personOppslag.hentPerson(storedInntektMedMetadata.fødselsnummer)
155-
val inntektsmottaker = Inntektsmottaker(storedInntektMedMetadata.fødselsnummer, person.sammensattNavn())
155+
val inntektsmottaker =
156+
Inntektsmottaker(storedInntektMedMetadata.fødselsnummer, person.sammensattNavn())
156157
val organisasjoner =
157158
hentOrganisasjoner(
158159
enhetsregisterClient,
@@ -198,7 +199,8 @@ fun Route.uklassifisertInntekt(
198199
beregningsdato = inntektPersonMapping.beregningsdato,
199200
).apply {
200201
this.opptjeningsperiode.førsteMåned = inntekterDto.periode.fraOgMed
201-
this.opptjeningsperiode.sisteAvsluttendeKalenderMåned = inntekterDto.periode.tilOgMed
202+
this.opptjeningsperiode.sisteAvsluttendeKalenderMåned =
203+
inntekterDto.periode.tilOgMed
202204
},
203205
inntekt = it.inntekt,
204206
manueltRedigert =
@@ -283,6 +285,56 @@ fun Route.uklassifisertInntekt(
283285
}
284286
}
285287
}
288+
289+
route("/uklassifisert/uncached/{inntektId}") {
290+
get {
291+
val callId = call.callId
292+
withContext(coroutineContext) {
293+
val inntektId = InntektId(call.parameters["inntektId"]!!)
294+
logger.info { "Henter nye inntekt for $inntektId" }
295+
296+
call.withInntektRequest("GET /uklassifisert/uncached/") {
297+
inntektStore
298+
.getStoredInntektMedMetadata(inntektId)
299+
.let { storedInntektMedMetadata ->
300+
logger.info { "Henter stored inntekt: ${storedInntektMedMetadata.inntektId}" }
301+
val person = personOppslag.hentPerson(storedInntektMedMetadata.fødselsnummer)
302+
val opptjeningsperiode = Opptjeningsperiode(storedInntektMedMetadata.beregningsdato)
303+
304+
toInntektskomponentRequest(person, opptjeningsperiode)
305+
.let {
306+
logger.info { "Henter nye inntekter fra inntektskomponenten" }
307+
inntektskomponentClient.getInntekt(it, callId = callId)
308+
}.let {
309+
logger.info { "Fikk nye inntekter fra inntektskomponenten" }
310+
val inntektsmottaker =
311+
Inntektsmottaker(person.fødselsnummer, person.sammensattNavn())
312+
val organisasjoner =
313+
hentOrganisasjoner(
314+
enhetsregisterClient,
315+
storedInntektMedMetadata.inntekt.arbeidsInntektMaaned
316+
?.flatMap { it.arbeidsInntektInformasjon?.inntektListe.orEmpty() }
317+
?.filter { inntekt ->
318+
inntekt.virksomhet?.aktoerType == AktoerType.ORGANISASJON &&
319+
(inntekt.opptjeningsland == "NO" || inntekt.opptjeningsland == null)
320+
}?.mapNotNull { it.virksomhet?.identifikator }
321+
?.toTypedArray()
322+
?.toList() ?: emptyList(),
323+
)
324+
325+
it.mapToFrontend(
326+
person = inntektsmottaker,
327+
organisasjoner = organisasjoner,
328+
storedInntektMedMetadata = storedInntektMedMetadata,
329+
)
330+
}.let {
331+
call.respond(HttpStatusCode.OK, it)
332+
}.also { inntektOppfriskingCounter.inc() }
333+
} ?: throw InntektNotFoundException("Inntekt with id $inntektId not found.")
334+
}
335+
}
336+
}
337+
}
286338
}
287339
route("/verdikoder") {
288340
get {

0 commit comments

Comments
 (0)