diff --git a/apps/etterlatte-saksbehandling-ui/client/src/components/behandling/trygdetid/Trygdetid.tsx b/apps/etterlatte-saksbehandling-ui/client/src/components/behandling/trygdetid/Trygdetid.tsx index 4459b2d6201..b0c23c2f404 100644 --- a/apps/etterlatte-saksbehandling-ui/client/src/components/behandling/trygdetid/Trygdetid.tsx +++ b/apps/etterlatte-saksbehandling-ui/client/src/components/behandling/trygdetid/Trygdetid.tsx @@ -50,7 +50,9 @@ export const Trygdetid = ({ redigerbar, behandling, vedtaksresultat, virkningsti const kanHenteTrygdetidFraPesys = useFeaturetoggle(FeatureToggle.trygdetid_fra_pesys) const [hentTrygdetidRequest, fetchTrygdetid] = useApiCall(hentTrygdetider) const [opprettTrygdetidRequest, requestOpprettTrygdetid] = useApiCall(opprettTrygdetider) - const [hentTTPesysStatus, hentPesysTT] = useApiCall(hentOgLeggInnTrygdetidsGrunnlagForUfoeretrygdOgAlderspensjon) + const [hentTTPesysStatus, hentOgOppdaterDataFraPesys] = useApiCall( + hentOgLeggInnTrygdetidsGrunnlagForUfoeretrygdOgAlderspensjon + ) const [sjekkOmAvodedHarTTIPesysStatus, sjekkOmAvdoedHarTTIPesysHent] = useApiCall( sjekkOmAvdoedHarTrygdetidsgrunnlagIPesys ) @@ -108,8 +110,8 @@ export const Trygdetid = ({ redigerbar, behandling, vedtaksresultat, virkningsti }) } - const hentTrygdetidFraPesys = () => { - hentPesysTT(behandling.id, (trygdetider: ITrygdetid[]) => { + const oppdaterTrygdetidMedPesysData = () => { + hentOgOppdaterDataFraPesys(behandling.id, (trygdetider: ITrygdetid[]) => { oppdaterTrygdetider(trygdetider) }) } @@ -123,7 +125,9 @@ export const Trygdetid = ({ redigerbar, behandling, vedtaksresultat, virkningsti fetchAlleLand(null, (landListe: ILand[]) => { setLandListe(sorterLand(landListe)) }) - sjekkOmAvdoedHarTTIPesysHent(behandling.id) + if (kanHenteTrygdetidFraPesys) { + sjekkOmAvdoedHarTTIPesysHent(behandling.id) + } }, []) if (harPilotTrygdetid) { @@ -173,7 +177,7 @@ export const Trygdetid = ({ redigerbar, behandling, vedtaksresultat, virkningsti Her kan du hente trygdetid registrert i avdødes uføretrygd eller alderspensjon. - diff --git a/apps/etterlatte-trygdetid/src/main/kotlin/Application.kt b/apps/etterlatte-trygdetid/src/main/kotlin/Application.kt index d2f46172619..08fff350f9c 100644 --- a/apps/etterlatte-trygdetid/src/main/kotlin/Application.kt +++ b/apps/etterlatte-trygdetid/src/main/kotlin/Application.kt @@ -25,7 +25,7 @@ class Server( httpPort = properties.httpPort, applicationConfig = context.config, ) { - trygdetid(trygdetidService, behandlingKlient) + trygdetid(trygdetidService, behandlingKlient, featureToggleService) avtale(avtaleService, behandlingKlient) } } diff --git a/apps/etterlatte-trygdetid/src/main/kotlin/trygdetid/TrygdetidRoutes.kt b/apps/etterlatte-trygdetid/src/main/kotlin/trygdetid/TrygdetidRoutes.kt index a495e765f2e..ea583ba19c5 100644 --- a/apps/etterlatte-trygdetid/src/main/kotlin/trygdetid/TrygdetidRoutes.kt +++ b/apps/etterlatte-trygdetid/src/main/kotlin/trygdetid/TrygdetidRoutes.kt @@ -12,6 +12,8 @@ import io.ktor.server.routing.get import io.ktor.server.routing.post import io.ktor.server.routing.route import io.ktor.util.pipeline.PipelineContext +import no.nav.etterlatte.funksjonsbrytere.FeatureToggle +import no.nav.etterlatte.funksjonsbrytere.FeatureToggleService import no.nav.etterlatte.libs.common.feilhaandtering.GenerellIkkeFunnetException import no.nav.etterlatte.libs.common.feilhaandtering.UgyldigForespoerselException import no.nav.etterlatte.libs.common.grunnlag.Grunnlagsopplysning @@ -54,9 +56,19 @@ private inline val PipelineContext<*, ApplicationCall>.trygdetidId: UUID private val logger: Logger = LoggerFactory.getLogger("TrygdetidRoutes") +enum class TrygdetidToggles( + val value: String, +) : FeatureToggle { + TRYGDETID_FRA_PESYS("trygdetid-fra-pesys"), + ; + + override fun key(): String = this.value +} + fun Route.trygdetid( trygdetidService: TrygdetidService, behandlingKlient: BehandlingKlient, + featureToggleService: FeatureToggleService, ) { route("/api/trygdetid_v2") { route("/{$BEHANDLINGID_CALL_PARAMETER}") { @@ -99,13 +111,21 @@ fun Route.trygdetid( } get("/sjekk-pesys-trygdetidsgrunnlag") { withBehandlingId(behandlingKlient, skrivetilgang = true) { - logger.info("Sjekker om avdød for behandling $behandlingId har trygdetidsgrunnlag i Pesys for AP og Uføre") - val harTrygdetidsgrunnlagIPesys = - trygdetidService.harTrygdetidsgrunnlagIPesysForApOgUfoere( - behandlingId, - brukerTokenInfo, + if (featureToggleService.isEnabled( + TrygdetidToggles.TRYGDETID_FRA_PESYS, + defaultValue = false, ) - call.respond(harTrygdetidsgrunnlagIPesys) + ) { + logger.info("Sjekker om avdød for behandling $behandlingId har trygdetidsgrunnlag i Pesys for AP og Uføre") + val harTrygdetidsgrunnlagIPesys = + trygdetidService.harTrygdetidsgrunnlagIPesysForApOgUfoere( + behandlingId, + brukerTokenInfo, + ) + call.respond(harTrygdetidsgrunnlagIPesys) + } else { + call.respond(HttpStatusCode.Forbidden) + } } } } diff --git a/apps/etterlatte-trygdetid/src/main/kotlin/trygdetid/config/ApplicationContext.kt b/apps/etterlatte-trygdetid/src/main/kotlin/trygdetid/config/ApplicationContext.kt index d4a763dc9f9..cfd11968ec4 100644 --- a/apps/etterlatte-trygdetid/src/main/kotlin/trygdetid/config/ApplicationContext.kt +++ b/apps/etterlatte-trygdetid/src/main/kotlin/trygdetid/config/ApplicationContext.kt @@ -2,6 +2,8 @@ package no.nav.etterlatte.trygdetid.config import com.typesafe.config.Config import com.typesafe.config.ConfigFactory +import no.nav.etterlatte.funksjonsbrytere.FeatureToggleProperties +import no.nav.etterlatte.funksjonsbrytere.FeatureToggleService import no.nav.etterlatte.libs.common.Miljoevariabler import no.nav.etterlatte.libs.database.ApplicationProperties import no.nav.etterlatte.libs.database.DataSourceBuilder @@ -30,6 +32,8 @@ class ApplicationContext { val behandlingKlient = BehandlingKlient(config, httpClient()) val avtaleService = AvtaleService(avtaleRepository) + val featureToggleService = FeatureToggleService.initialiser(featureToggleProperties(config)) + val trygdetidService = TrygdetidServiceImpl( TrygdetidRepository(dataSource), @@ -40,3 +44,10 @@ class ApplicationContext { avtaleService = avtaleService, ) } + +private fun featureToggleProperties(config: Config) = + FeatureToggleProperties( + applicationName = config.getString("funksjonsbrytere.unleash.applicationName"), + host = config.getString("funksjonsbrytere.unleash.host"), + apiKey = config.getString("funksjonsbrytere.unleash.token"), + ) diff --git a/apps/etterlatte-trygdetid/src/test/kotlin/no/nav/etterlatte/trygdetid/TrygdetidRoutesTest.kt b/apps/etterlatte-trygdetid/src/test/kotlin/no/nav/etterlatte/trygdetid/TrygdetidRoutesTest.kt index 16b27e7c426..571c64aaa0a 100644 --- a/apps/etterlatte-trygdetid/src/test/kotlin/no/nav/etterlatte/trygdetid/TrygdetidRoutesTest.kt +++ b/apps/etterlatte-trygdetid/src/test/kotlin/no/nav/etterlatte/trygdetid/TrygdetidRoutesTest.kt @@ -16,6 +16,7 @@ import io.mockk.coEvery import io.mockk.coVerify import io.mockk.confirmVerified import io.mockk.mockk +import no.nav.etterlatte.funksjonsbrytere.FeatureToggleService import no.nav.etterlatte.ktor.runServer import no.nav.etterlatte.ktor.startRandomPort import no.nav.etterlatte.ktor.token.issueSaksbehandlerToken @@ -37,6 +38,7 @@ internal class TrygdetidRoutesTest { private val mockOAuth2Server = MockOAuth2Server() private val behandlingKlient = mockk() private val trygdetidService = mockk() + private val unleashMock = mockk() @BeforeEach fun setUp() { @@ -153,7 +155,7 @@ internal class TrygdetidRoutesTest { private fun testApplication(block: suspend ApplicationTestBuilder.() -> Unit) { io.ktor.server.testing.testApplication { runServer(mockOAuth2Server) { - trygdetid(trygdetidService, behandlingKlient) + trygdetid(trygdetidService, behandlingKlient, unleashMock) } block(this) }