@@ -11,39 +11,45 @@ import no.nav.su.se.bakover.common.sikkerLogg
11
11
import org.slf4j.LoggerFactory
12
12
import vilkår.skatt.domain.Skattegrunnlag
13
13
import vilkår.skatt.domain.Stadie
14
+ import vilkår.skatt.infrastructure.client.SummerSkattegrunnlagV2Response.SummertSkattegrunnlagsV2Object.Kjoeretoey
14
15
import java.time.LocalDate
15
16
import java.time.Year
16
- import vilkår.skatt.infrastructure.client.SpesifisertSummertSkattegrunnlagResponseJson.SpesifisertSummertSkattegrunnlagsobjekt.Spesifisering as EksternSpesifisering
17
17
18
- private val log = LoggerFactory .getLogger(SpesifisertSummertSkattegrunnlagResponseJson ::class .java)
19
-
20
- internal data class SpesifisertSummertSkattegrunnlagResponseJson (
21
- val grunnlag : List <SpesifisertSummertSkattegrunnlagsobjekt >? = emptyList(),
22
- val skatteoppgjoersdato : String? ,
23
- val svalbardGrunnlag : List <SpesifisertSummertSkattegrunnlagsobjekt >? = null ,
18
+ private val log = LoggerFactory .getLogger(SummerSkattegrunnlagV2Response ::class .java)
19
+
20
+ internal data class SummerSkattegrunnlagV2Response (
21
+ val ajourholdstidspunkt : String? = null ,
22
+ val grunnlag : List <SummertSkattegrunnlagsV2Object >? = emptyList(),
23
+ val inntektsår : String? = null ,
24
+ val kildeskattPaaLoennGrunnlag : List <SummertSkattegrunnlagsV2Object >? = emptyList(),
25
+ val personidentifikator : String? = null ,
26
+ val skatteoppgjoersdato : String? = null ,
27
+ val skjermet : Boolean? = null ,
28
+ val stadie : String? = null ,
29
+ val svalbardGrunnlag : List <SummertSkattegrunnlagsV2Object >? = emptyList(),
24
30
) {
25
31
26
32
/* *
27
33
* @param spesifisering I følge modellen til skatt, kan et innslag ha 0, 1 eller flere spesifiseringer.
28
34
*/
29
- internal data class SpesifisertSummertSkattegrunnlagsobjekt (
35
+ internal data class SummertSkattegrunnlagsV2Object (
30
36
val beloep : String ,
31
- val spesifisering : List <EksternSpesifisering >? = null ,
32
- val tekniskNavn : String ,
33
37
val kategori : String ,
38
+ val spesifisering : List <Kjoeretoey >? = null ,
39
+ val tekniskNavn : String ,
34
40
) {
35
41
/* *
36
- * Finnes mange forskjellige typer spesifisering. Vi er bare interessert i kjøretøy
42
+ * Finnes mange forskjellige typer spesifisering. Vi er bare interessert i kjøretøy og det er også den eneste rettighetspakken vi har.
37
43
*/
38
- data class Spesifisering (
44
+ data class Kjoeretoey (
39
45
val type : String ,
40
- val beloep : String? ,
41
- val registreringsnummer : String? ,
42
- val fabrikatnavn : String? ,
43
- val aarForFoerstegangsregistrering : String? ,
44
- val formuesverdi : String? ,
45
- val antattVerdiSomNytt : String? ,
46
- val antattMarkedsverdi : String? ,
46
+ val aarForFoerstegangsregistrering : String? = null ,
47
+ val antattMarkedsverdi : String? = null ,
48
+ val antattVerdiSomNytt : String? = null ,
49
+ val beloep : String? = null ,
50
+ val fabrikatnavn : String? = null ,
51
+ val formuesverdi : String? = null ,
52
+ val registreringsnummer : String? = null ,
47
53
)
48
54
49
55
fun toDomain (år : Year , stadie : Stadie ): Skattegrunnlag .Grunnlag {
@@ -109,7 +115,7 @@ internal data class SpesifisertSummertSkattegrunnlagResponseJson(
109
115
stadie : Stadie ,
110
116
): Either <SkatteoppslagFeil , Skattegrunnlag .SkattegrunnlagFor År> {
111
117
return Either .catch {
112
- deserialize<SpesifisertSummertSkattegrunnlagResponseJson >(json)
118
+ deserialize<SummerSkattegrunnlagV2Response >(json)
113
119
}.flatMap {
114
120
it.toDomain(inntektsår, stadie)
115
121
}.mapLeft {
@@ -124,7 +130,7 @@ internal data class SpesifisertSummertSkattegrunnlagResponseJson(
124
130
}
125
131
}
126
132
127
- private fun List<EksternSpesifisering >.toDomain (): List <Skattegrunnlag .Spesifisering .Kj øretøy> {
133
+ private fun List<Kjoeretoey >.toDomain (): List <Skattegrunnlag .Spesifisering .Kj øretøy> {
128
134
return this .mapNotNull {
129
135
when (it.type) {
130
136
" Kjoeretoey" -> Skattegrunnlag .Spesifisering .Kj øretøy(
@@ -145,7 +151,7 @@ private fun List<EksternSpesifisering>.toDomain(): List<Skattegrunnlag.Spesifise
145
151
}
146
152
}
147
153
148
- private fun SpesifisertSummertSkattegrunnlagResponseJson .toDomain (
154
+ private fun SummerSkattegrunnlagV2Response .toDomain (
149
155
år : Year ,
150
156
stadie : Stadie ,
151
157
): Either <Throwable , Skattegrunnlag .SkattegrunnlagFor År> {
0 commit comments