diff --git a/backend/src/main/kotlin/no/nav/helse/sprik/db/FeilmeldingRepository.kt b/backend/src/main/kotlin/no/nav/helse/sprik/db/FeilmeldingRepository.kt index 85bca6c..d2cf565 100644 --- a/backend/src/main/kotlin/no/nav/helse/sprik/db/FeilmeldingRepository.kt +++ b/backend/src/main/kotlin/no/nav/helse/sprik/db/FeilmeldingRepository.kt @@ -5,6 +5,7 @@ import no.nav.helse.sprik.db.FeilmeldingTable.arbeidsstatus import no.nav.helse.sprik.db.FeilmeldingTable.beskrivelse import no.nav.helse.sprik.db.FeilmeldingTable.dato import no.nav.helse.sprik.db.FeilmeldingTable.haster +import no.nav.helse.sprik.db.FeilmeldingTable.id import no.nav.helse.sprik.db.FeilmeldingTable.tittel import no.nav.helse.sprik.modell.Feilmelding import org.jetbrains.exposed.sql.* @@ -28,6 +29,7 @@ class FeilmeldingRepository { } private fun radTilFeilmelding(rad: ResultRow) = Feilmelding( + id = rad[id], tittel = rad[tittel], beskrivelse = rad[beskrivelse], dato = rad[dato], @@ -47,4 +49,13 @@ class FeilmeldingRepository { .map(::radTilFeilmelding) } + + fun hentFeilmelding(id: String) = transaction { + TODO() + FeilmeldingTable.id + } + + fun oppdaterFeilmelding(id: String): Nothing = transaction { + TODO() + } } diff --git a/backend/src/main/kotlin/no/nav/helse/sprik/db/FeilmeldingTable.kt b/backend/src/main/kotlin/no/nav/helse/sprik/db/FeilmeldingTable.kt index 13a2c35..34aacfb 100644 --- a/backend/src/main/kotlin/no/nav/helse/sprik/db/FeilmeldingTable.kt +++ b/backend/src/main/kotlin/no/nav/helse/sprik/db/FeilmeldingTable.kt @@ -4,6 +4,7 @@ import org.jetbrains.exposed.sql.Table import org.jetbrains.exposed.sql.javatime.datetime object FeilmeldingTable : Table("feilmelding") { + val id = integer("id") val tittel = text("tittel") val beskrivelse = text("beskrivelse") val dato = datetime("dato") diff --git a/backend/src/main/kotlin/no/nav/helse/sprik/modell/Feilmelding.kt b/backend/src/main/kotlin/no/nav/helse/sprik/modell/Feilmelding.kt index 7f14fe6..82b14b4 100644 --- a/backend/src/main/kotlin/no/nav/helse/sprik/modell/Feilmelding.kt +++ b/backend/src/main/kotlin/no/nav/helse/sprik/modell/Feilmelding.kt @@ -14,6 +14,7 @@ import java.time.LocalDateTime * */ @Serializable class Feilmelding( + val id: Int?, val tittel: String, val beskrivelse: String, val dato: LocalDateTime, //Krever en spesiallaget serialiserer i KotlinX diff --git a/backend/src/main/kotlin/no/nav/helse/sprik/plugins/Routing.kt b/backend/src/main/kotlin/no/nav/helse/sprik/plugins/Routing.kt index e9fdc4d..99e77a4 100644 --- a/backend/src/main/kotlin/no/nav/helse/sprik/plugins/Routing.kt +++ b/backend/src/main/kotlin/no/nav/helse/sprik/plugins/Routing.kt @@ -23,6 +23,7 @@ fun configureRouting(): ApplicationEngine = embeddedServer(CIO, applicationEngin anyHost() allowMethod(HttpMethod.Get) allowMethod(HttpMethod.Post) + allowMethod(HttpMethod.Put) allowNonSimpleContentTypes = true } install(ContentNegotiation) { @@ -61,6 +62,11 @@ fun configureRouting(): ApplicationEngine = embeddedServer(CIO, applicationEngin val sokeresultat = feilmeldingRepository.hentSokteFeilmeldinger(sokestreng) call.respond(status = HttpStatusCode.Created, message = sokeresultat) } + put("/api/oppdaterfeil/{id}") { + val id = call.parameters["id"] + val oppdatertFeilmelding = call.receive() + call.respond(status = HttpStatusCode.Created, message = "Feilmelding oppdatert") + } } } connector { diff --git a/backend/src/test/kotlin/LocalApp.kt b/backend/src/test/kotlin/LocalApp.kt index b3c8999..c8b3c1c 100644 --- a/backend/src/test/kotlin/LocalApp.kt +++ b/backend/src/test/kotlin/LocalApp.kt @@ -22,10 +22,10 @@ fun main() { private fun oppretteMockData() { val feilmeldingRepository = FeilmeldingRepository() - feilmeldingRepository.lagre(Feilmelding("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)) - feilmeldingRepository.lagre(Feilmelding("Speil sier NAV må tilbakekreve sykepenger på feil grunnlag", "Beskrivelse Test2", LocalDateTime.of(2023, 2, 1, 8, 0, 0), 1, true)) - feilmeldingRepository.lagre(Feilmelding("Feil A", "Lorem Ipsum", LocalDateTime.of(2023, 3, 1, 8, 0, 0), 2, false)) - feilmeldingRepository.lagre(Feilmelding("Feil B", "Lorem Ipsum", LocalDateTime.of(2023, 4, 1, 8, 0, 0), 1, true)) - feilmeldingRepository.lagre(Feilmelding("Feil C", "Lorem Ipsum", LocalDateTime.of(2023, 5, 1, 8, 0, 0), 1, true)) - feilmeldingRepository.lagre(Feilmelding("Feil D", "Lorem Ipsum", LocalDateTime.of(2023, 6, 1, 8, 0, 0), 0, false)) + 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)) + 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)) + feilmeldingRepository.lagre(Feilmelding(null, "Feil A", "Lorem Ipsum", LocalDateTime.of(2023, 3, 1, 8, 0, 0), 2, false)) + feilmeldingRepository.lagre(Feilmelding(null, "Feil B", "Lorem Ipsum", LocalDateTime.of(2023, 4, 1, 8, 0, 0), 1, true)) + feilmeldingRepository.lagre(Feilmelding(null, "Feil C", "Lorem Ipsum", LocalDateTime.of(2023, 5, 1, 8, 0, 0), 1, true)) + feilmeldingRepository.lagre(Feilmelding(null, "Feil D", "Lorem Ipsum", LocalDateTime.of(2023, 6, 1, 8, 0, 0), 0, false)) } diff --git a/backend/src/test/kotlin/no/nav/helse/sprik/FeilmeldingTest.kt b/backend/src/test/kotlin/no/nav/helse/sprik/FeilmeldingTest.kt index c1ed9b1..2289b06 100644 --- a/backend/src/test/kotlin/no/nav/helse/sprik/FeilmeldingTest.kt +++ b/backend/src/test/kotlin/no/nav/helse/sprik/FeilmeldingTest.kt @@ -21,8 +21,8 @@ import org.jetbrains.exposed.sql.Database as ExposedDatabase class FeilmeldingTest { private val database = Database(dbconfig()).configureFlyway() private val feilmeldingRepository = FeilmeldingRepository() - private val feilmelding = Feilmelding("Test", "Testesen", LocalDateTime.of(2023,1,1,8,0), 0, true) - private val feilmelding2 = Feilmelding("Tittel", "Beskrivelse", LocalDateTime.of(2023,2,1,8,0), 1, false) + private val feilmelding = Feilmelding(1, "Test", "Testesen", LocalDateTime.of(2023,1,1,8,0), 0, true) + private val feilmelding2 = Feilmelding(2, "Tittel", "Beskrivelse", LocalDateTime.of(2023,2,1,8,0), 1, false) @BeforeAll fun setup() { @@ -101,4 +101,9 @@ class FeilmeldingTest { assertEquals("Test", sokeresultat[0].tittel) assertEquals("Testesen", sokeresultat[0].beskrivelse) } + + @Test + fun `Oppdaterer en feilmelding`() { + + } } \ No newline at end of file diff --git a/frontend/src/components/CardsContainer.tsx b/frontend/src/components/CardsContainer.tsx index d51318d..5cf2400 100644 --- a/frontend/src/components/CardsContainer.tsx +++ b/frontend/src/components/CardsContainer.tsx @@ -16,6 +16,7 @@ const CardsContainer = (props: ICardsContainer) => { {props.feilmeldinger.map((feilMelding) => ( { const [visModal, setVisModal] = useState(false) + const [redigeringsmodus, setRedigeringsmodus] = useState(false) + const [tittel, setTittel] = useState(props.tittel) + const [beskrivelse, setBeskrivelse] = useState(props.beskrivelse) + const [arbeidsstatus, setArbeidsstatus] = useState(props.arbeidsstatus) + const [haster, setHaster] = useState(props.haster) + useEffect(() => { Modal.setAppElement(document.getElementById('root')); }, []); + + const lagreEndringer = () => { + setRedigeringsmodus(false) + + const fields = { + id: props.id, + tittel: tittel, + beskrivelse: beskrivelse, + dato: props.dato, + arbeidsstatus: arbeidsstatus, + haster: haster + } + + const endretFeilmelding = new Feilmelding(fields) + + axios.put(`/api/oppdaterfeil/${props.id}`, endretFeilmelding, { + headers: { + 'Content-Type': 'application/json' + } + }).then((response) => { + console.log(response); + }).catch((error) => { + console.log(error); + }) + } return( <> @@ -32,6 +67,7 @@ export const FeilKort = (props: IFeilKort) => { onClick={() => setVisModal(true)} > { /> - -
- {/* TODO: HER KOMMER CONTENT */} + {redigeringsmodus ? + +
+
+ setTittel(e.target.value)} + /> +