Skip to content

Commit

Permalink
Merge branch 'master' into bump_sosialhjelp-common
Browse files Browse the repository at this point in the history
  • Loading branch information
martintveter committed Mar 16, 2021
2 parents c748bf9 + 91b44af commit b218d4a
Show file tree
Hide file tree
Showing 14 changed files with 170 additions and 67 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -37,12 +37,14 @@ class NorgClientImpl(
.uri("/enhet/{enhetsnr}", enhetsnr)
.headers { it.addAll(headers()) }
.retrieve()
.onStatus(HttpStatus::isError) { it.createException() }
.bodyToMono<NavEnhet>()
.onErrorMap {
log.warn("Noe feilet ved kall mot NORG2 ${withStatusCode(it)}", it)
NorgException(it.message, it)
.onStatus(HttpStatus::isError) {
it.createException()
.map { e ->
log.warn("Noe feilet ved kall mot NORG2 ${e.statusCode}", e)
NorgException(e.message, e)
}
}
.bodyToMono<NavEnhet>()
.block()

log.info("Hentet NAV-enhet $enhetsnr fra NORG2")
Expand All @@ -60,12 +62,15 @@ class NorgClientImpl(
.uri("/kodeverk/EnhetstyperNorg")
.headers { it.addAll(headers()) }
.retrieve()
.onStatus(HttpStatus::isError) { it.createException() }
.bodyToMono<String>()
.onErrorMap {
log.warn("Ping - feilet mot NORG2 ${withStatusCode(it)}", it)
NorgException(it.message, it)
.onStatus(HttpStatus::isError) {
it.createException()
.map { e ->
log.warn("Ping - feilet mot NORG2 ${e.statusCode}", e)
NorgException(e.message, e)
}
}
.bodyToMono<String>()

.block()
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
package no.nav.sosialhjelp.innsyn.client.unleash

const val VILKAR_ENABLED = "sosialhjelp.innsyn.vilkar-enabled"
const val DOKUMENTASJONKRAV_ENABLED = "sosialhjelp.innsyn.dokumentasjonkrav-enabled "
const val DOKUMENTASJONKRAV_ENABLED = "sosialhjelp.innsyn.dokumentasjonkrav-enabled"
const val UTVIDE_VEDLEGG_JSON = "sosialhjelp.innsyn.utvide-vedlegg-json"
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package no.nav.sosialhjelp.innsyn.domain

import no.nav.sbl.soknadsosialhjelp.vedlegg.JsonVedlegg
import java.math.BigDecimal
import java.time.LocalDate
import java.time.LocalDateTime
Expand Down Expand Up @@ -51,6 +52,8 @@ data class Oppgave(
var oppgaveId: String,
var tittel: String,
var tilleggsinfo: String?,
val hendelsetype: JsonVedlegg.HendelseType?,
val hendelsereferanse: String?,
var innsendelsesfrist: LocalDateTime?,
var tidspunktForKrav: LocalDateTime,
var erFraInnsyn: Boolean
Expand Down Expand Up @@ -114,7 +117,8 @@ data class Vilkar(
) : Oppgavehendelse()

data class Dokumentasjonkrav(
override var referanse: String,
val hendelsetype: JsonVedlegg.HendelseType?,
override var referanse: String, // hendelsereferanse
override var tittel: String?,
override var beskrivelse: String?,
var oppfyllt: Boolean,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import com.fasterxml.jackson.annotation.JsonFormat
import no.nav.sbl.soknadsosialhjelp.digisos.soker.hendelse.JsonDokumentasjonkrav
import no.nav.sbl.soknadsosialhjelp.digisos.soker.hendelse.JsonVilkar
import no.nav.sbl.soknadsosialhjelp.soknad.JsonSoknad
import no.nav.sbl.soknadsosialhjelp.vedlegg.JsonVedlegg
import java.time.LocalDate
import java.time.LocalDateTime
import java.util.Date
Expand Down Expand Up @@ -46,6 +47,8 @@ data class OppgaveResponse(
data class OppgaveElement(
val dokumenttype: String,
val tilleggsinformasjon: String?,
val hendelsetype: JsonVedlegg.HendelseType?,
val hendelsereferanse: String?,
val erFraInnsyn: Boolean
)

Expand All @@ -68,7 +71,8 @@ data class DokumentasjonkravResponse(
data class DokumentasjonkravElement(
@JsonFormat(pattern = "yyyy-MM-dd")
val hendelsetidspunkt: LocalDate,
val dokumentasjonkravReferanse : String,
val hendelsetype: JsonVedlegg.HendelseType?,
val dokumentasjonkravReferanse : String, // hendelsereferanse
val tittel: String?,
val beskrivelse: String?
)
Expand Down Expand Up @@ -121,6 +125,8 @@ data class OppgaveOpplastingResponse(
val tilleggsinfo: String?,
@JsonFormat(pattern = "yyyy-MM-dd")
val innsendelsesfrist: LocalDate?,
val hendelsetype: JsonVedlegg.HendelseType?,
val hendelsereferanse: String?,
val filer: List<VedleggOpplastingResponse>
)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package no.nav.sosialhjelp.innsyn.event

import no.nav.sbl.soknadsosialhjelp.digisos.soker.hendelse.JsonDokumentasjonEtterspurt
import no.nav.sbl.soknadsosialhjelp.vedlegg.JsonVedlegg
import no.nav.sosialhjelp.innsyn.common.VIS_BREVET
import no.nav.sosialhjelp.innsyn.config.ClientProperties
import no.nav.sosialhjelp.innsyn.domain.Hendelse
Expand All @@ -16,7 +17,14 @@ fun InternalDigisosSoker.apply(hendelse: JsonDokumentasjonEtterspurt, clientProp
val prevSize = oppgaver.size

oppgaver = hendelse.dokumenter
.map { Oppgave(sha256(it.innsendelsesfrist), it.dokumenttype, it.tilleggsinformasjon, it.innsendelsesfrist.toLocalDateTime(), hendelse.hendelsestidspunkt.toLocalDateTime(), true) }
.map { Oppgave(sha256(it.innsendelsesfrist),
it.dokumenttype,
it.tilleggsinformasjon,
JsonVedlegg.HendelseType.DOKUMENTASJON_ETTERSPURT,
it.dokumentreferanse,
it.innsendelsesfrist.toLocalDateTime(),
hendelse.hendelsestidspunkt.toLocalDateTime(),
true) }
.toMutableList()

if (hendelse.dokumenter.isNotEmpty() && hendelse.forvaltningsbrev != null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package no.nav.sosialhjelp.innsyn.event

import no.finn.unleash.Unleash
import no.nav.sbl.soknadsosialhjelp.digisos.soker.hendelse.JsonDokumentasjonkrav
import no.nav.sbl.soknadsosialhjelp.vedlegg.JsonVedlegg
import no.nav.sosialhjelp.innsyn.client.unleash.DOKUMENTASJONKRAV_ENABLED
import no.nav.sosialhjelp.innsyn.domain.*
import no.nav.sosialhjelp.innsyn.utils.logger
Expand Down Expand Up @@ -36,6 +37,7 @@ fun InternalDigisosSoker.apply(hendelse: JsonDokumentasjonkrav, unleashClient: U
}

val dokumentasjonkrav = Dokumentasjonkrav(
hendelsetype = JsonVedlegg.HendelseType.DOKUMENTASJONKRAV,
referanse = hendelse.dokumentasjonkravreferanse,
tittel = hendelse.tittel,
beskrivelse = hendelse.beskrivelse,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package no.nav.sosialhjelp.innsyn.event

import no.nav.sbl.soknadsosialhjelp.vedlegg.JsonVedlegg
import no.nav.sosialhjelp.api.fiks.OriginalSoknadNAV
import no.nav.sosialhjelp.innsyn.domain.InternalDigisosSoker
import no.nav.sosialhjelp.innsyn.domain.Oppgave
Expand All @@ -13,6 +14,13 @@ fun InternalDigisosSoker.applySoknadKrav(fiksDigisosId: String, originalSoknadNA

oppgaver = vedleggKreves
.filterNot { it.type == "annet" && it.tilleggsinfo == "annet" }
.map { Oppgave(sha256(timestampSendt.toString()), it.type, it.tilleggsinfo, null, unixToLocalDateTime(timestampSendt), false) }
.map { Oppgave(sha256(timestampSendt.toString()),
it.type,
it.tilleggsinfo,
JsonVedlegg.HendelseType.SOKNAD,
null,
null,
unixToLocalDateTime(timestampSendt),
false) }
.toMutableList()
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package no.nav.sosialhjelp.innsyn.rest

import com.fasterxml.jackson.annotation.JsonFormat
import com.fasterxml.jackson.module.kotlin.readValue
import no.nav.sbl.soknadsosialhjelp.vedlegg.JsonVedlegg
import no.nav.security.token.support.core.api.ProtectedWithClaims
import no.nav.sosialhjelp.innsyn.config.ClientProperties
import no.nav.sosialhjelp.innsyn.config.XsrfGenerator.sjekkXsrfToken
Expand Down Expand Up @@ -45,10 +46,11 @@ class VedleggController(

// Send alle opplastede vedlegg for fiksDigisosId til Fiks
@PostMapping("/{fiksDigisosId}/vedlegg", consumes = [MediaType.MULTIPART_FORM_DATA_VALUE])
fun sendVedlegg(@PathVariable fiksDigisosId: String,
@RequestParam("files") files: MutableList<MultipartFile>,
@RequestHeader(value = HttpHeaders.AUTHORIZATION) token: String,
request: HttpServletRequest
fun sendVedlegg(
@PathVariable fiksDigisosId: String,
@RequestParam("files") files: MutableList<MultipartFile>,
@RequestHeader(value = HttpHeaders.AUTHORIZATION) token: String,
request: HttpServletRequest
): ResponseEntity<List<OppgaveOpplastingResponse>> {
log.info("Forsøker å starter ettersendelse")
tilgangskontrollService.sjekkTilgang()
Expand Down Expand Up @@ -91,6 +93,8 @@ class VedleggController(
it.type,
it.tilleggsinfo,
it.innsendelsesfrist,
it.hendelsetype,
it.hendelsereferanse,
it.filer.map { VedleggOpplastingResponse(it.filename, it.status.result.name) }
)
}
Expand Down Expand Up @@ -127,6 +131,8 @@ class VedleggController(
data class OpplastetVedleggMetadata(
val type: String,
val tilleggsinfo: String?,
val hendelsetype: JsonVedlegg.HendelseType?,
val hendelsereferanse: String?,
val filer: MutableList<OpplastetFil>,
@JsonFormat(pattern = "yyyy-MM-dd")
val innsendelsesfrist: LocalDate?
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ class OppgaveService(
OppgaveResponse(
innsendelsesfrist = key,
oppgaveId = value[0].oppgaveId, // oppgaveId og innsendelsefrist er alltid 1-1
oppgaveElementer = value.map { OppgaveElement(it.tittel, it.tilleggsinfo, it.erFraInnsyn) }
oppgaveElementer = value.map { OppgaveElement(it.tittel, it.tilleggsinfo, it.hendelsetype, it.hendelsereferanse, it.erFraInnsyn) }
)
}
.sortedBy { it.innsendelsesfrist }
Expand Down Expand Up @@ -90,7 +90,7 @@ class OppgaveService(
DokumentasjonkravResponse(
dokumentasjonkravElementer = value.map {
val (tittel, beskrivelse) = it.getTittelOgBeskrivelse()
DokumentasjonkravElement(it.datoLagtTil.toLocalDate(), it.referanse, tittel, beskrivelse) }
DokumentasjonkravElement(it.datoLagtTil.toLocalDate(), it.hendelsetype, it.referanse, tittel, beskrivelse) }
)
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
package no.nav.sosialhjelp.innsyn.service.vedlegg

import no.finn.unleash.Unleash
import no.nav.sbl.soknadsosialhjelp.vedlegg.JsonFiler
import no.nav.sbl.soknadsosialhjelp.vedlegg.JsonVedlegg
import no.nav.sbl.soknadsosialhjelp.vedlegg.JsonVedleggSpesifikasjon
import no.nav.sosialhjelp.innsyn.client.fiks.DokumentlagerClient
import no.nav.sosialhjelp.innsyn.client.fiks.FiksClient
import no.nav.sosialhjelp.innsyn.client.unleash.UTVIDE_VEDLEGG_JSON
import no.nav.sosialhjelp.innsyn.common.OpplastingFilnavnMismatchException
import no.nav.sosialhjelp.innsyn.redis.RedisService
import no.nav.sosialhjelp.innsyn.rest.OpplastetVedleggMetadata
Expand Down Expand Up @@ -35,6 +37,7 @@ class VedleggOpplastingService(
private val redisService: RedisService,
private val ettersendelsePdfGenerator: EttersendelsePdfGenerator,
private val dokumentlagerClient: DokumentlagerClient,
private val unleashClient: Unleash
) {

fun sendVedleggTilFiks(digisosId: String, files: List<MultipartFile>, metadata: MutableList<OpplastetVedleggMetadata>, token: String): List<OppgaveValidering> {
Expand Down Expand Up @@ -70,7 +73,7 @@ class VedleggOpplastingService(
FilForOpplasting(file.filnavn, file.mimetype, file.storrelse, inputStream)
}

val vedleggSpesifikasjon = createVedleggJson(files, metadata)
val vedleggSpesifikasjon = createJsonVedleggSpesifikasjon(files, metadata)
fiksClient.lastOppNyEttersendelse(filerForOpplastingEtterKryptering, vedleggSpesifikasjon, digisosId, token)

waitForFutures(krypteringFutureList)
Expand Down Expand Up @@ -113,22 +116,35 @@ class VedleggOpplastingService(

}

fun createVedleggJson(files: List<MultipartFile>, metadata: MutableList<OpplastetVedleggMetadata>): JsonVedleggSpesifikasjon {
fun createJsonVedleggSpesifikasjon(files: List<MultipartFile>, metadata: MutableList<OpplastetVedleggMetadata>): JsonVedleggSpesifikasjon {
var filIndex = 0
return JsonVedleggSpesifikasjon()
.withVedlegg(metadata.map {
JsonVedlegg()
.withType(it.type)
.withTilleggsinfo(it.tilleggsinfo)
.withStatus(LASTET_OPP_STATUS)
.withFiler(it.filer.map { fil ->
JsonFiler()
.withFilnavn(fil.filnavn)
.withSha512(getSha512FromByteArray(files[filIndex++].bytes))
})
createJsonVedlegg(it, it.filer.map { fil ->
JsonFiler()
.withFilnavn(fil.filnavn)
.withSha512(getSha512FromByteArray(files[filIndex++].bytes))
})
})
}

fun createJsonVedlegg(metadata: OpplastetVedleggMetadata, filer: List<JsonFiler>): JsonVedlegg? {
val jsonVedlegg = JsonVedlegg()
.withType(metadata.type)
.withTilleggsinfo(metadata.tilleggsinfo)
.withStatus(LASTET_OPP_STATUS)
.withFiler(filer)

if (unleashClient.isEnabled(UTVIDE_VEDLEGG_JSON, false)) {
log.info("hendelsetype og hendelsereferanse blir inkludert i vedlegg.json")
jsonVedlegg
.withHendelseType(metadata.hendelsetype)
.withHendelseReferanse(metadata.hendelsereferanse)
}

return jsonVedlegg
}

fun createFilename(originalFilename: String?, filValideringer: List<FilValidering>): String {
if (originalFilename == null) {
return ""
Expand All @@ -144,7 +160,7 @@ class VedleggOpplastingService(
val uuid = UUID.randomUUID().toString()

val matchendeFiler = filValideringer.filter { it.filename == originalFilename }
if(filValideringer.size > 1) log.warn("Vi har funnet ${filValideringer.size} validerte filer med samme navn. Det er flere enn 1.")
if (filValideringer.size > 1) log.warn("Vi har funnet ${filValideringer.size} validerte filer med samme navn. Det er flere enn 1.")

filename += "-" + uuid.split("-")[0]
if (filenameSplit.extention.isEmpty()) {
Expand Down Expand Up @@ -212,7 +228,7 @@ class VedleggOpplastingService(
filValidering.add(FilValidering(file.originalFilename, valideringstatus))
filesIndex++
}
oppgaveValideringer.add(OppgaveValidering(metadata.type, metadata.tilleggsinfo, metadata.innsendelsesfrist, filValidering))
oppgaveValideringer.add(OppgaveValidering(metadata.type, metadata.tilleggsinfo, metadata.innsendelsesfrist, metadata.hendelsetype, metadata.hendelsereferanse, filValidering))
}
return oppgaveValideringer
}
Expand Down Expand Up @@ -294,6 +310,8 @@ class OppgaveValidering(
val type: String,
val tilleggsinfo: String?,
val innsendelsesfrist: LocalDate?,
val hendelsetype: JsonVedlegg.HendelseType?,
val hendelsereferanse: String?,
val filer: MutableList<FilValidering>
)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,6 @@ internal class NorgClientImplTest {
.retrieve()
.onStatus(any(), any())
.bodyToMono<NavEnhet>()
.onErrorMap(any())
.block()
} returns navEnhet

Expand Down

0 comments on commit b218d4a

Please sign in to comment.