Skip to content

Commit

Permalink
EY-5030: Fikset litt på tilbakestilling. Flere tester.
Browse files Browse the repository at this point in the history
  • Loading branch information
tvsignal committed Feb 20, 2025
1 parent f2d7574 commit 6139607
Show file tree
Hide file tree
Showing 8 changed files with 389 additions and 48 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import io.ktor.client.HttpClient
import no.nav.etterlatte.behandling.objectMapper
import no.nav.etterlatte.brev.BrevParametre
import no.nav.etterlatte.brev.BrevPayload
import no.nav.etterlatte.brev.Brevtype
import no.nav.etterlatte.brev.Pdf
import no.nav.etterlatte.brev.model.Brev
import no.nav.etterlatte.brev.model.BrevID
Expand Down Expand Up @@ -134,6 +135,8 @@ interface BrevApiKlient {
suspend fun tilbakestillVedtaksbrev(
brevID: BrevID,
behandlingId: UUID,
sakId: SakId,
brevtype: Brevtype,
brukerTokenInfo: BrukerTokenInfo,
): BrevPayload
}
Expand Down Expand Up @@ -376,6 +379,8 @@ class BrevApiKlientObo(
override suspend fun tilbakestillVedtaksbrev(
brevID: BrevID,
behandlingId: UUID,
sakId: SakId,
brevtype: Brevtype,
brukerTokenInfo: BrukerTokenInfo,
): BrevPayload =
put(
Expand All @@ -384,6 +389,12 @@ class BrevApiKlientObo(
resource.response?.let { deserialize(it.toJson()) }
?: throw InternfeilException("Feil ved tilbakestilling av pdf vedtaksbrev")
},
putBody =
ResetPayloadRequest(
brevId = brevID,
sakId = sakId,
brevtype = brevtype,
),
brukerTokenInfo = brukerTokenInfo,
)

Expand Down Expand Up @@ -444,3 +455,9 @@ data class KlageNotatRequest(
data class OpprettJournalpostDto(
val journalpostId: String,
)

private data class ResetPayloadRequest(
val brevId: Long,
val sakId: SakId,
val brevtype: Brevtype,
)
16 changes: 12 additions & 4 deletions apps/etterlatte-behandling/src/main/kotlin/brev/BrevRoute.kt
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,16 @@ import org.slf4j.LoggerFactory
import kotlin.time.DurationUnit
import kotlin.time.measureTimedValue

/**
* Behandling i denne konteksten er vedtaksbehandling, altså tilbakekreving, klage eller behandling
*/
fun Route.brevRoute(service: BrevService) {
val logger = LoggerFactory.getLogger("BrevRoute")

route("api/behandling/brev/{$BEHANDLINGID_CALL_PARAMETER}/vedtak") {
post {
kunSkrivetilgang {
logger.info("Oppretter vedtaksbrev for tilbakekreving behandling (sakId=$sakId, behandlingId=$behandlingId)")
logger.info("Oppretter vedtaksbrev for behandling (sakId=$sakId, behandlingId=$behandlingId)")

measureTimedValue {
service.opprettVedtaksbrev(behandlingId, sakId, brukerTokenInfo)
Expand All @@ -41,7 +44,7 @@ fun Route.brevRoute(service: BrevService) {
krevIkkeNull(call.request.queryParameters["brevId"]?.toLong()) {
"Kan ikke generere PDF uten brevId"
}
logger.info("Genererer PDF for tilbakekreving vedtaksbrev (id=$brevId)")
logger.info("Genererer PDF for vedtaksbrev (id=$brevId)")

measureTimedValue {
service.genererPdf(brevId, behandlingId, sakId, brukerTokenInfo).bytes
Expand All @@ -68,12 +71,17 @@ fun Route.brevRoute(service: BrevService) {
kunSkrivetilgang {
val brevId =
krevIkkeNull(call.request.queryParameters["brevId"]?.toLong()) {
"Kan ikke tilbaketille PDF uten brevId"
"Kan ikke tilbakestille PDF uten brevId"
}
val brevType =
krevIkkeNull(call.request.queryParameters["brevType"]) {
"Kan ikke tilbakestille PDF uten brevType"
}.let { Brevtype.valueOf(it) }

logger.info("Tilbakestiller payload for vedtaksbrev (id=$brevId)")

measureTimedValue {
service.tilbakestillVedtaksbrev(brevId, behandlingId, sakId, brukerTokenInfo)
service.tilbakestillVedtaksbrev(brevId, behandlingId, sakId, brevType, brukerTokenInfo)
}.let { (brevPayload, varighet) ->
logger.info(
"Oppretting av nytt innhold til brev (id=$brevId) tok ${
Expand Down
14 changes: 10 additions & 4 deletions apps/etterlatte-behandling/src/main/kotlin/brev/BrevService.kt
Original file line number Diff line number Diff line change
Expand Up @@ -45,11 +45,13 @@ class BrevService(
inTransaction {
vedtaksbehandlingService.hentVedtaksbehandling(behandlingId).type
}
when (vedtaksbehandlingType) {
return when (vedtaksbehandlingType) {
VedtaksbehandlingType.TILBAKEKREVING ->
tilbakekrevingBrevService.opprettVedtaksbrev(behandlingId, sakId, bruker)
else ->
else -> {
println("Kaller opprettVedtaksbrev... $sakId")
brevKlient.opprettVedtaksbrev(behandlingId, sakId, bruker)
}
}
}

Expand Down Expand Up @@ -116,6 +118,7 @@ class BrevService(
brevID: BrevID,
behandlingId: UUID,
sakId: SakId,
brevType: Brevtype,
bruker: BrukerTokenInfo,
): BrevPayload {
if (bruker is Saksbehandler) {
Expand All @@ -128,12 +131,15 @@ class BrevService(
}
}

val vedtaksbehandlingType = vedtaksbehandlingService.hentVedtaksbehandling(behandlingId).type
val vedtaksbehandlingType =
inTransaction {
vedtaksbehandlingService.hentVedtaksbehandling(behandlingId).type
}
return when (vedtaksbehandlingType) {
VedtaksbehandlingType.TILBAKEKREVING ->
tilbakekrevingBrevService.tilbakestillVedtaksbrev(brevID, behandlingId, sakId, bruker)
else ->
brevKlient.tilbakestillVedtaksbrev(brevID, behandlingId, bruker)
brevKlient.tilbakestillVedtaksbrev(brevID, behandlingId, sakId, brevType, bruker)
}
}
}
Expand Down
Loading

0 comments on commit 6139607

Please sign in to comment.