🚧 Frontend sender AktørID til backend

WIP: Database og backend takler ikke lange tall (må finne alternativ datatype til int)

Co-authored-by: Amalie Mansåker <amalie.erdal.mansaker@nav.no>
This commit is contained in:
Markus Johansen 2023-08-04 10:28:59 +02:00
parent ebd9e0105b
commit 60ffff1924
10 changed files with 28 additions and 21 deletions

View file

@ -1,5 +1,6 @@
package no.nav.helse.sprik.db package no.nav.helse.sprik.db
import no.nav.helse.sprik.db.FeilmeldingTable.aktorid
import no.nav.helse.sprik.db.FeilmeldingTable.arbeidsstatus import no.nav.helse.sprik.db.FeilmeldingTable.arbeidsstatus
import no.nav.helse.sprik.db.FeilmeldingTable.beskrivelse import no.nav.helse.sprik.db.FeilmeldingTable.beskrivelse
import no.nav.helse.sprik.db.FeilmeldingTable.dato import no.nav.helse.sprik.db.FeilmeldingTable.dato
@ -35,7 +36,8 @@ class FeilmeldingRepository {
dato = rad[dato], dato = rad[dato],
arbeidsstatus = rad[arbeidsstatus], arbeidsstatus = rad[arbeidsstatus],
haster = rad[haster], haster = rad[haster],
kommentar = rad[kommentar] kommentar = rad[kommentar],
aktorid = rad[aktorid]
) )
fun hentAlleFeilmeldinger(): List<Feilmelding> = transaction { fun hentAlleFeilmeldinger(): List<Feilmelding> = transaction {

View file

@ -11,4 +11,5 @@ object FeilmeldingTable : Table("feilmelding") {
val arbeidsstatus = integer("arbeidsstatus") val arbeidsstatus = integer("arbeidsstatus")
val haster = bool("haster") val haster = bool("haster")
val kommentar = text("kommentar") val kommentar = text("kommentar")
val aktorid = integer("aktorid")
} }

View file

@ -20,7 +20,8 @@ class Feilmelding(
val dato: LocalDateTime, //Krever en spesiallaget serialiserer i KotlinX val dato: LocalDateTime, //Krever en spesiallaget serialiserer i KotlinX
val arbeidsstatus: Int, val arbeidsstatus: Int,
val haster: Boolean, val haster: Boolean,
val kommentar: String? val kommentar: String?,
val aktorid: Long?
//val bilde: String, //val bilde: String,
) { ) {
override fun toString(): String { override fun toString(): String {

View file

@ -0,0 +1 @@
ALTER TABLE feilmelding ADD aktorid INT

View file

@ -22,11 +22,11 @@ fun main() {
private fun oppretteMockData() { private fun oppretteMockData() {
val feilmeldingRepository = FeilmeldingRepository() val feilmeldingRepository = FeilmeldingRepository()
feilmeldingRepository.lagre(Feilmelding(null, "Mangel på hensyn til tariffoppgjør", "Det har vært ett tariffoppgjør og speil sier sykepengene må tilbakekreves, noe som er feil. (sier vi.. har ikke domenekunnskap)", LocalDateTime.of(2023, 1, 1, 8, 0, 0), 0, false, null)) feilmeldingRepository.lagre(Feilmelding(null, "Mangel på hensyn til tariffoppgjør", "Det har vært ett tariffoppgjør og speil sier sykepengene må tilbakekreves, noe som er feil. (sier vi.. har ikke domenekunnskap)", LocalDateTime.of(2023, 1, 1, 8, 0, 0), 0, false, null, null))
feilmeldingRepository.lagre(Feilmelding(null, "Speil sier NAV må tilbakekreve sykepenger på feil grunnlag", "Beskrivelse Test2", LocalDateTime.of(2023, 2, 1, 8, 0, 0), 1, true, null)) feilmeldingRepository.lagre(Feilmelding(null, "Speil sier NAV må tilbakekreve sykepenger på feil grunnlag", "Beskrivelse Test2", LocalDateTime.of(2023, 2, 1, 8, 0, 0), 1, true, null, null))
feilmeldingRepository.lagre(Feilmelding(null, "Feil A", "Lorem Ipsum", LocalDateTime.of(2023, 3, 1, 8, 0, 0), 2, false, null)) feilmeldingRepository.lagre(Feilmelding(null, "Feil A", "Lorem Ipsum", LocalDateTime.of(2023, 3, 1, 8, 0, 0), 2, false, null, null))
feilmeldingRepository.lagre(Feilmelding(null, "Feil B", "Lorem Ipsum", LocalDateTime.of(2023, 4, 1, 8, 0, 0), 1, true, null)) feilmeldingRepository.lagre(Feilmelding(null, "Feil B", "Lorem Ipsum", LocalDateTime.of(2023, 4, 1, 8, 0, 0), 1, true, null, null))
feilmeldingRepository.lagre(Feilmelding(null, "Feil C", "Lorem Ipsum", LocalDateTime.of(2023, 5, 1, 8, 0, 0), 1, true, null)) feilmeldingRepository.lagre(Feilmelding(null, "Feil C", "Lorem Ipsum", LocalDateTime.of(2023, 5, 1, 8, 0, 0), 1, true, null, null))
feilmeldingRepository.lagre(Feilmelding(null, "Feil D", "Lorem Ipsum", LocalDateTime.of(2023, 6, 1, 8, 0, 0), 0, false, null)) feilmeldingRepository.lagre(Feilmelding(null, "Feil D", "Lorem Ipsum", LocalDateTime.of(2023, 6, 1, 8, 0, 0), 0, false, null, null))
feilmeldingRepository.oppdaterKommentar(1, "Test kommentar") feilmeldingRepository.oppdaterKommentar(1, "Test kommentar")
} }

View file

@ -34,7 +34,7 @@ class FeilmeldingTest {
@BeforeEach @BeforeEach
fun lagreFeilmelding() { fun lagreFeilmelding() {
val feilmelding = Feilmelding(null, "Test", "Testesen", LocalDateTime.of(2023,1,1,8,0), 0, true, null) val feilmelding = Feilmelding(null, "Test", "Testesen", LocalDateTime.of(2023,1,1,8,0), 0, true, null, null)
feilmeldingRepository.lagre(feilmelding) feilmeldingRepository.lagre(feilmelding)
} }
@ -109,7 +109,7 @@ class FeilmeldingTest {
} }
@Test @Test
fun `Oppdaterer en feilmelding`() { fun `Oppdaterer en feilmelding`() {
val oppdatertFeilmelding = Feilmelding(getId(), "Oppdatert", "Oppdatert feil", LocalDateTime.of(2023, 1, 1, 8, 0), 1, false, null) val oppdatertFeilmelding = Feilmelding(getId(), "Oppdatert", "Oppdatert feil", LocalDateTime.of(2023, 1, 1, 8, 0), 1, false, null, null)
feilmeldingRepository.oppdaterFeilmelding(oppdatertFeilmelding) feilmeldingRepository.oppdaterFeilmelding(oppdatertFeilmelding)
val actualOppdatert = transaction { FeilmeldingTable.selectAll().single() } val actualOppdatert = transaction { FeilmeldingTable.selectAll().single() }
assertEquals("Oppdatert", actualOppdatert[FeilmeldingTable.tittel]) assertEquals("Oppdatert", actualOppdatert[FeilmeldingTable.tittel])

View file

@ -63,6 +63,7 @@ const FeilKort = (props: IFeilKort) => {
setVisModal={setVisModal} setVisModal={setVisModal}
reset={props.reset} reset={props.reset}
kommentar={props.kommentar} kommentar={props.kommentar}
aktorId={props.aktorId}
/> />
: :
<FeilmeldingsInnhold <FeilmeldingsInnhold
@ -76,8 +77,9 @@ const FeilKort = (props: IFeilKort) => {
setRedigeringsmodus={setRedigeringsmodus} setRedigeringsmodus={setRedigeringsmodus}
reset={props.reset} reset={props.reset}
kommentar={props.kommentar} kommentar={props.kommentar}
aktorId={props.aktorId}
> >
<p>Her kommer det content</p> <p>aktorId: {props.aktorId}</p>
</FeilmeldingsInnhold> </FeilmeldingsInnhold>
} }
</FeilModal> </FeilModal>

View file

@ -25,6 +25,7 @@ const KortKonteiner = (props: IKortKonteiner) => {
haster={feilMelding.haster} haster={feilMelding.haster}
reset={props.reset} reset={props.reset}
kommentar={feilMelding.kommentar} kommentar={feilMelding.kommentar}
aktorId={feilMelding.aktorId}
/> />
)) ))
} }

View file

@ -11,6 +11,7 @@ export interface IFeilmelding {
arbeidsstatus: number arbeidsstatus: number
haster: boolean haster: boolean
kommentar?: string kommentar?: string
aktorId?: number
} }
export interface FeilmeldingsInnholdInterface extends IFeilmelding { export interface FeilmeldingsInnholdInterface extends IFeilmelding {
@ -28,6 +29,7 @@ export class Feilmelding implements IFeilmelding {
arbeidsstatus: number = 0 arbeidsstatus: number = 0
haster: boolean = false haster: boolean = false
kommentar?: string = undefined kommentar?: string = undefined
aktorId?: number = undefined
/** /**
* Typescript 2.1 syntax som lar deg sende inn et JSON object og mappe det til class. * Typescript 2.1 syntax som lar deg sende inn et JSON object og mappe det til class.
@ -42,6 +44,7 @@ export class Feilmelding implements IFeilmelding {
arbeidsstatus: number arbeidsstatus: number
haster: boolean haster: boolean
kommentar: string kommentar: string
aktorId: number
}) { }) {
if (fields) Object.assign(this, fields); if (fields) Object.assign(this, fields);
} }

View file

@ -15,13 +15,9 @@ export default function Feil() {
const [status, setStatus] = useState(0) const [status, setStatus] = useState(0)
const [haster, setHaster] = useState(false) const [haster, setHaster] = useState(false)
const [valgteTags, setValgteTags] = useState([] as string[]); const [valgteTags, setValgteTags] = useState([] as string[]);
const [aktørId, setAktørId] = useState(""); const [aktorid, setAktorid] = useState(0);
console.log(aktørId);
const handleSubmit = () => { const handleSubmit = () => {
const payload = { const payload = {
id: null, id: null,
tittel: tittel, tittel: tittel,
@ -29,9 +25,9 @@ export default function Feil() {
dato: new Date().toISOString().replace('Z', ''), // Litt wack fix, burde endres dato: new Date().toISOString().replace('Z', ''), // Litt wack fix, burde endres
arbeidsstatus: 0, arbeidsstatus: 0,
haster: haster, haster: haster,
kommentar: null kommentar: null,
aktorid: aktorid ? aktorid : null,
//kategorier: valgteTags //kategorier: valgteTags
//aktørId: aktørId
} }
axios.post("/api/nyfeil", payload, { axios.post("/api/nyfeil", payload, {
@ -117,9 +113,9 @@ export default function Feil() {
<Skillelinje/> <Skillelinje/>
<TextField <TextField
label="Aktør-ID (valgfritt)" label="aktor-ID (valgfritt)"
description="Legg ved Aktør-ID om det er relevant" description="Legg ved aktor-ID om det er relevant"
onChange={e => setAktørId(e.target.value)} onChange={e => setAktorid(parseInt(e.target.value))}
/> />
<Skillelinje/> <Skillelinje/>