Aktor id backend (#31)
* 🚧 Frontend sender AktørID til backend WIP: Database og backend takler ikke lange tall (må finne alternativ datatype til int) * 🐛 Endret datatype på aktorid i database til BIGINT * 🍱 Lagring av valgfri aktørid i database * ✨ Aktørid vises på feilmeldinginnhold i frontend * 🎨 Fjernet ubrukte logs, rettet grammatikk, fikset typing på aktorid frontend --------- Co-authored-by: Amalie Mansåker <amalie.erdal.mansaker@nav.no>
This commit is contained in:
parent
ebd9e0105b
commit
13a3ee415d
13 changed files with 35 additions and 24 deletions
|
@ -1,5 +1,6 @@
|
|||
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.beskrivelse
|
||||
import no.nav.helse.sprik.db.FeilmeldingTable.dato
|
||||
|
@ -15,6 +16,7 @@ import org.jetbrains.exposed.sql.transactions.transaction
|
|||
|
||||
class FeilmeldingRepository {
|
||||
fun lagre(feilmelding: Feilmelding) {
|
||||
|
||||
transaction {
|
||||
FeilmeldingTable.run {
|
||||
insert {
|
||||
|
@ -23,6 +25,10 @@ class FeilmeldingRepository {
|
|||
it[FeilmeldingTable.dato] = feilmelding.dato
|
||||
it[FeilmeldingTable.arbeidsstatus] = feilmelding.arbeidsstatus
|
||||
it[FeilmeldingTable.haster] = feilmelding.haster
|
||||
|
||||
if (feilmelding.aktorid != null){
|
||||
it[FeilmeldingTable.aktorid] = feilmelding.aktorid
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -35,7 +41,8 @@ class FeilmeldingRepository {
|
|||
dato = rad[dato],
|
||||
arbeidsstatus = rad[arbeidsstatus],
|
||||
haster = rad[haster],
|
||||
kommentar = rad[kommentar]
|
||||
kommentar = rad[kommentar],
|
||||
aktorid = rad[aktorid]
|
||||
)
|
||||
|
||||
fun hentAlleFeilmeldinger(): List<Feilmelding> = transaction {
|
||||
|
|
|
@ -11,4 +11,5 @@ object FeilmeldingTable : Table("feilmelding") {
|
|||
val arbeidsstatus = integer("arbeidsstatus")
|
||||
val haster = bool("haster")
|
||||
val kommentar = text("kommentar")
|
||||
val aktorid = long("aktorid")
|
||||
}
|
|
@ -20,7 +20,8 @@ class Feilmelding(
|
|||
val dato: LocalDateTime, //Krever en spesiallaget serialiserer i KotlinX
|
||||
val arbeidsstatus: Int,
|
||||
val haster: Boolean,
|
||||
val kommentar: String?
|
||||
val kommentar: String?,
|
||||
val aktorid: Long?
|
||||
//val bilde: String,
|
||||
) {
|
||||
override fun toString(): String {
|
||||
|
|
|
@ -68,7 +68,6 @@ fun configureRouting(): ApplicationEngine = embeddedServer(CIO, applicationEngin
|
|||
}
|
||||
put("/api/oppdaterfeil") {
|
||||
val oppdatertFeilmelding = call.receive<Feilmelding>()
|
||||
println(oppdatertFeilmelding)
|
||||
feilmeldingRepository.oppdaterFeilmelding(oppdatertFeilmelding)
|
||||
call.respond(status = HttpStatusCode.Created, message = "Feilmelding oppdatert")
|
||||
}
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
ALTER TABLE feilmelding ADD aktorid INT
|
|
@ -0,0 +1,2 @@
|
|||
ALTER TABLE feilmelding
|
||||
ALTER COLUMN aktorid TYPE BIGINT
|
|
@ -22,11 +22,11 @@ fun main() {
|
|||
|
||||
private fun oppretteMockData() {
|
||||
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, "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, "Feil A", "Lorem Ipsum", LocalDateTime.of(2023, 3, 1, 8, 0, 0), 2, false, 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 C", "Lorem Ipsum", LocalDateTime.of(2023, 5, 1, 8, 0, 0), 1, true, null))
|
||||
feilmeldingRepository.lagre(Feilmelding(null, "Feil D", "Lorem Ipsum", LocalDateTime.of(2023, 6, 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, 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, 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, null))
|
||||
feilmeldingRepository.oppdaterKommentar(1, "Test kommentar")
|
||||
}
|
||||
|
|
|
@ -34,7 +34,7 @@ class FeilmeldingTest {
|
|||
|
||||
@BeforeEach
|
||||
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)
|
||||
}
|
||||
|
||||
|
@ -109,7 +109,7 @@ class FeilmeldingTest {
|
|||
}
|
||||
@Test
|
||||
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)
|
||||
val actualOppdatert = transaction { FeilmeldingTable.selectAll().single() }
|
||||
assertEquals("Oppdatert", actualOppdatert[FeilmeldingTable.tittel])
|
||||
|
|
|
@ -63,6 +63,7 @@ const FeilKort = (props: IFeilKort) => {
|
|||
setVisModal={setVisModal}
|
||||
reset={props.reset}
|
||||
kommentar={props.kommentar}
|
||||
aktorId={props.aktorId}
|
||||
/>
|
||||
:
|
||||
<FeilmeldingsInnhold
|
||||
|
@ -76,8 +77,9 @@ const FeilKort = (props: IFeilKort) => {
|
|||
setRedigeringsmodus={setRedigeringsmodus}
|
||||
reset={props.reset}
|
||||
kommentar={props.kommentar}
|
||||
aktorId={props.aktorId}
|
||||
>
|
||||
<p>Her kommer det content</p>
|
||||
<p>aktorId: {props.aktorId}</p>
|
||||
</FeilmeldingsInnhold>
|
||||
}
|
||||
</FeilModal>
|
||||
|
|
|
@ -25,6 +25,7 @@ const KortKonteiner = (props: IKortKonteiner) => {
|
|||
haster={feilMelding.haster}
|
||||
reset={props.reset}
|
||||
kommentar={feilMelding.kommentar}
|
||||
aktorId={feilMelding.aktorid}
|
||||
/>
|
||||
))
|
||||
}
|
||||
|
|
|
@ -19,8 +19,6 @@ export default function Home() {
|
|||
* Bruker endepunktet /api/hentallefeil.
|
||||
*/
|
||||
const hentAlleFeil = async () => {
|
||||
console.log("hentAlleFeil");
|
||||
|
||||
await axios.get("/api/hentallefeil")
|
||||
.then(data => data.data)
|
||||
.then(feil => {
|
||||
|
|
|
@ -11,6 +11,7 @@ export interface IFeilmelding {
|
|||
arbeidsstatus: number
|
||||
haster: boolean
|
||||
kommentar?: string
|
||||
aktorId?: number
|
||||
}
|
||||
|
||||
export interface FeilmeldingsInnholdInterface extends IFeilmelding {
|
||||
|
@ -28,6 +29,7 @@ export class Feilmelding implements IFeilmelding {
|
|||
arbeidsstatus: number = 0
|
||||
haster: boolean = false
|
||||
kommentar?: string = undefined
|
||||
aktorid?: number = undefined
|
||||
|
||||
/**
|
||||
* 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
|
||||
haster: boolean
|
||||
kommentar: string
|
||||
aktorId: number
|
||||
}) {
|
||||
if (fields) Object.assign(this, fields);
|
||||
}
|
||||
|
|
|
@ -15,13 +15,9 @@ export default function Feil() {
|
|||
const [status, setStatus] = useState(0)
|
||||
const [haster, setHaster] = useState(false)
|
||||
const [valgteTags, setValgteTags] = useState([] as string[]);
|
||||
const [aktørId, setAktørId] = useState("");
|
||||
|
||||
console.log(aktørId);
|
||||
|
||||
const [aktorid, setAktorid] = useState<number|null>(null);
|
||||
|
||||
const handleSubmit = () => {
|
||||
|
||||
const payload = {
|
||||
id: null,
|
||||
tittel: tittel,
|
||||
|
@ -29,9 +25,9 @@ export default function Feil() {
|
|||
dato: new Date().toISOString().replace('Z', ''), // Litt wack fix, burde endres
|
||||
arbeidsstatus: 0,
|
||||
haster: haster,
|
||||
kommentar: null
|
||||
kommentar: null,
|
||||
aktorid: aktorid ? aktorid : null,
|
||||
//kategorier: valgteTags
|
||||
//aktørId: aktørId
|
||||
}
|
||||
|
||||
axios.post("/api/nyfeil", payload, {
|
||||
|
@ -118,8 +114,8 @@ export default function Feil() {
|
|||
<Skillelinje/>
|
||||
<TextField
|
||||
label="Aktør-ID (valgfritt)"
|
||||
description="Legg ved Aktør-ID om det er relevant"
|
||||
onChange={e => setAktørId(e.target.value)}
|
||||
description="Legg ved aktør-ID om det er relevant"
|
||||
onChange={e => setAktorid(parseInt(e.target.value))}
|
||||
/>
|
||||
|
||||
<Skillelinje/>
|
||||
|
|
Reference in a new issue