Skip to content

Commit

Permalink
Merge pull request #1236 from navikt/deleted-document-404
Browse files Browse the repository at this point in the history
Deleted document 404
  • Loading branch information
flexable777 authored Oct 8, 2024
2 parents 9ec1507 + 21d8012 commit a985a5c
Show file tree
Hide file tree
Showing 6 changed files with 109 additions and 104 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,6 @@ class DokumentValidationException(msg: String) : RuntimeException(msg)

class SmartDocumentValidationException(msg: String, val errors: List<DocumentValidationResponse>) : RuntimeException(msg)

class SvarbrevPreviewException(msg: String) : RuntimeException(msg)
class SvarbrevPreviewException(msg: String) : RuntimeException(msg)

class DocumentDoesNotExistException(msg: String) : RuntimeException(msg)

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,7 @@ package no.nav.klage.dokument.service

import no.nav.klage.dokument.api.mapper.DokumentMapper
import no.nav.klage.dokument.clients.kabaljsontopdf.domain.InnholdsfortegnelseRequest
import no.nav.klage.dokument.domain.dokumenterunderarbeid.DokumentUnderArbeidAsHoveddokument
import no.nav.klage.dokument.domain.dokumenterunderarbeid.DokumentUnderArbeidAsVedlegg
import no.nav.klage.dokument.domain.dokumenterunderarbeid.Innholdsfortegnelse
import no.nav.klage.dokument.domain.dokumenterunderarbeid.JournalfoertDokumentUnderArbeidAsVedlegg
import no.nav.klage.dokument.domain.dokumenterunderarbeid.*
import no.nav.klage.dokument.repositories.DokumentUnderArbeidRepository
import no.nav.klage.dokument.repositories.InnholdsfortegnelseRepository
import no.nav.klage.kodeverk.DokumentType
Expand Down Expand Up @@ -41,13 +38,13 @@ class InnholdsfortegnelseService(
}

fun saveInnholdsfortegnelse(
dokumentUnderArbeidId: UUID,
dokumentUnderArbeid: DokumentUnderArbeid,
fnr: String,
) {
logger.debug("Received saveInnholdsfortegnelse")

val content = getInnholdsfortegnelseAsPdf(
dokumentUnderArbeidId = dokumentUnderArbeidId,
dokumentUnderArbeid = dokumentUnderArbeid,
fnr = fnr
)

Expand All @@ -59,28 +56,26 @@ class InnholdsfortegnelseService(
innholdsfortegnelseRepository.save(
Innholdsfortegnelse(
mellomlagerId = mellomlagerId,
hoveddokumentId = dokumentUnderArbeidId,
hoveddokumentId = dokumentUnderArbeid.id,
created = LocalDateTime.now(),
modified = LocalDateTime.now(),
)
)
}

@Suppress("UNCHECKED_CAST")
fun getInnholdsfortegnelseAsPdf(dokumentUnderArbeidId: UUID, fnr: String): ByteArray {
fun getInnholdsfortegnelseAsPdf(dokumentUnderArbeid: DokumentUnderArbeid, fnr: String): ByteArray {
logger.debug("Received getInnholdsfortegnelseAsPdf")

val document = dokumentUnderArbeidRepository.findById(dokumentUnderArbeidId).get()

if (document is DokumentUnderArbeidAsVedlegg) {
if (dokumentUnderArbeid is DokumentUnderArbeidAsVedlegg) {
throw IllegalArgumentException("must be hoveddokument")
}

document as DokumentUnderArbeidAsHoveddokument
dokumentUnderArbeid as DokumentUnderArbeidAsHoveddokument

val vedlegg = dokumentUnderArbeidCommonService.findVedleggByParentId(dokumentUnderArbeidId)
val vedlegg = dokumentUnderArbeidCommonService.findVedleggByParentId(dokumentUnderArbeid.id)

if (document.dokumentType in listOf(DokumentType.BREV, DokumentType.VEDTAK, DokumentType.BESLUTNING)) {
if (dokumentUnderArbeid.dokumentType in listOf(DokumentType.BREV, DokumentType.VEDTAK, DokumentType.BESLUTNING)) {
if (vedlegg.any { it !is JournalfoertDokumentUnderArbeidAsVedlegg }) {
error("All documents must be JournalfoertDokumentUnderArbeidAsVedlegg")
}
Expand All @@ -98,8 +93,8 @@ class InnholdsfortegnelseService(
InnholdsfortegnelseRequest(
documents = dokumentMapper.getSortedDokumentViewListForInnholdsfortegnelse(
allDokumenterUnderArbeid = vedlegg,
behandling = behandlingService.getBehandlingForReadWithoutCheckForAccess(document.behandlingId),
hoveddokument = document,
behandling = behandlingService.getBehandlingForReadWithoutCheckForAccess(dokumentUnderArbeid.behandlingId),
hoveddokument = dokumentUnderArbeid,
journalpostList = journalpostList,
)
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ import no.nav.klage.dokument.domain.dokumenterunderarbeid.Language
import no.nav.klage.dokument.domain.dokumenterunderarbeid.SmartdokumentUnderArbeidAsHoveddokument
import no.nav.klage.dokument.domain.dokumenterunderarbeid.SmartdokumentUnderArbeidAsVedlegg
import no.nav.klage.dokument.gateway.DefaultKabalSmartEditorApiGateway
import no.nav.klage.dokument.repositories.DokumentUnderArbeidRepository
import no.nav.klage.dokument.repositories.SmartdokumentUnderArbeidAsHoveddokumentRepository
import no.nav.klage.dokument.repositories.SmartdokumentUnderArbeidAsVedleggRepository
import no.nav.klage.kodeverk.DokumentType
Expand Down Expand Up @@ -44,7 +43,6 @@ class SmartDocumentService(
private val kafkaInternalEventService: KafkaInternalEventService,
private val smartDokumentUnderArbeidAsHoveddokumentRepository: SmartdokumentUnderArbeidAsHoveddokumentRepository,
private val smartDokumentUnderArbeidAsVedleggRepository: SmartdokumentUnderArbeidAsVedleggRepository,
private val dokumentUnderArbeidRepository: DokumentUnderArbeidRepository,
private val behandlingService: BehandlingService,
private val applicationEventPublisher: ApplicationEventPublisher,
private val dokumentMapper: DokumentMapper,
Expand Down Expand Up @@ -277,7 +275,7 @@ class SmartDocumentService(
commentInput: CommentInput,
): CommentOutput {
dokumentUnderArbeidService.validateWriteAccessToDocument(documentId)
val document = dokumentUnderArbeidRepository.findById(documentId).get()
val document = dokumentUnderArbeidService.getDokumentUnderArbeid(documentId)

val innloggetIdent = innloggetSaksbehandlerService.getInnloggetIdent()

Expand Down Expand Up @@ -320,7 +318,7 @@ class SmartDocumentService(
modifyCommentInput: ModifyCommentInput,
): CommentOutput {
dokumentUnderArbeidService.validateWriteAccessToDocument(documentId)
val document = dokumentUnderArbeidRepository.findById(documentId).get()
val document = dokumentUnderArbeidService.getDokumentUnderArbeid(documentId)
val innloggetIdent = innloggetSaksbehandlerService.getInnloggetIdent()

val smartEditorId =
Expand Down Expand Up @@ -377,7 +375,7 @@ class SmartDocumentService(
commentInput: CommentInput,
): CommentOutput {
dokumentUnderArbeidService.validateWriteAccessToDocument(documentId)
val document = dokumentUnderArbeidRepository.findById(documentId).get()
val document = dokumentUnderArbeidService.getDokumentUnderArbeid(documentId)
val innloggetIdent = innloggetSaksbehandlerService.getInnloggetIdent()

val smartEditorId =
Expand Down Expand Up @@ -435,7 +433,7 @@ class SmartDocumentService(
commentId: UUID,
) {
dokumentUnderArbeidService.validateWriteAccessToDocument(documentId)
val document = dokumentUnderArbeidRepository.findById(documentId).get()
val document = dokumentUnderArbeidService.getDokumentUnderArbeid(documentId)
val innloggetIdent = innloggetSaksbehandlerService.getInnloggetIdent()

val smartEditorId =
Expand Down Expand Up @@ -526,7 +524,7 @@ class SmartDocumentService(
}

private fun getSmartEditorId(dokumentId: UUID, readOnly: Boolean): UUID {
val dokumentUnderArbeid = dokumentUnderArbeidRepository.findById(dokumentId).get()
val dokumentUnderArbeid = dokumentUnderArbeidService.getDokumentUnderArbeid(dokumentId)

if (dokumentUnderArbeid !is DokumentUnderArbeidAsSmartdokument) {
throw RuntimeException("dokument is not smartdokument")
Expand All @@ -547,12 +545,10 @@ class SmartDocumentService(
behandlingId = behandlingId
)
return dokumentMapper.mapToDokumentView(
dokumentUnderArbeid = getDokumentUnderArbeid(dokumentId),
dokumentUnderArbeid = dokumentUnderArbeidService.getDokumentUnderArbeid(dokumentId),
journalpost = null,
smartEditorDocument = smartEditorDocument,
behandling = behandling,
)
}

private fun getDokumentUnderArbeid(dokumentId: UUID) = dokumentUnderArbeidRepository.findById(dokumentId).get()
}
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
package no.nav.klage.oppgave.config

import no.nav.klage.dokument.exceptions.AttachmentTooLargeException
import no.nav.klage.dokument.exceptions.DokumentValidationException
import no.nav.klage.dokument.exceptions.SmartDocumentValidationException
import no.nav.klage.dokument.exceptions.SvarbrevPreviewException
import no.nav.klage.dokument.exceptions.*
import no.nav.klage.oppgave.exceptions.*
import no.nav.klage.oppgave.util.getSecureLogger
import org.springframework.http.HttpStatus
Expand Down Expand Up @@ -183,6 +180,13 @@ class ProblemHandlingControllerAdvice : ResponseEntityExceptionHandler() {
): ProblemDetail =
create(HttpStatus.BAD_REQUEST, ex)

@ExceptionHandler
fun handleDocumentDoesNotExistException(
ex: DocumentDoesNotExistException,
request: NativeWebRequest
): ProblemDetail =
create(HttpStatus.NOT_FOUND, ex)

@ExceptionHandler(IllegalUpdateException::class)
fun handleIllegalUpdateException(
ex: IllegalUpdateException,
Expand Down
Loading

0 comments on commit a985a5c

Please sign in to comment.