Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master'
Browse files Browse the repository at this point in the history
# Conflicts:
#	src/main/kotlin/no/nav/arbeidsgiver/tiltakrefusjon/autorisering/InnloggetBrukerService.kt
  • Loading branch information
d142796 committed May 14, 2024
2 parents 22fb356 + 7005cfe commit c1d0a0c
Show file tree
Hide file tree
Showing 37 changed files with 513 additions and 376 deletions.
5 changes: 1 addition & 4 deletions .nais/dev-gcp-labs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,6 @@ spec:
replicas:
min: 1
max: 1
observability:
tracing:
enabled: true
accessPolicy:
inbound:
rules:
Expand All @@ -34,4 +31,4 @@ spec:
outbound:
rules:
- application: tiltak-fakelogin
- application: tiltak-refusjon-api-wiremock
- application: tiltak-refusjon-api-wiremock
3 changes: 2 additions & 1 deletion .nais/nais.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,5 +71,6 @@ spec:
enabled: true
path: /internal/actuator/prometheus
observability:
tracing:
autoInstrumentation:
enabled: true
runtime: java
4 changes: 2 additions & 2 deletions .nais/wiremock.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,13 @@ spec:
max: 1
port: 8080
liveness:
path: /graph-api
path: /health
initialDelay: 1
timeout: 1
periodSeconds: 10
failureThreshold: 3
readiness:
path: /graph-api
path: /health
initialDelay: 1
timeout: 1
periodSeconds: 10
Expand Down
16 changes: 1 addition & 15 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
<java.version>21</java.version>
<kotlin.version>1.9.22</kotlin.version>
<cucumber.version>7.15.0</cucumber.version>
<token-support.version>3.2.0</token-support.version>
<token-support.version>4.1.3</token-support.version>
<postgres.version>42.7.2</postgres.version>
</properties>

Expand Down Expand Up @@ -182,20 +182,6 @@
<artifactId>unleash-client-java</artifactId>
<version>8.3.0</version>
</dependency>

<!-- Tracing -->
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-tracing</artifactId>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-tracing-bridge-otel</artifactId>
</dependency>
<dependency>
<groupId>io.opentelemetry</groupId>
<artifactId>opentelemetry-exporter-otlp</artifactId>
</dependency>
</dependencies>

<build>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,16 @@ package no.nav.arbeidsgiver.tiltakrefusjon

import no.nav.arbeidsgiver.tiltakrefusjon.autorisering.ADMIN_BRUKER
import no.nav.arbeidsgiver.tiltakrefusjon.leader.LeaderPodCheck
import no.nav.arbeidsgiver.tiltakrefusjon.refusjon.*
import no.nav.arbeidsgiver.tiltakrefusjon.refusjon.Beregning
import no.nav.arbeidsgiver.tiltakrefusjon.refusjon.Korreksjonsgrunn
import no.nav.arbeidsgiver.tiltakrefusjon.refusjon.Refusjon
import no.nav.arbeidsgiver.tiltakrefusjon.refusjon.RefusjonKafkaProducer
import no.nav.arbeidsgiver.tiltakrefusjon.refusjon.RefusjonRepository
import no.nav.arbeidsgiver.tiltakrefusjon.refusjon.RefusjonService
import no.nav.arbeidsgiver.tiltakrefusjon.refusjon.RefusjonStatus
import no.nav.arbeidsgiver.tiltakrefusjon.refusjon.StatusJobb
import no.nav.arbeidsgiver.tiltakrefusjon.refusjon.beregnRefusjonsbeløp
import no.nav.arbeidsgiver.tiltakrefusjon.refusjon.events.RefusjonEndretStatus
import no.nav.arbeidsgiver.tiltakrefusjon.tilskuddsperiode.MidlerFrigjortÅrsak
import no.nav.arbeidsgiver.tiltakrefusjon.tilskuddsperiode.TilskuddsperiodeForkortetMelding
import no.nav.arbeidsgiver.tiltakrefusjon.tilskuddsperiode.TilskuddsperiodeGodkjentMelding
Expand All @@ -11,8 +20,14 @@ import org.slf4j.LoggerFactory
import org.springframework.data.domain.PageRequest
import org.springframework.data.domain.Sort
import org.springframework.data.repository.findByIdOrNull
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.RequestMapping
import org.springframework.web.bind.annotation.RestController
import java.time.LocalDate

@RestController
Expand All @@ -21,7 +36,8 @@ class AdminController(
val service: RefusjonService,
val refusjonRepository: RefusjonRepository,
val refusjonService: RefusjonService,
val leaderPodCheck: LeaderPodCheck
val leaderPodCheck: LeaderPodCheck,
val refusjonKafkaProducer: RefusjonKafkaProducer?
) {
val logger = LoggerFactory.getLogger(javaClass)

Expand Down Expand Up @@ -172,7 +188,7 @@ class AdminController(
tilskuddsgrunnlag = refusjon.refusjonsgrunnlag.tilskuddsgrunnlag,
tidligereUtbetalt = 0,
korrigertBruttoLønn = refusjon.refusjonsgrunnlag.endretBruttoLønn,
fratrekkRefunderbarSum =refusjon.refusjonsgrunnlag.refunderbarBeløp,
fratrekkRefunderbarSum = refusjon.refusjonsgrunnlag.refunderbarBeløp,
forrigeRefusjonMinusBeløp = request.minusBeløp,
tilskuddFom = refusjon.refusjonsgrunnlag.tilskuddsgrunnlag.tilskuddFom,
harFerietrekkForSammeMåned = request.harFerietrekkForSammeMåned,
Expand All @@ -186,7 +202,7 @@ class AdminController(
@Transactional
fun reberegn(@PathVariable id: String, @RequestBody request: ReberegnRequest): Beregning {
val refusjon: Refusjon = refusjonRepository.findByIdOrNull(id) ?: throw RessursFinnesIkkeException()
val beregning = beregnRefusjonsbeløp(
val beregning = beregnRefusjonsbeløp(
inntekter = refusjon.refusjonsgrunnlag.inntektsgrunnlag!!.inntekter.toList(),
tilskuddsgrunnlag = refusjon.refusjonsgrunnlag.tilskuddsgrunnlag,
tidligereUtbetalt = 0,
Expand All @@ -207,7 +223,7 @@ class AdminController(

@Unprotected
@GetMapping("hent-refusjoner-med-status-sendt")
fun hentRefusjonerMedStatusSendtKrav() = refusjonRepository.findAllByStatus(RefusjonStatus.SENDT_KRAV)
fun hentRefusjonerMedStatusSendtKrav() = refusjonRepository.findAllByStatus(RefusjonStatus.SENDT_KRAV)

@Unprotected
@PostMapping("oppdater-alle-refusjoner-klar-med-data/{page}")
Expand All @@ -232,13 +248,53 @@ class AdminController(
alleForTidlig.forEach {
refusjonService.oppdaterRefusjon(it, ADMIN_BRUKER)
}
}

@Unprotected
@PostMapping("send-refusjon-godkjent-melding")
@Transactional
fun sendRefusjonGodkjentMelding(@RequestBody refusjonGodkjentRequest: RefusjonGodkjentRequest): ResponseEntity<String> {
val refusjon = refusjonRepository.findById(refusjonGodkjentRequest.refusjonId).orElseThrow()

refusjonKafkaProducer!!.refusjonEndretStatus(RefusjonEndretStatus(refusjon))
if (refusjon.refusjonsgrunnlag.refusjonsgrunnlagetErNullSomIZero()) {
refusjonKafkaProducer!!.annullerTilskuddsperiodeEtterNullEllerMinusBeløp(refusjon, MidlerFrigjortÅrsak.REFUSJON_GODKJENT_NULL_BELØP)
return ResponseEntity.ok("Sendt godkjent nullbeløp-melding for ${refusjon.id}")
} else if (!refusjon.refusjonsgrunnlag.refusjonsgrunnlagetErPositivt()) {
refusjonKafkaProducer!!.annullerTilskuddsperiodeEtterNullEllerMinusBeløp(refusjon, MidlerFrigjortÅrsak.REFUSJON_MINUS_BELØP)
return ResponseEntity.ok("Sendt godkjent minusbeløp-melding for ${refusjon.id}")
} else {
refusjonKafkaProducer!!.sendRefusjonGodkjentMelding(refusjon)
return ResponseEntity.ok("Sendt godkjent-melding for ${refusjon.id}")
}
}

@Unprotected
@PostMapping("send-tilskuddsperiode-annullert-melding")
@Transactional
fun sentTilskuddsperiodeAnnullertMelding(@RequestBody annullerRefusjon: AnnullerRefusjon): ResponseEntity<String> {
val refusjoner = refusjonRepository.findAllByRefusjonsgrunnlag_Tilskuddsgrunnlag_TilskuddsperiodeId(annullerRefusjon.tilskuddsperiodeId)
if (refusjoner.size > 1) {
return ResponseEntity.badRequest().body("Fant flere refusjoner med tilskuddsperiodeId ${annullerRefusjon.tilskuddsperiodeId}")
}
val refusjon = refusjoner.firstOrNull() ?: return ResponseEntity.badRequest().body("Fant ingen refusjon med tilskuddsperiodeId ${annullerRefusjon.tilskuddsperiodeId}")

refusjonKafkaProducer!!.refusjonEndretStatus(RefusjonEndretStatus(refusjon))
if (refusjon.refusjonsgrunnlag.refusjonsgrunnlagetErNullSomIZero()) {
refusjonKafkaProducer!!.annullerTilskuddsperiodeEtterNullEllerMinusBeløp(refusjon, MidlerFrigjortÅrsak.REFUSJON_GODKJENT_NULL_BELØP)
return ResponseEntity.ok("Sendt godkjent nullbeløp-melding for ${refusjon.id}")
} else if (!refusjon.refusjonsgrunnlag.refusjonsgrunnlagetErPositivt()) {
refusjonKafkaProducer!!.annullerTilskuddsperiodeEtterNullEllerMinusBeløp(refusjon, MidlerFrigjortÅrsak.REFUSJON_MINUS_BELØP)
return ResponseEntity.ok("Sendt godkjent minusbeløp-melding for ${refusjon.id}")
} else {
return ResponseEntity.ok("Kunne ikke annullere refusjon ${refusjon.id}")
}
}
}

data class ReberegnRequest(val harFerietrekkForSammeMåned: Boolean, val minusBeløp: Int, val ferieTrekk: Int)
data class KorreksjonRequest(val refusjonIder: List<String>, val korreksjonsgrunner: Set<Korreksjonsgrunn>)
data class ForlengFristerRequest(val refusjonIder: List<String>, val nyFrist: LocalDate, val årsak: String, val enforce: Boolean)
data class ForlengFristerTilOgMedRequest(val tilDato: LocalDate, val nyFrist: LocalDate, val årsak: String, val enforce: Boolean)
data class AnnullerRefusjon(val tilskuddsperiodeId: String)
data class RefusjonGodkjentRequest(val refusjonId: String)

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package no.nav.arbeidsgiver.tiltakrefusjon

import jakarta.servlet.FilterChain
import jakarta.servlet.http.HttpServletRequest
import jakarta.servlet.http.HttpServletResponse
import org.slf4j.LoggerFactory
import org.springframework.core.Ordered
import org.springframework.core.annotation.Order
import org.springframework.stereotype.Component
import org.springframework.web.filter.OncePerRequestFilter

@Order(Ordered.HIGHEST_PRECEDENCE + 5)
@Component
class RequestDebugFilter: OncePerRequestFilter() {
val log = LoggerFactory.getLogger(javaClass)
override fun doFilterInternal(request: HttpServletRequest, response: HttpServletResponse, filterChain: FilterChain) {
if (request.getHeader("if-unmodified-since") != null) {
log.info("if-unmodified-since fra header: ${request.getHeader("if-unmodified-since")}")
}
filterChain.doFilter(request, response)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ class SecurityClientConfiguration(
): ClientHttpRequestInterceptor {
return ClientHttpRequestInterceptor { request: HttpRequest, body: ByteArray, execution: ClientHttpRequestExecution ->
val response = oAuth2AccessTokenService.getAccessToken(clientProperties)
request.headers.setBearerAuth(response.accessToken)
request.headers.setBearerAuth(response.accessToken!!)
execution.execute(request, body)
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package no.nav.arbeidsgiver.tiltakrefusjon.audit

@Target(AnnotationTarget.FUNCTION)
@Retention(AnnotationRetention.RUNTIME)
annotation class AuditLogging(val value: String)
Loading

0 comments on commit c1d0a0c

Please sign in to comment.