🚧 Påbegynt kommentarhåndtering

WIP: Kommentarer vises ikke i frontend

Co-authored-by: Amalie Erdal Mansåker <amalie.erdal.mansaker@nav.no>
This commit is contained in:
Sindre Kjelsrud 2023-08-02 16:13:06 +02:00
parent 4cdd063851
commit 29fe06d928
10 changed files with 29 additions and 11 deletions

View file

@ -70,6 +70,15 @@ fun configureRouting(): ApplicationEngine = embeddedServer(CIO, applicationEngin
feilmeldingRepository.oppdaterFeilmelding(oppdatertFeilmelding) feilmeldingRepository.oppdaterFeilmelding(oppdatertFeilmelding)
call.respond(status = HttpStatusCode.Created, message = "Feilmelding oppdatert") call.respond(status = HttpStatusCode.Created, message = "Feilmelding oppdatert")
} }
put("/api/oppdaterkommentar") {
val oppdatertKommentarFeilmelding = call.receive<Feilmelding>()
if (oppdatertKommentarFeilmelding.id == null || oppdatertKommentarFeilmelding.kommentar == null) {
call.respond(status = HttpStatusCode.NotAcceptable, message = "Må ha id og kommentar for å oppdatere feilmelding")
} else {
feilmeldingRepository.oppdaterKommentar(oppdatertKommentarFeilmelding.id, oppdatertKommentarFeilmelding.kommentar)
call.respond(status = HttpStatusCode.Created, message = "Feilmelding oppdatert")
}
}
} }
} }

View file

@ -27,5 +27,5 @@ private fun oppretteMockData() {
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))
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))
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))
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, "Test kommentar"))
} }

View file

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

View file

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

View file

@ -21,6 +21,7 @@ export const FeilkortHeader = (props: IFeilmelding) => {
<p>{props.beskrivelse}</p> <p>{props.beskrivelse}</p>
</div> </div>
<TagBar haster={props.haster} arbeidsstatus={props.arbeidsstatus}/> <TagBar haster={props.haster} arbeidsstatus={props.arbeidsstatus}/>
<p>{props.kommentar}</p>
</div> </div>
) )
} }

View file

@ -35,6 +35,7 @@ const FeilmeldingsInnhold = (props: FeilmeldingsInnholdInterface) => {
</div> </div>
<div className="h-2 bg-gray-200 my-4 rounded-lg"></div> <div className="h-2 bg-gray-200 my-4 rounded-lg"></div>
{props.children} {props.children}
Test: {props.kommentar ? props.kommentar : "null"}
</div> </div>
) )
} }

View file

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

View file

@ -13,6 +13,7 @@ const RedigeringsVerktoy = (props: redigeringsInterface) => {
const [beskrivelse, setBeskrivelse] = useState(props.beskrivelse) const [beskrivelse, setBeskrivelse] = useState(props.beskrivelse)
const [arbeidsstatus, setArbeidsstatus] = useState(props.arbeidsstatus) const [arbeidsstatus, setArbeidsstatus] = useState(props.arbeidsstatus)
const [haster, setHaster] = useState(props.haster) const [haster, setHaster] = useState(props.haster)
const [kommentar, setKommentar] = useState(props.kommentar)
const lagreEndringer = async() => { const lagreEndringer = async() => {
props.setVisModal(false) props.setVisModal(false)
@ -24,10 +25,11 @@ const RedigeringsVerktoy = (props: redigeringsInterface) => {
beskrivelse: beskrivelse, beskrivelse: beskrivelse,
dato: props.dato.toISOString().replace('Z', ''), dato: props.dato.toISOString().replace('Z', ''),
arbeidsstatus: arbeidsstatus, arbeidsstatus: arbeidsstatus,
haster: haster haster: haster,
kommentar: (kommentar ? kommentar : null)
} }
await axios.put(`/api/oppdaterfeil/${props.id}`, payload, { await axios.put(`/api/oppdaterfeil/`, payload, {
headers: { headers: {
'Content-Type': 'application/json' 'Content-Type': 'application/json'
} }

View file

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

View file

@ -22,7 +22,8 @@ export default function Feil() {
beskrivelse: beskrivelse, beskrivelse: beskrivelse,
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: false haster: false,
kommentar: null
} }
axios.post("/api/nyfeil", payload, { axios.post("/api/nyfeil", payload, {