@@ -17,11 +17,14 @@ import no.nav.hjelpemidler.Context
17
17
import no.nav.hjelpemidler.configuration.Configuration
18
18
import no.nav.hjelpemidler.model.OrdrelinjeMessage
19
19
import no.nav.hjelpemidler.model.OrdrelinjeOebs
20
+ import no.nav.hjelpemidler.model.UvalidertOrdrelinjeMessage
20
21
import no.nav.hjelpemidler.model.erOpprettetFraHOTSAK
21
22
import opprettHotsakOrdrelinje
22
23
import opprettInfotrygdOrdrelinje
23
24
import parseHotsakOrdrelinje
24
25
import parseInfotrygdOrdrelinje
26
+ import java.time.LocalDateTime
27
+ import java.util.UUID
25
28
26
29
private val logg = KotlinLogging .logger {}
27
30
private val sikkerlogg = KotlinLogging .logger(" tjenestekall" )
@@ -39,6 +42,7 @@ internal fun Route.ordrelinjeAPI(context: Context) {
39
42
40
43
try {
41
44
val ordrelinje = parseOrdrelinje(context, call) ? : return @post
45
+ sendUvalidertOrdrelinjeTilRapid(context, ordrelinje)
42
46
validerOrdrelinje(context, ordrelinje)
43
47
val melding = if (ordrelinje.erOpprettetFraHOTSAK()) {
44
48
parseHotsakOrdrelinje(context, ordrelinje)
@@ -107,6 +111,23 @@ private suspend fun parseOrdrelinje(context: Context, call: ApplicationCall): Or
107
111
}
108
112
}
109
113
114
+ private fun sendUvalidertOrdrelinjeTilRapid (context : Context , ordrelinje : OrdrelinjeOebs ) {
115
+ try {
116
+ logg.info(" Publiserer uvalidert ordrelinje med OebsId ${ordrelinje.oebsId} til rapid i miljø ${Configuration .application[" APP_PROFILE" ]} " )
117
+ context.publish(ordrelinje.fnrBruker, mapperJson.writeValueAsString(UvalidertOrdrelinjeMessage (
118
+ eventId = UUID .randomUUID(),
119
+ eventName = " hm-uvalidert-ordrelinje" ,
120
+ eventCreated = LocalDateTime .now(),
121
+ orderLine = ordrelinje,
122
+ )))
123
+ context.metrics.meldingTilRapidSuksess()
124
+ } catch (e: Exception ) {
125
+ context.metrics.meldingTilRapidFeilet()
126
+ sikkerlogg.error(" Sending av uvalidert ordrelinje til rapid feilet, exception: $e \n\n ${e.printStackTrace()} " )
127
+ throw RapidsAndRiverException (" Noe gikk feil ved publisering av melding" )
128
+ }
129
+ }
130
+
110
131
private fun validerOrdrelinje (context : Context , ordrelinje : OrdrelinjeOebs ) {
111
132
if (ordrelinje.serviceforespørseltype != " Vedtak Infotrygd" ) {
112
133
if (ordrelinje.serviceforespørseltype == " " ) {
0 commit comments