Skip to content

Commit

Permalink
🔥 RIP TransactionalReservasjonDao
Browse files Browse the repository at this point in the history
  • Loading branch information
havstein committed Oct 27, 2024
1 parent 10a6f89 commit 496a921
Show file tree
Hide file tree
Showing 7 changed files with 45 additions and 77 deletions.
44 changes: 36 additions & 8 deletions spesialist-selve/src/main/kotlin/no/nav/helse/db/ReservasjonDao.kt
Original file line number Diff line number Diff line change
@@ -1,23 +1,51 @@
package no.nav.helse.db

import kotliquery.sessionOf
import no.nav.helse.HelseDao
import kotliquery.Session
import no.nav.helse.HelseDao.Companion.asSQL
import java.util.UUID
import javax.sql.DataSource

class ReservasjonDao(private val dataSource: DataSource) : HelseDao(dataSource), ReservasjonRepository {
class ReservasjonDao(queryRunner: QueryRunner) : ReservasjonRepository, QueryRunner by queryRunner {
constructor(session: Session) : this(MedSession(session))
constructor(dataSource: DataSource) : this(MedDataSource(dataSource))

override fun reserverPerson(
saksbehandlerOid: UUID,
fødselsnummer: String,
) {
sessionOf(dataSource).use { session ->
TransactionalReservasjonDao(session).reserverPerson(saksbehandlerOid, fødselsnummer)
}
asSQL(
"""
INSERT INTO reserver_person(saksbehandler_ref, person_ref)
SELECT :saksbehandler_ref, person.id
FROM person
WHERE person.fodselsnummer = :foedselsnummer
ON CONFLICT (person_ref)
DO UPDATE SET gyldig_til = current_date + time '23:59:59',
saksbehandler_ref = :saksbehandler_ref;
""".trimIndent(),
"saksbehandler_ref" to saksbehandlerOid,
"foedselsnummer" to fødselsnummer.toLong(),
).update()
}

override fun hentReservasjonFor(fødselsnummer: String): Reservasjon? =
sessionOf(dataSource).use { session ->
TransactionalReservasjonDao(session).hentReservasjonFor(fødselsnummer)
asSQL(
"""
SELECT r.*, s.* FROM reserver_person r
JOIN person p ON p.id = r.person_ref
JOIN saksbehandler s ON r.saksbehandler_ref = s.oid
WHERE p.fodselsnummer = :foedselsnummer AND r.gyldig_til > now();
""".trimIndent(),
"foedselsnummer" to fødselsnummer.toLong(),
).single { row ->
Reservasjon(
SaksbehandlerFraDatabase(
oid = row.uuid("oid"),
navn = row.string("navn"),
epostadresse = row.string("epost"),
ident = row.string("ident"),
),
)
}
}

Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import no.nav.helse.db.InntektskilderDao
import no.nav.helse.db.OppgaveRepository
import no.nav.helse.db.OpptegnelseDao
import no.nav.helse.db.PgTotrinnsvurderingDao
import no.nav.helse.db.ReservasjonDao
import no.nav.helse.db.TransactionalAvviksvurderingDao
import no.nav.helse.db.TransactionalCommandContextDao
import no.nav.helse.db.TransactionalEgenAnsattDao
Expand All @@ -17,7 +18,6 @@ import no.nav.helse.db.TransactionalOppgaveDao
import no.nav.helse.db.TransactionalOverstyringDao
import no.nav.helse.db.TransactionalPeriodehistorikkDao
import no.nav.helse.db.TransactionalPÃ¥VentDao
import no.nav.helse.db.TransactionalReservasjonDao
import no.nav.helse.db.TransactionalRisikovurderingDao
import no.nav.helse.db.TransactionalTildelingDao
import no.nav.helse.db.TransactionalUtbetalingDao
Expand Down Expand Up @@ -199,7 +199,7 @@ internal class Kommandofabrikk(
historikkinnslagRepository = TransactionalPeriodehistorikkDao(session),
commandContextRepository = TransactionalCommandContextDao(session),
oppgaveService = transaksjonellOppgaveService(session),
reservasjonRepository = TransactionalReservasjonDao(session),
reservasjonRepository = ReservasjonDao(session),
tildelingRepository = TransactionalTildelingDao(session),
oppgaveRepository = TransactionalOppgaveDao(session),
totrinnsvurderingService = lagTotrinnsvurderingService(session),
Expand Down Expand Up @@ -297,7 +297,7 @@ internal class Kommandofabrikk(
personbeløp = hendelse.personbeløp,
utbetalingRepository = TransactionalUtbetalingDao(session),
opptegnelseRepository = OpptegnelseDao(session),
reservasjonRepository = TransactionalReservasjonDao(session),
reservasjonRepository = ReservasjonDao(session),
oppgaveRepository = TransactionalOppgaveDao(session),
tildelingRepository = TransactionalTildelingDao(session),
oppgaveService = transaksjonellOppgaveService(session),
Expand All @@ -315,7 +315,7 @@ internal class Kommandofabrikk(
id = hendelse.id,
commandContextRepository = TransactionalCommandContextDao(session),
oppgaveService = transaksjonellOppgaveService(session),
reservasjonRepository = TransactionalReservasjonDao(session),
reservasjonRepository = ReservasjonDao(session),
tildelingRepository = TransactionalTildelingDao(session),
oppgaveRepository = TransactionalOppgaveDao(session),
totrinnsvurderingService = lagTotrinnsvurderingService(session),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,14 @@ import no.nav.helse.db.OppgavesorteringForDatabase
import no.nav.helse.db.OpptegnelseDao
import no.nav.helse.db.OpptegnelseRepository
import no.nav.helse.db.PgTotrinnsvurderingDao
import no.nav.helse.db.ReservasjonDao
import no.nav.helse.db.ReservasjonRepository
import no.nav.helse.db.SaksbehandlerRepository
import no.nav.helse.db.SorteringsnøkkelForDatabase
import no.nav.helse.db.TildelingRepository
import no.nav.helse.db.TotrinnsvurderingDao
import no.nav.helse.db.TotrinnsvurderingFraDatabase
import no.nav.helse.db.TransactionalOppgaveDao
import no.nav.helse.db.TransactionalReservasjonDao
import no.nav.helse.db.TransactionalSaksbehandlerDao
import no.nav.helse.db.TransactionalTildelingDao
import no.nav.helse.mediator.SaksbehandlerMediator.Companion.tilApiversjon
Expand Down Expand Up @@ -77,7 +77,7 @@ internal class OppgaveService(
OppgaveService(
oppgaveRepository = TransactionalOppgaveDao(transactionalSession),
tildelingRepository = TransactionalTildelingDao(transactionalSession),
reservasjonRepository = TransactionalReservasjonDao(transactionalSession),
reservasjonRepository = ReservasjonDao(transactionalSession),
opptegnelseRepository = OpptegnelseDao(transactionalSession),
totrinnsvurderingDao = PgTotrinnsvurderingDao(transactionalSession),
saksbehandlerRepository = TransactionalSaksbehandlerDao(transactionalSession),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ import no.nav.helse.TestRapidHelpers.oppgaveId
import no.nav.helse.TestRapidHelpers.siste
import no.nav.helse.db.OpptegnelseDao
import no.nav.helse.db.PgHistorikkinnslagRepository
import no.nav.helse.db.PgTotrinnsvurderingDao
import no.nav.helse.db.ReservasjonDao
import no.nav.helse.db.SaksbehandlerDao
import no.nav.helse.db.TildelingDao
import no.nav.helse.db.PgTotrinnsvurderingDao
import no.nav.helse.mediator.GodkjenningService
import no.nav.helse.mediator.oppgave.OppgaveDao
import no.nav.helse.mediator.oppgave.OppgaveService
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ abstract class DatabaseIntegrationTest : AbstractDatabaseTest() {
internal val saksbehandlerDao = SaksbehandlerDao(dataSource)
internal val overstyringDao = OverstyringDao(dataSource)
internal val overstyringApiDao = OverstyringApiDao(dataSource)
internal val reservasjonDao = ReservasjonDao(dataSource)
internal val reservasjonDao = ReservasjonDao(session)
internal val meldingDao = MeldingDao(dataSource)
internal val meldingDuplikatkontrollDao = MeldingDuplikatkontrollDao(dataSource)
internal val risikovurderingDao = RisikovurderingDao(dataSource)
Expand Down
2 changes: 1 addition & 1 deletion spesialist-selve/src/test/kotlin/TestMediator.kt
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ import no.nav.helse.db.AvviksvurderingDao
import no.nav.helse.db.NotatDao
import no.nav.helse.db.OpptegnelseDao
import no.nav.helse.db.PgHistorikkinnslagRepository
import no.nav.helse.db.PgTotrinnsvurderingDao
import no.nav.helse.db.ReservasjonDao
import no.nav.helse.db.SaksbehandlerDao
import no.nav.helse.db.StansAutomatiskBehandlingDao
import no.nav.helse.db.TildelingDao
import no.nav.helse.db.PgTotrinnsvurderingDao
import no.nav.helse.mediator.GodkjenningMediator
import no.nav.helse.mediator.Kommandofabrikk
import no.nav.helse.mediator.MeldingMediator
Expand Down

0 comments on commit 496a921

Please sign in to comment.