Skip to content

Commit

Permalink
Test hypotese på "sistEndret"-avvik for api-kall
Browse files Browse the repository at this point in the history
Et API-kall som inneholder "if-unmodified-since"-header produserer
merkelige resultater; klienten påstår at refusjonen ble sist endret
for flere måneder siden!

For å utelukke at problemet skyldes tukling med headere, enten fra
bruker sin klient eller på vei fra klient til server, er det fint
å logge samme tidspunkt fra header og body.
  • Loading branch information
Oddsor committed Mar 13, 2024
1 parent 540cec1 commit f5e733c
Showing 1 changed file with 31 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,25 @@ import no.nav.arbeidsgiver.tiltakrefusjon.UgyldigRequestException
import no.nav.arbeidsgiver.tiltakrefusjon.autorisering.InnloggetBrukerService
import no.nav.arbeidsgiver.tiltakrefusjon.dokgen.DokgenService
import no.nav.security.token.support.core.api.ProtectedWithClaims
import org.slf4j.Logger
import org.slf4j.LoggerFactory
import org.springframework.data.domain.Page
import org.springframework.http.*
import org.springframework.http.HttpEntity
import org.springframework.http.HttpHeaders
import org.springframework.http.HttpStatus
import org.springframework.http.MediaType
import org.springframework.http.ResponseEntity
import org.springframework.transaction.annotation.Transactional
import org.springframework.web.bind.annotation.*
import org.springframework.web.bind.annotation.GetMapping
import org.springframework.web.bind.annotation.PathVariable
import org.springframework.web.bind.annotation.PostMapping
import org.springframework.web.bind.annotation.RequestBody
import org.springframework.web.bind.annotation.RequestHeader
import org.springframework.web.bind.annotation.RequestMapping
import org.springframework.web.bind.annotation.RestController
import java.time.Duration
import java.time.Instant
import java.time.temporal.ChronoField

const val REQUEST_MAPPING_ARBEIDSGIVER_REFUSJON = "/api/arbeidsgiver/refusjon"

Expand All @@ -28,6 +42,8 @@ class ArbeidsgiverRefusjonController(
val innloggetBrukerService: InnloggetBrukerService,
val dokgenService: DokgenService
) {
var logger: Logger = LoggerFactory.getLogger(javaClass)

@GetMapping
fun hentAlle(queryParametre: HentArbeidsgiverRefusjonerQueryParametre): List<Refusjon> {
if (queryParametre.bedriftNr == null) {
Expand Down Expand Up @@ -88,6 +104,19 @@ class ArbeidsgiverRefusjonController(
arbeidsgiver.settKontonummerOgInntekterPåRefusjon(id, sistEndret);
}

@PostMapping("{id}/sett-kontonummer-og-inntekter", consumes = ["application/json"])
@Transactional
fun settKontonummerOgInntekterPåRefusjon(@PathVariable id: String, @RequestHeader(HttpHeaders.IF_UNMODIFIED_SINCE) sistEndret: Instant?, @RequestBody body: SistEndretBody?) {
if (body?.sistEndret != null && sistEndret != null && Duration.between(sistEndret, body.sistEndret).toMinutes() > 1) {
val avvik = Duration.between(sistEndret, body.sistEndret).toMinutes() > 1
logger.warn("SistEndret-tid i body og header divergerer for refusjon $id med $avvik minutter")
}
val arbeidsgiver = innloggetBrukerService.hentInnloggetArbeidsgiver()
arbeidsgiver.settKontonummerOgInntekterPåRefusjon(id, sistEndret)
}

data class SistEndretBody(val sistEndret: Instant?)

@PostMapping("/{id}/endre-bruttolønn")
@Transactional
fun endreBruttolønn(@PathVariable id: String, @RequestBody request: EndreBruttolønnRequest, @RequestHeader(HttpHeaders.IF_UNMODIFIED_SINCE) sistEndret: Instant) {
Expand Down

0 comments on commit f5e733c

Please sign in to comment.