Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Gjenbruk av barnetilsynsøknad: Hente data fra mottak #918

Merged
merged 18 commits into from
Nov 29, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
f346aea
Hent data til gjenbruk fra forrige barnetilsyn søknad i mottak
olekvernberg Nov 3, 2023
5959300
build(deps): bump the all-dependencies group with 6 updates
dependabot[bot] Nov 5, 2023
1fc2176
Merge remote-tracking branch 'origin/dependabot/maven/all-dependencie…
olekvernberg Nov 6, 2023
b86edbd
Fjerner ressurs fra endepunkt, returnerer kun string
olekvernberg Nov 6, 2023
528f301
Map sivilstand til dto
olekvernberg Nov 13, 2023
4d7fea3
Laget mapTilDto for medlemsskapMapper.
gunnsteingarmo Nov 13, 2023
d4832d2
Returner SøknadBarnetilsynGjenbrukDto ved henting av forrige barnetil…
olekvernberg Nov 13, 2023
48b9181
Merge remote-tracking branch 'origin/master' into hent-data-til-gjenbruk
olekvernberg Nov 13, 2023
2a2fd1b
Fjerner personident som parameter og gjør om til get-endepunkt
olekvernberg Nov 17, 2023
54eae66
Map svarId i dto
olekvernberg Nov 17, 2023
2a5b465
Tar ikke med uformelt gift i mapping da det skal besvares av bruker h…
olekvernberg Nov 17, 2023
d471a36
Testfix: Tar ikke med uformelt gift i mapping da det skal besvares av…
olekvernberg Nov 17, 2023
95afb10
Merge remote-tracking branch 'origin/master' into hent-data-til-gjenbruk
olekvernberg Nov 20, 2023
cb94f53
Kan returnere null ved henting av søknad til gjenbruk
olekvernberg Nov 20, 2023
db29e19
Skal alltid svare på om det er søkt separasjon eller uformelt separert
olekvernberg Nov 27, 2023
e06aad9
Legger til featuretoggle - skal ikke kalle på api dersom featuretoggl…
olekvernberg Nov 27, 2023
1753d0f
Laget en egen sivilstatus til gjenbruk for å ikke gå bena på lagring …
olekvernberg Nov 28, 2023
498b171
Rettet navn på url
olekvernberg Nov 28, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ class FeatureToggleController(private val featureToggleService: FeatureToggleSer
"familie.ef.soknad.feilsituasjon",
"familie.ef.soknad.nynorsk",
"familie.ef.soknad.validerbosituasjon",
"familie.ef.soknad.hent-barnetilsyn-soknad-til-gjenbruk",
)

@GetMapping
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,15 @@ package no.nav.familie.ef.søknad.api

import no.nav.familie.ef.søknad.api.dto.Kvittering
import no.nav.familie.ef.søknad.api.dto.søknadsdialog.SøknadBarnetilsynDto
import no.nav.familie.ef.søknad.api.dto.søknadsdialog.SøknadBarnetilsynGjenbrukDto
import no.nav.familie.ef.søknad.featuretoggle.FeatureToggleService
import no.nav.familie.ef.søknad.service.SøknadService
import no.nav.familie.sikkerhet.EksternBrukerUtils
import no.nav.security.token.support.core.api.ProtectedWithClaims
import org.springframework.http.HttpStatus
import org.springframework.http.MediaType.APPLICATION_JSON_VALUE
import org.springframework.validation.annotation.Validated
import org.springframework.web.bind.annotation.GetMapping
import org.springframework.web.bind.annotation.PostMapping
import org.springframework.web.bind.annotation.RequestBody
import org.springframework.web.bind.annotation.RequestMapping
Expand All @@ -30,4 +32,9 @@ class SøknadBarnetilsynController(val søknadService: SøknadService, val featu
søknadService.sendInn(søknad, innsendingMottatt)
return Kvittering("ok", mottattDato = innsendingMottatt)
}

@GetMapping("forrige")
fun hentForrigeBarnetilsynSøknad(): SøknadBarnetilsynGjenbrukDto? {
return søknadService.hentForrigeBarnetilsynSøknad()
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,11 @@ data class Sivilstatus(
val datoEndretSamvær: DatoFelt? = null,
val tidligereSamboerDetaljer: SamboerDetaljer? = null,
)

data class SivilstatusTilGjenbruk(
val årsakEnslig: TekstFelt? = null,
val datoForSamlivsbrudd: DatoFelt? = null,
val datoFlyttetFraHverandre: DatoFelt? = null,
val datoEndretSamvær: DatoFelt? = null,
val tidligereSamboerDetaljer: SamboerDetaljer? = null,
)
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,8 @@ data class SøknadBarnetilsynDto(
val locale: String = "nb",
val skalBehandlesINySaksbehandling: Boolean = false,
)

data class SøknadBarnetilsynGjenbrukDto(
val sivilstatus: SivilstatusTilGjenbruk,
val medlemskap: Medlemskap,
)
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ data class MottakConfig(val uri: URI) {
internal val hentSøknaderMedDokumentasjonsbehovUri = byggUri(PATH_HENT_SØKNADER)
internal val sendInnEttersendingUri = byggUri(PATH_SEND_INN_ETTERSENDING)
internal val hentEttersendingForPersonUri = byggUri(PATH_HENT_ETTERSENDING_FOR_PERSON)
internal val hentForrigeBarnetilsynSøknadUri = byggUri(PATH_HENT_FORRIGE_BARNETILSYNSØKNAD)

internal val pingUri = byggUri(PATH_PING)

Expand All @@ -29,6 +30,7 @@ data class MottakConfig(val uri: URI) {
private const val PATH_HENT_SØKNADER = "/person/soknader"
private const val PATH_SEND_INN_ETTERSENDING = "/ettersending"
private const val PATH_HENT_ETTERSENDING_FOR_PERSON = "/ettersending/person"
private const val PATH_HENT_FORRIGE_BARNETILSYNSØKNAD = "/soknad/barnetilsyn/forrige"
private const val PATH_PING = "/ping"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,13 @@ class SøknadClient(
)
}

fun hentForrigeBarnetilsynSøknad(): SøknadBarnetilsyn? {
return getForEntity(
config.hentForrigeBarnetilsynSøknadUri,
HttpHeaders().medContentTypeJsonUTF8(),
)
}

private fun HttpHeaders.medContentTypeJsonUTF8(): HttpHeaders {
this.add("Content-Type", "application/json;charset=UTF-8")
this.add("behandlingsnummer", Tema.ENF.behandlingsnummer)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
package no.nav.familie.ef.søknad.mapper.kontrakt

import no.nav.familie.ef.søknad.api.dto.søknadsdialog.BooleanFelt
import no.nav.familie.ef.søknad.api.dto.søknadsdialog.DatoFelt
import no.nav.familie.ef.søknad.api.dto.søknadsdialog.Medlemskap
import no.nav.familie.ef.søknad.api.dto.søknadsdialog.PeriodeFelt
import no.nav.familie.ef.søknad.api.dto.søknadsdialog.PerioderBoddIUtlandet
import no.nav.familie.ef.søknad.api.dto.søknadsdialog.TekstFelt
import no.nav.familie.ef.søknad.mapper.Mapper
import no.nav.familie.ef.søknad.mapper.Språktekster
import no.nav.familie.ef.søknad.mapper.hentTekst
Expand Down Expand Up @@ -34,4 +38,29 @@ object MedlemsskapsMapper : Mapper<Medlemskap, Medlemskapsdetaljer>(Språktekste
)
} ?: listOf()
}

fun mapTilDto(medlemskapsdetaljer: Medlemskapsdetaljer): Medlemskap {
return Medlemskap(
perioderBoddIUtlandet = medlemskapsdetaljer.utenlandsopphold?.verdi?.map {
PerioderBoddIUtlandet(
begrunnelse = TekstFelt(it.årsakUtenlandsopphold.label, it.årsakUtenlandsopphold.verdi),
periode = PeriodeFelt(
fra = DatoFelt(it.fradato.label, it.fradato.verdi.toString()),
til = DatoFelt(it.tildato.label, it.tildato.verdi.toString()),
label = null,
),
land = it.land.tilTekstFelt(),
)
},
søkerBosattINorgeSisteTreÅr = BooleanFelt(
medlemskapsdetaljer.bosattNorgeSisteÅrene.label,
medlemskapsdetaljer.bosattNorgeSisteÅrene.verdi,
),
oppholdsland = medlemskapsdetaljer.oppholdsland.tilTekstFelt(),
søkerOppholderSegINorge = BooleanFelt(
medlemskapsdetaljer.oppholderDuDegINorge.label,
medlemskapsdetaljer.oppholderDuDegINorge.verdi,
),
)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,14 @@ object PersonMinimumMapper {
)
}

fun mapTilDto(personMinimum: PersonMinimum): SamboerDetaljer {
return SamboerDetaljer(
fødselsdato = personMinimum.fødselsdato.tilDatoFelt(),
navn = TekstFelt(personMinimum.navn.label, personMinimum.navn.verdi),
ident = personMinimum.fødselsnummer.tilTekstFelt(),
)
}

private fun mapFødselsnummer(ident: TekstFelt?): Søknadsfelt<Fødselsnummer>? {
return ident?.let {
return if (it.verdi.isNotBlank()) {
Expand All @@ -58,4 +66,6 @@ object PersonMinimumMapper {
}
}
}

fun Søknadsfelt<Fødselsnummer>?.tilTekstFelt(): TekstFelt? = this?.let { TekstFelt(it.label, it.verdi.verdi, it.svarId?.verdi) }
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
package no.nav.familie.ef.søknad.mapper.kontrakt

import no.nav.familie.ef.søknad.api.dto.søknadsdialog.BooleanFelt
import no.nav.familie.ef.søknad.api.dto.søknadsdialog.DatoFelt
import no.nav.familie.ef.søknad.api.dto.søknadsdialog.Sivilstatus
import no.nav.familie.ef.søknad.api.dto.søknadsdialog.SivilstatusTilGjenbruk
import no.nav.familie.ef.søknad.api.dto.søknadsdialog.TekstFelt
import no.nav.familie.ef.søknad.mapper.DokumentasjonWrapper
import no.nav.familie.ef.søknad.mapper.DokumentfeltUtil.dokumentfelt
import no.nav.familie.ef.søknad.mapper.MapperMedVedlegg
Expand All @@ -14,6 +18,7 @@ import no.nav.familie.ef.søknad.mapper.kontrakt.DokumentIdentifikator.UFORMELL_
import no.nav.familie.ef.søknad.mapper.tilSøknadsfelt
import no.nav.familie.kontrakter.ef.søknad.Sivilstandsdetaljer
import no.nav.familie.kontrakter.ef.søknad.Søknadsfelt
import java.time.LocalDate

object SivilstandsdetaljerMapper : MapperMedVedlegg<Sivilstatus, Sivilstandsdetaljer>(ÅrsakTilAleneMedBarn) {

Expand Down Expand Up @@ -43,4 +48,18 @@ object SivilstandsdetaljerMapper : MapperMedVedlegg<Sivilstatus, Sivilstandsdeta
},
)
}

fun mapTilDto(sivilstandsdetaljer: Sivilstandsdetaljer): SivilstatusTilGjenbruk {
return SivilstatusTilGjenbruk(
årsakEnslig = sivilstandsdetaljer.årsakEnslig?.let { TekstFelt(it.label, it.verdi, it.svarId) },
datoForSamlivsbrudd = sivilstandsdetaljer.samlivsbruddsdato.tilDatoFelt(),
datoFlyttetFraHverandre = sivilstandsdetaljer.fraflytningsdato.tilDatoFelt(),
datoEndretSamvær = sivilstandsdetaljer.endringSamværsordningDato.tilDatoFelt(),
tidligereSamboerDetaljer = sivilstandsdetaljer.tidligereSamboerdetaljer?.let { PersonMinimumMapper.mapTilDto(it.verdi) },
)
}
}

fun Søknadsfelt<LocalDate>?.tilDatoFelt() = this?.let { DatoFelt(it.label, it.verdi.toString()) }
fun Søknadsfelt<Boolean>?.tilBooleanFelt() = this?.let { BooleanFelt(it.label, it.verdi) }
fun Søknadsfelt<String>?.tilTekstFelt() = this?.let { TekstFelt(it.label, it.verdi) }
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package no.nav.familie.ef.søknad.mapper.kontrakt

import no.nav.familie.ef.søknad.api.dto.søknadsdialog.SøknadBarnetilsynDto
import no.nav.familie.ef.søknad.api.dto.søknadsdialog.SøknadBarnetilsynGjenbrukDto
import no.nav.familie.ef.søknad.mapper.DokumentasjonWrapper
import no.nav.familie.ef.søknad.mapper.DokumentfeltUtil.dokumentfelt
import no.nav.familie.ef.søknad.mapper.Språk
Expand Down Expand Up @@ -66,4 +67,12 @@ class SøknadBarnetilsynMapper() {
dto.skalBehandlesINySaksbehandling,
)
}

fun mapTilDto(søknadBarnetilsyn: SøknadBarnetilsyn?): SøknadBarnetilsynGjenbrukDto? {
if (søknadBarnetilsyn == null) return null
return SøknadBarnetilsynGjenbrukDto(
sivilstatus = SivilstandsdetaljerMapper.mapTilDto(søknadBarnetilsyn.sivilstandsdetaljer.verdi),
medlemskap = MedlemsskapsMapper.mapTilDto(søknadBarnetilsyn.medlemskapsdetaljer.verdi),
)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package no.nav.familie.ef.søknad.service

import no.nav.familie.ef.søknad.api.dto.Kvittering
import no.nav.familie.ef.søknad.api.dto.søknadsdialog.SøknadBarnetilsynDto
import no.nav.familie.ef.søknad.api.dto.søknadsdialog.SøknadBarnetilsynGjenbrukDto
import no.nav.familie.ef.søknad.api.dto.søknadsdialog.SøknadOvergangsstønadDto
import no.nav.familie.ef.søknad.api.dto.søknadsdialog.SøknadSkolepengerDto
import no.nav.familie.ef.søknad.integration.SøknadClient
Expand Down Expand Up @@ -40,4 +41,8 @@ class SøknadService(
val kvittering = søknadClient.sendInnSkolepenger(søknadRequestData)
return KvitteringMapper.mapTilEkstern(kvittering, innsendingMottatt)
}

fun hentForrigeBarnetilsynSøknad(): SøknadBarnetilsynGjenbrukDto? {
return SøknadBarnetilsynMapper().mapTilDto(søknadClient.hentForrigeBarnetilsynSøknad())
}
}