1
1
package no.nav.hjelpemidler.api
2
2
3
+ import com.fasterxml.jackson.annotation.JsonCreator
4
+ import com.fasterxml.jackson.annotation.JsonProperty
3
5
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule
4
6
import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper
5
7
import io.ktor.application.call
@@ -33,13 +35,12 @@ internal fun Route.serviceforespørselAPI(context: Context) {
33
35
val serviceForespørselEndring = call.receive<ServiceForesp ørselEndring>()
34
36
val sfMessage = SfMessage (
35
37
eventId = UUID .randomUUID(),
36
- eventName = " hm-EndretSF-oebs" ,
38
+ eventName = " hm-EndretSF-oebs-v2 " ,
37
39
opprettet = LocalDateTime .now(),
38
40
data = serviceForespørselEndring
39
41
)
40
42
publiserMelding(context, serviceForespørselEndring, sfMessage)
41
43
call.respond(HttpStatusCode .OK )
42
-
43
44
} catch (e: RapidsAndRiverException ) {
44
45
call.respond(HttpStatusCode .InternalServerError , " Feil under prosessering" )
45
46
return @post
@@ -56,14 +57,25 @@ data class ServiceForespørselEndring(
56
57
val sfnummer : String ,
57
58
val saknummer : String ,
58
59
val ordre : List <ServiceForesp ørselOrdre>? = null ,
59
- val status : String? ,
60
+ @JsonProperty(" status" )
61
+ val status : SFEndringType ,
60
62
)
61
63
62
64
data class ServiceForesp ørselOrdre(
63
65
val ordrenummer : String ,
64
66
val status : String ,
65
67
)
66
68
69
+ enum class SFEndringType (value : String ) {
70
+ OPPRETTET (" opprettet" ), LUKKET (" Lukket" ), TILORDNET (" Tilordnet" );
71
+
72
+ companion object {
73
+ @JvmStatic
74
+ @JsonCreator
75
+ fun fromString (value : String ) = valueOf(value.uppercase())
76
+ }
77
+ }
78
+
67
79
private fun publiserMelding (
68
80
context : Context ,
69
81
serviceForespørselEndring : ServiceForesp ørselEndring,
@@ -72,8 +84,8 @@ private fun publiserMelding(
72
84
try {
73
85
logg.info(
74
86
" Publiserer oppdatering for SF fra OEBS med id ${serviceForespørselEndring.id} , " +
75
- " sfNummer: ${serviceForespørselEndring.sfnummer} , saknr: ${serviceForespørselEndring.saknummer} " +
76
- " status: ${serviceForespørselEndring.status} , ordre: ${serviceForespørselEndring.ordre} "
87
+ " sfNummer: ${serviceForespørselEndring.sfnummer} , saknr: ${serviceForespørselEndring.saknummer} " +
88
+ " status: ${serviceForespørselEndring.status} , ordre: ${serviceForespørselEndring.ordre} "
77
89
)
78
90
context.publish(
79
91
serviceForespørselEndring.saknummer,
0 commit comments