Skip to content

Commit

Permalink
chore: refactoring to use updated to handle oppgaver
Browse files Browse the repository at this point in the history
  • Loading branch information
jaflaten committed Dec 10, 2024
1 parent 2e0474d commit 2a68828
Show file tree
Hide file tree
Showing 15 changed files with 217 additions and 217 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import org.springframework.web.bind.annotation.GetMapping
import org.springframework.web.bind.annotation.PathVariable
import org.springframework.web.bind.annotation.ResponseBody
import org.springframework.web.bind.annotation.RestController
import java.util.UUID
import java.util.*

@RestController
class DocumentController(
Expand All @@ -34,7 +34,7 @@ class DocumentController(
}

@GetMapping("/api/document/{oppgaveId}/{dokumentInfoId}", produces = [MediaType.APPLICATION_PDF_VALUE])
@PreAuthorize("@oppgaveSecurityService.hasAccessToOppgave(#oppgaveId, '/api/graphql')")
@PreAuthorize("@oppgaveSecurityService.hasAccessToOppgave(#oppgaveId)")
@ResponseBody
fun getOppgaveDocument(
@PathVariable oppgaveId: String,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ class UtenlandskOppgaveDataFetcher(
return mapToDigitalisertSykmelding(oppgave)
}

@PreAuthorize("@oppgaveSecurityService.hasAccessToOppgave(#oppgaveId, '/api/graphql')")
@PreAuthorize("@oppgaveSecurityService.hasAccessToOppgave(#oppgaveId)")
@DgsQuery(field = DgsConstants.QUERY.Oppgave)
fun getOppgave(
@InputArgument oppgaveId: String,
Expand Down Expand Up @@ -118,7 +118,7 @@ class UtenlandskOppgaveDataFetcher(
)
}

@PreAuthorize("@oppgaveSecurityService.hasAccessToOppgave(#oppgaveId, '/api/graphql')")
@PreAuthorize("@oppgaveSecurityService.hasAccessToOppgave(#oppgaveId)")
@DgsMutation(field = DgsConstants.MUTATION.Lagre)
fun lagreOppgave(
@InputArgument oppgaveId: String,
Expand Down Expand Up @@ -157,7 +157,7 @@ class UtenlandskOppgaveDataFetcher(
}
}

@PreAuthorize("@oppgaveSecurityService.hasAccessToOppgave(#oppgaveId, '/api/graphql')")
@PreAuthorize("@oppgaveSecurityService.hasAccessToOppgave(#oppgaveId)")
@DgsMutation(field = DgsConstants.MUTATION.OppgaveTilbakeTilGosys)
fun oppgaveTilbakeTilGosys(
@InputArgument oppgaveId: String,
Expand All @@ -177,7 +177,7 @@ class UtenlandskOppgaveDataFetcher(
)
}

@PreAuthorize("@oppgaveSecurityService.hasAccessToOppgave(#oppgaveId, '/api/graphql')")
@PreAuthorize("@oppgaveSecurityService.hasAccessToOppgave(#oppgaveId)")
@DgsMutation(field = DgsConstants.MUTATION.Avvis)
fun avvis(
@InputArgument oppgaveId: String,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import org.springframework.security.access.prepost.PreAuthorize
class DocumentMutation(
private val documentService: DocumentService,
) {
@PreAuthorize("@oppgaveSecurityService.hasAccessToOppgave(#oppgaveId, '/api/graphql')")
@PreAuthorize("@oppgaveSecurityService.hasAccessToOppgave(#oppgaveId)")
@DgsMutation(field = DgsConstants.MUTATION.Dokument)
fun oppdaterDukumentTittel(
@InputArgument oppgaveId: String,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package no.nav.sykdig.digitalisering.ferdigstilling

import no.nav.sykdig.LoggingMeta
import jakarta.persistence.EntityNotFoundException
import no.nav.sykdig.applog
import no.nav.sykdig.config.kafka.OK_SYKMELDING_TOPIC
import no.nav.sykdig.digitalisering.dokarkiv.DokarkivClient
Expand All @@ -11,8 +10,6 @@ import no.nav.sykdig.digitalisering.ferdigstilling.oppgave.OppgaveClient
import no.nav.sykdig.digitalisering.helsenett.SykmelderService
import no.nav.sykdig.digitalisering.model.FerdistilltRegisterOppgaveValues
import no.nav.sykdig.digitalisering.papirsykmelding.db.model.NasjonalManuellOppgaveDAO
import no.nav.sykdig.digitalisering.papirsykmelding.db.NasjonalOppgaveRepository
import no.nav.sykdig.digitalisering.papirsykmelding.db.model.Utfall
import no.nav.sykdig.digitalisering.pdl.Person
import no.nav.sykdig.digitalisering.pdl.toFormattedNameString
import no.nav.sykdig.digitalisering.saf.SafJournalpostGraphQlClient
Expand All @@ -36,7 +33,6 @@ class FerdigstillingService(
private val sykmeldingOKProducer: KafkaProducer<String, ReceivedSykmelding>,
private val dokumentService: DocumentService,
private val sykmelderService: SykmelderService,
private val nasjonalOppgaveRepository: NasjonalOppgaveRepository,
) {
val log = applog()
val securelog = securelog()
Expand Down Expand Up @@ -219,15 +215,4 @@ class FerdigstillingService(
log.info("sendt oppdatert sykmelding med id ${receivedSykmelding.sykmelding.id}")
updateUtenlandskDocumentTitle(oppgave, receivedSykmelding)
}

fun ferdigstillOppgaveGosys(oppgaveId: String, utfall: Utfall, navIdent: String) {
val oppgave = nasjonalOppgaveRepository.findByOppgaveId(oppgaveId.toInt()).orElseThrow {
EntityNotFoundException("Fant ikke oppgave")
}
oppgave.utfall = utfall
oppgave.ferdigstilt = true
oppgave.ferdigstiltAv = navIdent

nasjonalOppgaveRepository.save(oppgave)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,7 @@ class NasjonalCommonService(
verdi
}
}

fun getNavIdent(): Veileder {
val authentication = SecurityContextHolder.getContext().authentication as JwtAuthenticationToken
return Veileder(authentication.token.claims["NAVident"].toString())
Expand All @@ -134,6 +135,7 @@ class NasjonalCommonService(
val authentication = SecurityContextHolder.getContext().authentication as JwtAuthenticationToken
return authentication.token.claims["preferred_username"].toString()
}

private fun toSykmelding(sykmeldingId: String, oppgave: NasjonalManuellOppgaveDAO): Sykmelding {
requireNotNull(oppgave.papirSmRegistrering.aktorId) { "PapirSmRegistrering.aktorId er null" }
requireNotNull(oppgave.papirSmRegistrering.medisinskVurdering) { "PapirSmRegistrering.medisinskVurdering er null" }
Expand All @@ -156,17 +158,33 @@ class NasjonalCommonService(
meldingTilArbeidsgiver = oppgave.papirSmRegistrering.meldingTilArbeidsgiver,
kontaktMedPasient = KontaktMedPasient(
kontaktDato = oppgave.papirSmRegistrering.kontaktMedPasient?.kontaktDato,
begrunnelseIkkeKontakt = oppgave.papirSmRegistrering.kontaktMedPasient?.begrunnelseIkkeKontakt
begrunnelseIkkeKontakt = oppgave.papirSmRegistrering.kontaktMedPasient?.begrunnelseIkkeKontakt,
),
behandletTidspunkt = LocalDateTime.from(oppgave.papirSmRegistrering.behandletTidspunkt),
behandler = oppgave.papirSmRegistrering.behandler,
avsenderSystem = AvsenderSystem( //TODO
avsenderSystem = AvsenderSystem(
//TODO
navn = "Navn avsendersystem",
versjon = "0.0"
versjon = "0.0",
),
syketilfelleStartDato = oppgave.papirSmRegistrering.syketilfelleStartDato,
signaturDato = LocalDateTime.from(oppgave.papirSmRegistrering.behandletTidspunkt),
navnFastlege = "Fastlege navn", //TODO
)
}

fun getLoggingMeta(sykmeldingId: String, oppgave: NasjonalManuellOppgaveDAO): LoggingMeta {
return LoggingMeta(
mottakId = sykmeldingId,
dokumentInfoId = oppgave.dokumentInfoId,
msgId = sykmeldingId,
sykmeldingId = sykmeldingId,
journalpostId = oppgave.journalpostId,
)
}
}

fun isValidOppgaveId(oppgaveId: String): Boolean {
val regex = Regex("^\\d{9}$|^[a-zA-Z0-9]{1,20}$")
return oppgaveId.matches(regex)
}
Loading

0 comments on commit 2a68828

Please sign in to comment.