Skip to content

Commit

Permalink
Merge pull request #4008 from navikt/styre-pamelding
Browse files Browse the repository at this point in the history
Kan konfigurere påmeldingsknapp fra application-x.yaml
  • Loading branch information
sndrem authored Jun 28, 2024
2 parents 0d35a63 + da33f38 commit 04c0075
Show file tree
Hide file tree
Showing 16 changed files with 103 additions and 22 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import { useQuery } from "@tanstack/react-query";
import { mulighetsrommetClient } from "@/api/client";
import { QueryKeys } from "../query-keys";

export function useTiltakstyperSomStotterPameldingIModia() {
return useQuery({
queryKey: QueryKeys.tiltakstyperSomStotterPameldingIModia(),
queryFn: () => mulighetsrommetClient.tiltakstyper.getTiltakstyperSomStotterPameldingImodia(),
});
}
Original file line number Diff line number Diff line change
Expand Up @@ -33,4 +33,5 @@ export const QueryKeys = {
avtaleId,
],
deltMedBrukerHistorikk: (norskIdent: string) => ["deltMedBrukerHistorikk", norskIdent],
tiltakstyperSomStotterPameldingIModia: () => ["tiltakstyperSomStotterPameldingIModia"],
};
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import {
import { ReactNode } from "react";
import { useGetTiltaksgjennomforingIdFraUrl } from "../../api/queries/useGetTiltaksgjennomforingIdFraUrl";
import { useHistorikkV2 } from "../../api/queries/useHistorikkV2";
import { useTiltakstyperSomStotterPameldingIModia } from "../../api/queries/useTiltakstyperSomStotterPameldingIModia";
import { ModiaRoute, resolveModiaRoute } from "../../apps/modia/ModiaRoute";
import styles from "./PameldingForGruppetiltak.module.scss";

Expand All @@ -24,6 +25,7 @@ export function PameldingForGruppetiltak({
tiltaksgjennomforing,
}: PameldingProps): ReactNode {
const { data: deltakerHistorikk } = useHistorikkV2();
const { data: stotterPameldingIModia = [] } = useTiltakstyperSomStotterPameldingIModia();
const gjennomforingId = useGetTiltaksgjennomforingIdFraUrl();

const { aktive = [] } = deltakerHistorikk || {};
Expand All @@ -41,7 +43,7 @@ export function PameldingForGruppetiltak({
const skalVisePameldingslenke =
!kanOppretteAvtaleForTiltak &&
brukerHarRettPaaValgtTiltak &&
tiltakstypeStotterPamelding(tiltaksgjennomforing.tiltakstype) &&
tiltakstypeStotterPamelding(stotterPameldingIModia, tiltaksgjennomforing.tiltakstype) &&
!aktivDeltakelse;

const opprettDeltakelseRoute = resolveModiaRoute({
Expand Down Expand Up @@ -130,15 +132,9 @@ function utledTekster(deltakelse: DeltakerKort): Tekst {
}
}

function tiltakstypeStotterPamelding(tiltakstype: VeilederflateTiltakstype): boolean {
const whitelistTiltakstypeStotterPamelding = [
TiltakskodeArena.ARBFORB,
TiltakskodeArena.ARBRRHDAG,
TiltakskodeArena.AVKLARAG,
TiltakskodeArena.INDOPPFAG,
TiltakskodeArena.VASV,
];
return (
!!tiltakstype.arenakode && whitelistTiltakstypeStotterPamelding.includes(tiltakstype.arenakode)
);
function tiltakstypeStotterPamelding(
tiltakstyperSomStotterPamelding: string[],
tiltakstype: VeilederflateTiltakstype,
): boolean {
return !!tiltakstype.arenakode && tiltakstyperSomStotterPamelding.includes(tiltakstype.arenakode);
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,21 @@ export const tiltakHandlers = [
return HttpResponse.json(Object.values(mockTiltakstyper));
}),

http.get("*/api/v1/intern/tiltakstyper/stotterPameldingIModia", async () => {
const tiltakstyperMedPamelding = [
"ARBFORB",
"ARBRRHDAG",
"AVKLARAG",
"DIGIOPPARB",
"GRUFAGYRKE",
"GRUPPEAMO",
"INDOPPFAG",
"JOBB",
"VASV",
];
return HttpResponse.json(tiltakstyperMedPamelding);
}),

http.get("*/api/v1/intern/veileder/tiltaksgjennomforinger", async ({ request }) => {
const url = new URL(request.url);
const results = getFilteredArbeidsmarkedstiltak(url);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ fun Application.configure(config: AppConfig) {
}

authenticate(AuthProvider.AZURE_AD_NAV_IDENT.name, AuthProvider.AZURE_AD_TILTAKSADMINISTRASJON_GENERELL.name) {
tiltakstypeRoutes(config.migrerteTiltak)
tiltakstypeRoutes(config.migrerteTiltak, config.pameldingIModia)
tiltaksgjennomforingRoutes()
avtaleRoutes()
veilederflateRoutes()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ data class AppConfig(
val database: DatabaseConfig,
val flyway: FlywayMigrationManager.MigrationConfig,
val migrerteTiltak: List<Tiltakskode>,
val pameldingIModia: List<Tiltakskode>,
val kafka: KafkaConfig,
val auth: AuthConfig,
val sanity: SanityClient.Config,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ import no.nav.mulighetsrommet.domain.Tiltakskode.Companion.toArenaKode
import org.koin.ktor.ext.inject
import java.util.*

fun Route.tiltakstypeRoutes(migrerteTiltak: List<Tiltakskode>) {
fun Route.tiltakstypeRoutes(migrerteTiltak: List<Tiltakskode>, pameldingIModia: List<Tiltakskode>) {
val tiltakstypeService: TiltakstypeService by inject()
val veilederflateService: VeilederflateService by inject()

Expand Down Expand Up @@ -58,6 +58,10 @@ fun Route.tiltakstypeRoutes(migrerteTiltak: List<Tiltakskode>) {
get("migrerte") {
call.respond(migrerteTiltak.map { toArenaKode(it) })
}

get("stotterPameldingIModia") {
call.respond(pameldingIModia.map { toArenaKode(it) })
}
}
}

Expand Down
3 changes: 3 additions & 0 deletions mulighetsrommet-api/src/main/resources/application-dev.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,9 @@ app:
- ARBEIDSRETTET_REHABILITERING
- VARIG_TILRETTELAGT_ARBEID_SKJERMET

pameldingIModia:
- ARBEIDSFORBEREDENDE_TRENING

kafka:
producerId: mulighetsrommet-api-kafka-producer.v1
consumerGroupId: mulighetsrommet-api-kafka-consumer.v1
Expand Down
11 changes: 11 additions & 0 deletions mulighetsrommet-api/src/main/resources/application-local.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,17 @@ app:
- ARBEIDSRETTET_REHABILITERING
- VARIG_TILRETTELAGT_ARBEID_SKJERMET

pameldingIModia:
- AVKLARING
- OPPFOLGING
- GRUPPE_ARBEIDSMARKEDSOPPLAERING
- JOBBKLUBB
- DIGITALT_OPPFOLGINGSTILTAK
- ARBEIDSFORBEREDENDE_TRENING
- GRUPPE_FAG_OG_YRKESOPPLAERING
- ARBEIDSRETTET_REHABILITERING
- VARIG_TILRETTELAGT_ARBEID_SKJERMET

kafka:
brokerUrl: localhost:29092
producerId: mulighetsrommet-api-kafka-producer.v1
Expand Down
2 changes: 2 additions & 0 deletions mulighetsrommet-api/src/main/resources/application-prod.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ app:
- OPPFOLGING
- VARIG_TILRETTELAGT_ARBEID_SKJERMET

pameldingIModia: []

kafka:
producerId: mulighetsrommet-api-kafka-producer.v1
consumerGroupId: mulighetsrommet-api-kafka-consumer.v1
Expand Down
15 changes: 15 additions & 0 deletions mulighetsrommet-api/src/main/resources/web/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -791,6 +791,21 @@ paths:
items:
type: string

/api/v1/intern/tiltakstyper/stotterPameldingIModia:
get:
tags:
- Tiltakstyper
operationId: getTiltakstyperSomStotterPameldingIModia
responses:
200:
description: Liste over tiltak som støtter påmelding i Modia
content:
application/json:
schema:
type: array
items:
type: string

/api/v1/intern/veileder/innsatsgrupper:
get:
tags:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,7 @@ fun createTestApplicationConfig() = AppConfig(
axsys = ServiceClientConfig(url = "", scope = ""),
pdl = ServiceClientConfig(url = "", scope = ""),
migrerteTiltak = emptyList(),
pameldingIModia = emptyList(),
pamOntologi = createServiceClientConfig("pam-ontologi"),
utdanning = UtdanningClient.Config(
baseurl = "",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,10 @@ class AvtaleValidatorTest :
beforeEach {
domain.initialize(database.db)

tiltakstyper = TiltakstypeService(TiltakstypeRepository(database.db), listOf(Tiltakskode.OPPFOLGING))
tiltakstyper = TiltakstypeService(
TiltakstypeRepository(database.db),
listOf(Tiltakskode.OPPFOLGING),
)
navEnheterService = NavEnhetService(NavEnhetRepository(database.db))
avtaler = AvtaleRepository(database.db)
gjennomforinger = TiltaksgjennomforingRepository(database.db)
Expand All @@ -119,7 +122,10 @@ class AvtaleValidatorTest :
}

test("skal feile når tiltakstypen ikke er aktivert") {
tiltakstyper = TiltakstypeService(TiltakstypeRepository(database.db), emptyList())
tiltakstyper = TiltakstypeService(
TiltakstypeRepository(database.db),
emptyList(),
)
val validator = AvtaleValidator(tiltakstyper, gjennomforinger, navEnheterService, arrangorer)

val dbo = avtaleDbo.copy(
Expand All @@ -135,7 +141,10 @@ class AvtaleValidatorTest :
}

test("skal ikke feile når tiltakstypen er AFT, VTA, eller aktivert") {
tiltakstyper = TiltakstypeService(TiltakstypeRepository(database.db), listOf(Tiltakskode.OPPFOLGING))
tiltakstyper = TiltakstypeService(
TiltakstypeRepository(database.db),
listOf(Tiltakskode.OPPFOLGING),
)
val validator = AvtaleValidator(tiltakstyper, gjennomforinger, navEnheterService, arrangorer)

validator.validate(AvtaleFixtures.AFT, null).shouldBeRight()
Expand Down Expand Up @@ -239,7 +248,10 @@ class AvtaleValidatorTest :

test("sluttDato er påkrevd hvis ikke forhåndsgodkjent") {
val validator = AvtaleValidator(
TiltakstypeService(TiltakstypeRepository(database.db), Tiltakskode.values().toList()),
TiltakstypeService(
TiltakstypeRepository(database.db),
Tiltakskode.values().toList(),
),
gjennomforinger,
navEnheterService,
arrangorer,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,11 @@ class TiltaksgjennomforingValidatorTest : FunSpec({
beforeEach {
domain.initialize(database.db)

tiltakstyper = TiltakstypeService(TiltakstypeRepository(database.db), listOf(Tiltakskode.OPPFOLGING))
tiltakstyper = TiltakstypeService(
TiltakstypeRepository(database.db),
listOf(Tiltakskode.OPPFOLGING),

)
avtaler = AvtaleRepository(database.db)
tiltaksgjennomforinger = TiltaksgjennomforingRepository(database.db)
arrangorer = ArrangorRepository(database.db)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,10 @@ class TiltaksgjennomforingTopicConsumerTest : FunSpec({
val arenaAdapterClient = mockk<ArenaAdapterClient>()
coEvery { arenaAdapterClient.hentArenadata(gjennomforing.id) } returns null

val tiltakstyper = TiltakstypeService(TiltakstypeRepository(database.db), enabledTiltakskoder = emptyList())
val tiltakstyper = TiltakstypeService(
TiltakstypeRepository(database.db),
enabledTiltakskoder = emptyList(),
)

val consumer = TiltaksgjennomforingTopicConsumer(
KafkaTopicConsumer.Config(id = "id", topic = "topic"),
Expand All @@ -79,7 +82,10 @@ class TiltaksgjennomforingTopicConsumerTest : FunSpec({
val arenaAdapterClient = mockk<ArenaAdapterClient>()
coEvery { arenaAdapterClient.hentArenadata(gjennomforing.id) } returns null

val tiltakstyper = TiltakstypeService(TiltakstypeRepository(database.db), listOf(Tiltakskode.OPPFOLGING))
val tiltakstyper = TiltakstypeService(
TiltakstypeRepository(database.db),
listOf(Tiltakskode.OPPFOLGING),
)

val consumer = TiltaksgjennomforingTopicConsumer(
KafkaTopicConsumer.Config(id = "id", topic = "topic"),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"response": {
"status": 200,
"jsonBody": {
"innsatsgruppe": "SITUASJONSBESTEMT_INNSATS"
"innsatsgruppe": "VARIG_TILPASSET_INNSATS"
},
"headers": {
"Content-Type": "application/json"
Expand Down

0 comments on commit 04c0075

Please sign in to comment.