🚧 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:
parent
4cdd063851
commit
29fe06d928
10 changed files with 29 additions and 11 deletions
|
@ -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")
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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"))
|
||||||
}
|
}
|
||||||
|
|
|
@ -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])
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -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} >
|
||||||
|
|
|
@ -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>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -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>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -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}
|
||||||
/>
|
/>
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
|
|
|
@ -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'
|
||||||
}
|
}
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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, {
|
||||||
|
|
Reference in a new issue