Fiks kommentar backend (#27)

* 🚧 Påbegynt kommentarhåndtering

WIP: Kommentarer vises ikke i frontend

Co-authored-by: Amalie Erdal Mansåker <amalie.erdal.mansaker@nav.no>

* 💄🐛 Bruker switch til å endre om sak haster i redigering

BUG: La også til kommentar-field for å unngå BAD_REQUEST på Posting av nye feil

* 💄 Gjør små styling forbedringer, forbedret UU ved å lage skillelinjer i forms

* ️ La til heading på Switch i redigeringsskjema

*  Saker som meldes inn kan merkes som haster fra innmelding (#24)

Co-authored-by: Sid <93219711+SindreKjelsrud@users.noreply.github.com>

* Kommentarer frontend (#26)

* 💄 Laget mulighet for å skrive inn og submitte kommentar

* 💄 Gjorde kommentar til en "notat-klistrelapp"

* 🚑 Frontend bruker oppdaterkommentar endepunktet

* 🚧 Påbegynt kommentarhåndtering

WIP: Kommentarer vises ikke i frontend

Co-authored-by: Amalie Erdal Mansåker <amalie.erdal.mansaker@nav.no>

* 🔥 Fjerner ubrukte felt

Co-authored-by: Sindre Kjelsrud <sindre.kjelsrud@nav.no>

*  Kommentarer til feilmeldinger vises i frontend

Vises foreløpig ikke riktig i frontend, men det vises

Co-authored-by: Sindre Kjelsrud <sindre.kjelsrud@nav.no>

---------

Co-authored-by: Amalie Erdal Mansåker <amalie.erdal.mansaker@nav.no>
Co-authored-by: Markus Johansen <markus.aleksander.rakil.johansen@nav.no>
Co-authored-by: Markus A. R. Johansen <90006516+J0hans1@users.noreply.github.com>
This commit is contained in:
Sid 2023-08-03 12:43:41 +02:00 committed by GitHub
parent 96bc900c22
commit 65cd2cb6ae
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 37 additions and 15 deletions

View file

@ -9,6 +9,7 @@ import no.nav.helse.sprik.db.FeilmeldingTable.kommentar
import no.nav.helse.sprik.db.FeilmeldingTable.tittel
import no.nav.helse.sprik.modell.Feilmelding
import org.jetbrains.exposed.sql.*
import org.jetbrains.exposed.sql.SqlExpressionBuilder.eq
import org.jetbrains.exposed.sql.SqlExpressionBuilder.like
import org.jetbrains.exposed.sql.transactions.transaction

View file

@ -0,0 +1,4 @@
import kotlinx.serialization.Serializable
@Serializable
class InnkommendeKommentar(val id: Int, val kommentar: String)

View file

@ -1,5 +1,6 @@
package no.nav.helse.sprik.plugins
import InnkommendeKommentar
import io.ktor.http.*
import io.ktor.server.routing.*
import io.ktor.server.response.*
@ -70,6 +71,11 @@ fun configureRouting(): ApplicationEngine = embeddedServer(CIO, applicationEngin
feilmeldingRepository.oppdaterFeilmelding(oppdatertFeilmelding)
call.respond(status = HttpStatusCode.Created, message = "Feilmelding oppdatert")
}
put("/api/oppdaterkommentar") {
val innkommendeKommentar = call.receive<InnkommendeKommentar>()
feilmeldingRepository.oppdaterKommentar(innkommendeKommentar.id, innkommendeKommentar.kommentar)
call.respond(status = HttpStatusCode.Created, message = "Feilmelding oppdatert")
}
}
}

View file

@ -28,4 +28,5 @@ private fun oppretteMockData() {
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.oppdaterKommentar(1, "Test kommentar")
}

View file

@ -124,5 +124,4 @@ class FeilmeldingTest {
val actual = transaction { FeilmeldingTable.selectAll().single() }
assertEquals("Feilen fikses nå!", actual[FeilmeldingTable.kommentar])
}
}

View file

@ -44,6 +44,7 @@ const FeilKort = (props: IFeilKort) => {
dato={props.dato}
haster={props.haster}
arbeidsstatus={props.arbeidsstatus}
kommentar={props.kommentar}
/>
</div>
<FeilModal

View file

@ -11,7 +11,7 @@ interface modalInterface {
const FeilModal = (props: modalInterface) => {
return(
<Modal
className="w-3/5 min-w-2/4 p-5"
className="w-3/5 p-5"
open={props.open}
aria-label={" modal"}
onClose={() => props.setOpen(false)}

View file

@ -20,7 +20,8 @@ export const FeilkortHeader = (props: IFeilmelding) => {
<p className="text-text-subtle mb-4">{props.dato.toDateString()}</p>
<p>{props.beskrivelse}</p>
</div>
<TagBar haster={props.haster} arbeidsstatus={props.arbeidsstatus}/>
<TagBar haster={props.haster} arbeidsstatus={props.arbeidsstatus}/>
<p>{props.kommentar}</p>
</div>
)
}

View file

@ -7,15 +7,17 @@ import Skillelinje from "./Skillelinje"
import axios from "axios"
const FeilmeldingsInnhold = (props: FeilmeldingsInnholdInterface) => {
const [kommentar, setKommentar] = useState("")
const [kommentarfelt, setKommentarfelt] = useState("")
const [kommentar, setKommentar] = useState(props.kommentar ? props.kommentar : "")
const [kommentarfelt, setKommentarfelt] = useState("")
const oppdaterkommentar = async() => {
setKommentar(kommentarfelt)
console.log(kommentarfelt)
console.log(kommentar);
const payload = {
id: props.id,
tittel: kommentar,
kommentar: kommentarfelt,
}
await axios.put("/api/oppdaterkommentar", payload, {
@ -66,7 +68,10 @@ const FeilmeldingsInnhold = (props: FeilmeldingsInnholdInterface) => {
<KommentarTekstfelt
kommentarfelt={kommentarfelt}
setKommentarfelt={setKommentarfelt}
oppdaterKommentar={() => oppdaterkommentar()}
oppdaterKommentar={() => {
setKommentar(kommentarfelt)
oppdaterkommentar()}
}
/>
:
<Kommentar

View file

@ -21,9 +21,10 @@ const KortKonteiner = (props: IKortKonteiner) => {
tittel={feilMelding.tittel}
beskrivelse={feilMelding.beskrivelse}
dato={new Date()}
haster={feilMelding.haster}
arbeidsstatus={feilMelding.arbeidsstatus}
haster={feilMelding.haster}
reset={props.reset}
kommentar={feilMelding.kommentar}
/>
))
}

View file

@ -25,10 +25,10 @@ const RedigeringsVerktoy = (props: redigeringsInterface) => {
beskrivelse: beskrivelse,
dato: props.dato.toISOString().replace('Z', ''),
arbeidsstatus: arbeidsstatus,
haster: haster
haster: haster,
}
await axios.put(`/api/oppdaterfeil/${props.id}`, payload, {
await axios.put(`/api/oppdaterfeil/`, payload, {
headers: {
'Content-Type': 'application/json'
}

View file

@ -1,4 +1,4 @@
/*
/**
* I denne filen kan vi legge interfaces som skal brukes over flere steder!
*/
@ -8,8 +8,9 @@ export interface IFeilmelding {
tittel: string,
beskrivelse: string
dato: Date
haster: boolean
arbeidsstatus: number
haster: boolean
kommentar?: string
}
export interface FeilmeldingsInnholdInterface extends IFeilmelding {
@ -24,8 +25,9 @@ export class Feilmelding implements IFeilmelding {
tittel: string = "default tittel"
beskrivelse: string = "default beskrivelse"
dato: Date = new Date()
haster: boolean = false
arbeidsstatus: number = 0
haster: boolean = false
kommentar?: string = undefined
/**
* Typescript 2.1 syntax som lar deg sende inn et JSON object og mappe det til class.
@ -37,8 +39,9 @@ export class Feilmelding implements IFeilmelding {
tittel: string
beskrivelse: string
dato: Date
haster: boolean
arbeidsstatus: number
haster: boolean
kommentar: string
}) {
if (fields) Object.assign(this, fields);
}