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
|
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
|
||||||
|
@ -15,6 +16,7 @@ import org.jetbrains.exposed.sql.transactions.transaction
|
||||||
|
|
||||||
class FeilmeldingRepository {
|
class FeilmeldingRepository {
|
||||||
fun lagre(feilmelding: Feilmelding) {
|
fun lagre(feilmelding: Feilmelding) {
|
||||||
|
|
||||||
transaction {
|
transaction {
|
||||||
FeilmeldingTable.run {
|
FeilmeldingTable.run {
|
||||||
insert {
|
insert {
|
||||||
|
@ -23,6 +25,10 @@ class FeilmeldingRepository {
|
||||||
it[FeilmeldingTable.dato] = feilmelding.dato
|
it[FeilmeldingTable.dato] = feilmelding.dato
|
||||||
it[FeilmeldingTable.arbeidsstatus] = feilmelding.arbeidsstatus
|
it[FeilmeldingTable.arbeidsstatus] = feilmelding.arbeidsstatus
|
||||||
it[FeilmeldingTable.haster] = feilmelding.haster
|
it[FeilmeldingTable.haster] = feilmelding.haster
|
||||||
|
|
||||||
|
if (feilmelding.aktorid != null){
|
||||||
|
it[FeilmeldingTable.aktorid] = feilmelding.aktorid
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -35,7 +41,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 {
|
||||||
|
|
|
@ -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 = long("aktorid")
|
||||||
}
|
}
|
|
@ -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 {
|
||||||
|
|
|
@ -68,7 +68,6 @@ fun configureRouting(): ApplicationEngine = embeddedServer(CIO, applicationEngin
|
||||||
}
|
}
|
||||||
put("/api/oppdaterfeil") {
|
put("/api/oppdaterfeil") {
|
||||||
val oppdatertFeilmelding = call.receive<Feilmelding>()
|
val oppdatertFeilmelding = call.receive<Feilmelding>()
|
||||||
println(oppdatertFeilmelding)
|
|
||||||
feilmeldingRepository.oppdaterFeilmelding(oppdatertFeilmelding)
|
feilmeldingRepository.oppdaterFeilmelding(oppdatertFeilmelding)
|
||||||
call.respond(status = HttpStatusCode.Created, message = "Feilmelding oppdatert")
|
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() {
|
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")
|
||||||
}
|
}
|
||||||
|
|
|
@ -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])
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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}
|
||||||
/>
|
/>
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,8 +19,6 @@ export default function Home() {
|
||||||
* Bruker endepunktet /api/hentallefeil.
|
* Bruker endepunktet /api/hentallefeil.
|
||||||
*/
|
*/
|
||||||
const hentAlleFeil = async () => {
|
const hentAlleFeil = async () => {
|
||||||
console.log("hentAlleFeil");
|
|
||||||
|
|
||||||
await axios.get("/api/hentallefeil")
|
await axios.get("/api/hentallefeil")
|
||||||
.then(data => data.data)
|
.then(data => data.data)
|
||||||
.then(feil => {
|
.then(feil => {
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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<number|null>(null);
|
||||||
|
|
||||||
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, {
|
||||||
|
@ -118,8 +114,8 @@ export default function Feil() {
|
||||||
<Skillelinje/>
|
<Skillelinje/>
|
||||||
<TextField
|
<TextField
|
||||||
label="Aktør-ID (valgfritt)"
|
label="Aktør-ID (valgfritt)"
|
||||||
description="Legg ved Aktør-ID om det er relevant"
|
description="Legg ved aktør-ID om det er relevant"
|
||||||
onChange={e => setAktørId(e.target.value)}
|
onChange={e => setAktorid(parseInt(e.target.value))}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<Skillelinje/>
|
<Skillelinje/>
|
||||||
|
|
Reference in a new issue