🚧 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)
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 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, "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() }
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 open={visModal} setOpen={setVisModal} >

View file

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

View file

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

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

@ -13,6 +13,7 @@ const RedigeringsVerktoy = (props: redigeringsInterface) => {
const [beskrivelse, setBeskrivelse] = useState(props.beskrivelse)
const [arbeidsstatus, setArbeidsstatus] = useState(props.arbeidsstatus)
const [haster, setHaster] = useState(props.haster)
const [kommentar, setKommentar] = useState(props.kommentar)
const lagreEndringer = async() => {
props.setVisModal(false)
@ -24,10 +25,11 @@ const RedigeringsVerktoy = (props: redigeringsInterface) => {
beskrivelse: beskrivelse,
dato: props.dato.toISOString().replace('Z', ''),
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: {
'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 {
@ -23,8 +24,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.
@ -36,8 +38,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);
}

View file

@ -22,7 +22,8 @@ export default function Feil() {
beskrivelse: beskrivelse,
dato: new Date().toISOString().replace('Z', ''), // Litt wack fix, burde endres
arbeidsstatus: 0,
haster: false
haster: false,
kommentar: null
}
axios.post("/api/nyfeil", payload, {