Skip to content

Commit 3ae3b3b

Browse files
committed
Bruk enum istedet for String for Tiltakstype i domenet
1 parent d4e216c commit 3ae3b3b

File tree

20 files changed

+72
-29
lines changed

20 files changed

+72
-29
lines changed

app/build.gradle.kts

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ val ktorVersion = "2.3.12"
22
val kotestVersion = "5.9.1"
33
val mockkVersion = "1.13.12"
44
val testContainersVersion = "1.20.1"
5-
val felleslibVersion = "0.0.170"
5+
val felleslibVersion = "0.0.171"
66
val tokenSupportVersion = "3.2.0"
77

88
plugins {

app/src/main/kotlin/no/nav/tiltakspenger/vedtak/clients/tiltak/TiltakGatewayImpl.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package no.nav.tiltakspenger.vedtak.clients.tiltak
22

33
import no.nav.tiltakspenger.libs.common.Fnr
4-
import no.nav.tiltakspenger.saksbehandling.domene.vilkår.tiltakdeltagelse.Tiltak
4+
import no.nav.tiltakspenger.saksbehandling.domene.tiltak.Tiltak
55
import no.nav.tiltakspenger.saksbehandling.ports.TiltakGateway
66
import java.time.LocalDateTime
77

app/src/main/kotlin/no/nav/tiltakspenger/vedtak/clients/tiltak/TiltakMapper.kt

+9-3
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@ import no.nav.tiltakspenger.libs.tiltak.TiltakResponsDTO.TiltakDTO
77
import no.nav.tiltakspenger.saksbehandling.domene.behandling.stønadsdager.AntallDager
88
import no.nav.tiltakspenger.saksbehandling.domene.behandling.stønadsdager.AntallDagerSaksopplysninger
99
import no.nav.tiltakspenger.saksbehandling.domene.saksopplysning.Kilde
10-
import no.nav.tiltakspenger.saksbehandling.domene.vilkår.tiltakdeltagelse.Tiltak
10+
import no.nav.tiltakspenger.saksbehandling.domene.tiltak.Tiltak
11+
import no.nav.tiltakspenger.saksbehandling.domene.tiltak.Tiltak.Gjennomføring
12+
import no.nav.tiltakspenger.saksbehandling.domene.tiltak.Tiltakskilde
1113
import java.time.LocalDateTime
1214
import kotlin.math.roundToInt
1315

@@ -45,7 +47,7 @@ internal fun mapTiltak(
4547
Tiltak(
4648
id = TiltakId.random(),
4749
eksternId = it.id,
48-
gjennomføring = Tiltak.Gjennomføring(
50+
gjennomføring = Gjennomføring(
4951
id = it.gjennomforing.id,
5052
arrangørnavn = it.gjennomforing.arrangørnavn,
5153
typeNavn = it.gjennomforing.typeNavn,
@@ -56,7 +58,11 @@ internal fun mapTiltak(
5658
deltakelseTom = it.deltakelseTom!!,
5759
deltakelseStatus = it.deltakelseStatus.name,
5860
deltakelseProsent = it.deltakelseProsent,
59-
kilde = it.kilde,
61+
kilde = when {
62+
it.kilde.lowercase().contains("komet") -> Tiltakskilde.Komet
63+
it.kilde.lowercase().contains("arena") -> Tiltakskilde.Arena
64+
else -> throw IllegalStateException("Kunne ikke parse tiltak fra tiltakspenger-tiltak. Ukjent kilde: ${it.kilde}. Forventet Arena eller Komet. Tiltaksid: ${it.id}")
65+
},
6066
registrertDato = it.registrertDato,
6167
innhentet = innhentet,
6268
antallDagerSaksopplysninger = AntallDagerSaksopplysninger(

app/src/main/kotlin/no/nav/tiltakspenger/vedtak/repository/behandling/tiltakDeltagelse/TiltakDeltagelseSaksopplysningDbJson.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ internal data class TiltakDeltagelseSaksopplysningDbJson(
2020
deltagelsePeriode = deltagelsePeriode.toDomain(),
2121
girRett = girRett,
2222
status = status,
23-
kilde = kilde,
23+
kilde = kilde.toTiltakskilde(),
2424
)
2525
}
2626
}
@@ -32,6 +32,6 @@ internal fun TiltakDeltagelseSaksopplysning.toDbJson(): TiltakDeltagelseSaksoppl
3232
deltagelsePeriode = deltagelsePeriode.toDbJson(),
3333
girRett = girRett,
3434
status = status,
35-
kilde = kilde,
35+
kilde = kilde.toDb(),
3636
)
3737
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package no.nav.tiltakspenger.vedtak.repository.behandling.tiltakDeltagelse
2+
3+
import no.nav.tiltakspenger.saksbehandling.domene.tiltak.Tiltakskilde
4+
5+
enum class TiltakskildeDb {
6+
Arena,
7+
Komet,
8+
}
9+
10+
internal fun String.toTiltakskilde(): Tiltakskilde {
11+
return when (TiltakskildeDb.valueOf(this)) {
12+
TiltakskildeDb.Arena -> Tiltakskilde.Arena
13+
TiltakskildeDb.Komet -> Tiltakskilde.Komet
14+
}
15+
}
16+
17+
internal fun Tiltakskilde.toDb(): String {
18+
return when (this) {
19+
Tiltakskilde.Arena -> TiltakskildeDb.Arena
20+
Tiltakskilde.Komet -> TiltakskildeDb.Komet
21+
}.toString()
22+
}

app/src/main/kotlin/no/nav/tiltakspenger/vedtak/routes/behandling/vilkår/tiltakdeltagelse/TiltakDeltagelseSaksopplysningDTO.kt

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package no.nav.tiltakspenger.vedtak.routes.behandling.vilkår.tiltakdeltagelse
22

3+
import no.nav.tiltakspenger.saksbehandling.domene.tiltak.Tiltakskilde.Arena
4+
import no.nav.tiltakspenger.saksbehandling.domene.tiltak.Tiltakskilde.Komet
35
import no.nav.tiltakspenger.saksbehandling.domene.vilkår.tiltakdeltagelse.TiltakDeltagelseSaksopplysning
46
import no.nav.tiltakspenger.vedtak.routes.dto.PeriodeDTO
57
import no.nav.tiltakspenger.vedtak.routes.dto.toDTO
@@ -15,9 +17,8 @@ internal fun TiltakDeltagelseSaksopplysning.toDTO(): TiltakDeltagelseSaksopplysn
1517
return TiltakDeltagelseSaksopplysningDTO(
1618
tiltakNavn = tiltakNavn,
1719
kilde = when (kilde) {
18-
"KOMET" -> TiltakDeltagelseKildeDTO.KOMET
19-
"ARENA" -> TiltakDeltagelseKildeDTO.ARENA
20-
else -> throw IllegalStateException("Ikke gyldig kilde for tiltaksdeltagelse")
20+
Arena -> TiltakDeltagelseKildeDTO.ARENA
21+
Komet -> TiltakDeltagelseKildeDTO.KOMET
2122
},
2223
deltagelsePeriode = deltagelsePeriode.toDTO(),
2324
status = status,

domene/build.gradle.kts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
val jacksonVersion = "2.17.2"
22
val kotestVersion = "5.9.1"
33
val mockkVersion = "1.13.12"
4-
val felleslibVersion = "0.0.170"
4+
val felleslibVersion = "0.0.171"
55
val kotlinxCoroutinesVersion = "1.8.1"
66

77
dependencies {

domene/src/main/kotlin/no/nav/tiltakspenger/saksbehandling/domene/behandling/Førstegangsbehandling.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ import no.nav.tiltakspenger.saksbehandling.domene.behandling.Behandlingsstatus.K
1414
import no.nav.tiltakspenger.saksbehandling.domene.behandling.Behandlingsstatus.UNDER_BEHANDLING
1515
import no.nav.tiltakspenger.saksbehandling.domene.behandling.Behandlingsstatus.UNDER_BESLUTNING
1616
import no.nav.tiltakspenger.saksbehandling.domene.sak.Saksnummer
17+
import no.nav.tiltakspenger.saksbehandling.domene.tiltak.Tiltak
1718
import no.nav.tiltakspenger.saksbehandling.domene.vilkår.SamletUtfall
1819
import no.nav.tiltakspenger.saksbehandling.domene.vilkår.Vilkårssett
19-
import no.nav.tiltakspenger.saksbehandling.domene.vilkår.tiltakdeltagelse.Tiltak
2020
import java.time.LocalDate
2121

2222
data class Førstegangsbehandling(

domene/src/main/kotlin/no/nav/tiltakspenger/saksbehandling/domene/sak/Sak.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ import no.nav.tiltakspenger.saksbehandling.domene.behandling.Førstegangsbehandl
1414
import no.nav.tiltakspenger.saksbehandling.domene.behandling.KanIkkeOppretteBehandling
1515
import no.nav.tiltakspenger.saksbehandling.domene.behandling.Søknad
1616
import no.nav.tiltakspenger.saksbehandling.domene.personopplysninger.SakPersonopplysninger
17+
import no.nav.tiltakspenger.saksbehandling.domene.tiltak.Tiltak
1718
import no.nav.tiltakspenger.saksbehandling.domene.vedtak.Vedtak
18-
import no.nav.tiltakspenger.saksbehandling.domene.vilkår.tiltakdeltagelse.Tiltak
1919

2020
private val LOG = KotlinLogging.logger {}
2121
private val SECURELOG = KotlinLogging.logger("tjenestekall")

domene/src/main/kotlin/no/nav/tiltakspenger/saksbehandling/domene/vilkår/tiltakdeltagelse/Tiltak.kt domene/src/main/kotlin/no/nav/tiltakspenger/saksbehandling/domene/tiltak/Tiltak.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package no.nav.tiltakspenger.saksbehandling.domene.vilkår.tiltakdeltagelse
1+
package no.nav.tiltakspenger.saksbehandling.domene.tiltak
22

33
import no.nav.tiltakspenger.felles.TiltakId
44
import no.nav.tiltakspenger.saksbehandling.domene.behandling.stønadsdager.AntallDagerSaksopplysninger
@@ -13,7 +13,7 @@ data class Tiltak(
1313
val deltakelseTom: LocalDate,
1414
val deltakelseStatus: String,
1515
val deltakelseProsent: Float?,
16-
val kilde: String,
16+
val kilde: Tiltakskilde,
1717
val registrertDato: LocalDateTime,
1818
val innhentet: LocalDateTime,
1919
val antallDagerSaksopplysninger: AntallDagerSaksopplysninger, // TODO Kew slett
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package no.nav.tiltakspenger.saksbehandling.domene.tiltak
2+
3+
enum class Tiltakskilde {
4+
Arena,
5+
Komet,
6+
}

domene/src/main/kotlin/no/nav/tiltakspenger/saksbehandling/domene/vilkår/Vilkårssett.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import arrow.core.Either
44
import no.nav.tiltakspenger.libs.periodisering.Periode
55
import no.nav.tiltakspenger.libs.periodisering.Periodisering
66
import no.nav.tiltakspenger.saksbehandling.domene.behandling.Søknad
7+
import no.nav.tiltakspenger.saksbehandling.domene.tiltak.Tiltak
78
import no.nav.tiltakspenger.saksbehandling.domene.vilkår.alder.AlderSaksopplysning.Register
89
import no.nav.tiltakspenger.saksbehandling.domene.vilkår.alder.AlderVilkår
910
import no.nav.tiltakspenger.saksbehandling.domene.vilkår.alder.LeggTilAlderSaksopplysningCommand
@@ -22,7 +23,6 @@ import no.nav.tiltakspenger.saksbehandling.domene.vilkår.livsopphold.LeggTilLiv
2223
import no.nav.tiltakspenger.saksbehandling.domene.vilkår.livsopphold.LivsoppholdVilkår
2324
import no.nav.tiltakspenger.saksbehandling.domene.vilkår.livsopphold.LivsoppholdVilkår.PeriodenMåVæreLikVurderingsperioden
2425
import no.nav.tiltakspenger.saksbehandling.domene.vilkår.livsopphold.livsoppholdSaksopplysning
25-
import no.nav.tiltakspenger.saksbehandling.domene.vilkår.tiltakdeltagelse.Tiltak
2626
import no.nav.tiltakspenger.saksbehandling.domene.vilkår.tiltakdeltagelse.TiltakDeltagelseVilkår
2727
import no.nav.tiltakspenger.saksbehandling.domene.vilkår.tiltakdeltagelse.tilRegisterSaksopplysning
2828
import java.time.LocalDate

domene/src/main/kotlin/no/nav/tiltakspenger/saksbehandling/domene/vilkår/tiltakdeltagelse/TiltakDeltagelseEx.kt

+1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package no.nav.tiltakspenger.saksbehandling.domene.vilkår.tiltakdeltagelse
22

33
import no.nav.tiltakspenger.libs.periodisering.Periode
4+
import no.nav.tiltakspenger.saksbehandling.domene.tiltak.Tiltak
45
import java.time.LocalDateTime
56

67
fun Tiltak.tilRegisterSaksopplysning(): TiltakDeltagelseSaksopplysning.Register {

domene/src/main/kotlin/no/nav/tiltakspenger/saksbehandling/domene/vilkår/tiltakdeltagelse/TiltakDeltagelseSaksopplysning.kt

+5-4
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,20 @@
11
package no.nav.tiltakspenger.saksbehandling.domene.vilkår.tiltakdeltagelse
22

3+
import no.nav.tiltakspenger.felles.Saksbehandler
34
import no.nav.tiltakspenger.libs.periodisering.Periode
5+
import no.nav.tiltakspenger.saksbehandling.domene.tiltak.Tiltakskilde
46
import no.nav.tiltakspenger.saksbehandling.domene.vilkår.felles.ÅrsakTilEndring
57
import java.time.LocalDateTime
68

79
sealed interface TiltakDeltagelseSaksopplysning {
810
val tiltakNavn: String
9-
val kilde: String
11+
val kilde: Tiltakskilde
1012
val deltagelsePeriode: Periode
1113
val girRett: Boolean
1214
val status: String
1315
val tidsstempel: LocalDateTime
14-
1516
val årsakTilEndring: ÅrsakTilEndring?
16-
val saksbehandler: no.nav.tiltakspenger.felles.Saksbehandler?
17+
val saksbehandler: Saksbehandler?
1718

1819
data class Register(
1920
override val tiltakNavn: String,
@@ -22,7 +23,7 @@ sealed interface TiltakDeltagelseSaksopplysning {
2223
override val girRett: Boolean,
2324
// TODO jah: Kunne ønske meg at denne var en enum. Vi sliter vel uansett med å håndtere ukjente verdier?
2425
override val status: String,
25-
override val kilde: String,
26+
override val kilde: Tiltakskilde,
2627
) : TiltakDeltagelseSaksopplysning {
2728
override val årsakTilEndring = null
2829
override val saksbehandler = null

domene/src/main/kotlin/no/nav/tiltakspenger/saksbehandling/ports/TiltakGateway.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package no.nav.tiltakspenger.saksbehandling.ports
22

33
import no.nav.tiltakspenger.libs.common.Fnr
4-
import no.nav.tiltakspenger.saksbehandling.domene.vilkår.tiltakdeltagelse.Tiltak
4+
import no.nav.tiltakspenger.saksbehandling.domene.tiltak.Tiltak
55

66
interface TiltakGateway {
77
suspend fun hentTiltak(fnr: Fnr): List<Tiltak>

test-common/build.gradle.kts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
val felleslibVersion = "0.0.170"
1+
val felleslibVersion = "0.0.171"
22

33
dependencies {
44
implementation(project(":domene"))

test-common/src/main/kotlin/no/nav/tiltakspenger/objectmothers/BehandlingMother.kt

+4-2
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,12 @@ import no.nav.tiltakspenger.saksbehandling.domene.behandling.stønadsdager.Antal
1818
import no.nav.tiltakspenger.saksbehandling.domene.behandling.stønadsdager.AntallDagerSaksopplysninger
1919
import no.nav.tiltakspenger.saksbehandling.domene.sak.Saksnummer
2020
import no.nav.tiltakspenger.saksbehandling.domene.saksopplysning.Kilde
21+
import no.nav.tiltakspenger.saksbehandling.domene.tiltak.Tiltak
22+
import no.nav.tiltakspenger.saksbehandling.domene.tiltak.Tiltakskilde
23+
import no.nav.tiltakspenger.saksbehandling.domene.tiltak.Tiltakskilde.Komet
2124
import no.nav.tiltakspenger.saksbehandling.domene.vilkår.felles.ÅrsakTilEndring
2225
import no.nav.tiltakspenger.saksbehandling.domene.vilkår.livsopphold.LeggTilLivsoppholdSaksopplysningCommand
2326
import no.nav.tiltakspenger.saksbehandling.domene.vilkår.livsopphold.leggTilLivsoppholdSaksopplysning
24-
import no.nav.tiltakspenger.saksbehandling.domene.vilkår.tiltakdeltagelse.Tiltak
2527
import java.time.LocalDate
2628

2729
interface BehandlingMother {
@@ -142,7 +144,7 @@ interface BehandlingMother {
142144
status: String = "DELTAR",
143145
dagerPrUke: Float? = 2F,
144146
prosent: Float? = 100F,
145-
kilde: String = "Komet",
147+
kilde: Tiltakskilde = Komet,
146148
antallDagerFraSaksbehandler: List<PeriodeMedVerdi<AntallDager>> = emptyList(),
147149
) =
148150
Tiltak(

test-common/src/main/kotlin/no/nav/tiltakspenger/objectmothers/PersonMother.kt

+4-2
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,9 @@ import no.nav.tiltakspenger.saksbehandling.domene.behandling.stønadsdager.Antal
1414
import no.nav.tiltakspenger.saksbehandling.domene.personopplysninger.PersonopplysningerBarnMedIdent
1515
import no.nav.tiltakspenger.saksbehandling.domene.personopplysninger.PersonopplysningerSøker
1616
import no.nav.tiltakspenger.saksbehandling.domene.søker.Søker
17-
import no.nav.tiltakspenger.saksbehandling.domene.vilkår.tiltakdeltagelse.Tiltak
17+
import no.nav.tiltakspenger.saksbehandling.domene.tiltak.Tiltak
18+
import no.nav.tiltakspenger.saksbehandling.domene.tiltak.Tiltakskilde
19+
import no.nav.tiltakspenger.saksbehandling.domene.tiltak.Tiltakskilde.Komet
1820
import java.time.LocalDate
1921
import java.time.LocalDateTime
2022

@@ -130,7 +132,7 @@ interface PersonMother {
130132
),
131133
deltakelseFom: LocalDate = 1.januar(2022),
132134
deltakelseTom: LocalDate = 31.januar(2022),
133-
kilde: String = "Komet",
135+
kilde: Tiltakskilde = Komet,
134136
deltakelseProsent: Float? = 100F,
135137
deltakerStatus: String = "DELTAR",
136138
antallDagerPerUke: Float? = 1F,

test-common/src/main/kotlin/no/nav/tiltakspenger/objectmothers/SakMother.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import no.nav.tiltakspenger.saksbehandling.domene.behandling.Søknad
1414
import no.nav.tiltakspenger.saksbehandling.domene.personopplysninger.SakPersonopplysninger
1515
import no.nav.tiltakspenger.saksbehandling.domene.sak.Sak
1616
import no.nav.tiltakspenger.saksbehandling.domene.sak.Saksnummer
17-
import no.nav.tiltakspenger.saksbehandling.domene.vilkår.tiltakdeltagelse.Tiltak
17+
import no.nav.tiltakspenger.saksbehandling.domene.tiltak.Tiltak
1818
import java.time.LocalDate
1919

2020
interface SakMother {

test-common/src/main/kotlin/no/nav/tiltakspenger/objectmothers/VilkårMother.kt

+4-2
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ import no.nav.tiltakspenger.libs.common.BehandlingId
55
import no.nav.tiltakspenger.libs.periodisering.Periode
66
import no.nav.tiltakspenger.libs.periodisering.PeriodeMedVerdi
77
import no.nav.tiltakspenger.libs.periodisering.Periodisering
8+
import no.nav.tiltakspenger.saksbehandling.domene.tiltak.Tiltakskilde
9+
import no.nav.tiltakspenger.saksbehandling.domene.tiltak.Tiltakskilde.Komet
810
import no.nav.tiltakspenger.saksbehandling.domene.vilkår.Vilkårssett
911
import no.nav.tiltakspenger.saksbehandling.domene.vilkår.alder.AlderSaksopplysning
1012
import no.nav.tiltakspenger.saksbehandling.domene.vilkår.alder.AlderVilkår
@@ -244,7 +246,7 @@ interface VilkårMother {
244246
tiltakNavn: String = "Tiltaksnavnet",
245247
girRett: Boolean = true,
246248
status: String = "Gjennomføres",
247-
kilde: String = "Komet",
249+
kilde: Tiltakskilde = Komet,
248250
registerSaksopplysning: TiltakDeltagelseSaksopplysning.Register = tiltakDeltagelseSaksopplysning(
249251
vurderingsperiode = vurderingsperiode,
250252
fødselsdato = fødselsdato,
@@ -268,7 +270,7 @@ interface VilkårMother {
268270
tiltakNavn: String = "Tiltaksnavnet",
269271
girRett: Boolean = true,
270272
status: String = "Gjennomføres",
271-
kilde: String = "Komet",
273+
kilde: Tiltakskilde = Komet,
272274
): TiltakDeltagelseSaksopplysning.Register {
273275
return TiltakDeltagelseSaksopplysning.Register(
274276
tidsstempel = tidsstempel,

0 commit comments

Comments
 (0)