🔀 Merge branch 'main' of github.com:navikt/helse-sprik

This commit is contained in:
Sindre Kjelsrud 2023-08-04 12:50:24 +02:00
commit 164c554cbc
13 changed files with 35 additions and 24 deletions

View file

@ -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 {

View file

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

View file

@ -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 {

View file

@ -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")
}

View file

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

View file

@ -0,0 +1,2 @@
ALTER TABLE feilmelding
ALTER COLUMN aktorid TYPE BIGINT

View file

@ -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")
}

View file

@ -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])

View file

@ -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>

View file

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

View file

@ -18,9 +18,7 @@ export default function Home() {
* Henter alle feilmeldinger fra backend.
* Bruker endepunktet /api/hentallefeil.
*/
const hentAlleFeil = async () => {
console.log("hentAlleFeil");
const hentAlleFeil = async () => {
await axios.get("/api/hentallefeil")
.then(data => data.data)
.then(feil => {

View file

@ -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);
}

View file

@ -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, {
@ -121,8 +117,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/>