🗃️ Innsendt feilmelding sendes videre fra backend til database

Co-authored-by: Sindre Kjelsrud <sindre.kjelsrud@nav.no>
Co-authored-by: Amalie Mansåker <amalie.erdal.mansaker@nav.no>
This commit is contained in:
Markus Johansen 2023-07-17 16:11:35 +02:00
parent a5497cf536
commit c47685b5d9
6 changed files with 34 additions and 36 deletions

View file

@ -1,19 +1,22 @@
package no.nav.helse.sprik.db
import no.nav.helse.sprik.modell.Feilmelding
import org.jetbrains.exposed.sql.insert
import org.jetbrains.exposed.sql.transactions.transaction
import java.time.LocalDateTime
class FeilmeldingRepository {
fun lagre(tittel: String, beskrivelse: String, dato: LocalDateTime){
fun lagre(feilmelding: Feilmelding){
transaction {
FeilmeldingTable.run {
insert {
it[FeilmeldingTable.tittel] = tittel
it[FeilmeldingTable.beskrivelse] = beskrivelse
it[FeilmeldingTable.dato] = dato
it[FeilmeldingTable.tittel] = feilmelding.tittel
it[FeilmeldingTable.beskrivelse] = feilmelding.beskrivelse
it[FeilmeldingTable.dato] = feilmelding.dato
}
}
}
}
}

View file

@ -1,14 +1,12 @@
@file:UseSerializers(
LocalDateSerializer::class
LocalDateTimeSerializer::class
)
package no.nav.helse.sprik.modell
import kotlinx.serialization.Serializable
import kotlinx.serialization.UseSerializers
import no.nav.helse.sprik.serializers.LocalDateSerializer
import java.time.LocalDate
import no.nav.helse.sprik.serializers.LocalDateTimeSerializer
import java.time.LocalDateTime
/**
@ -19,19 +17,11 @@ class Feilmelding(
val tittel: String,
val beskrivelse: String,
@Serializable(LocalDateSerializer::class)
val dato: LocalDate? = null, //Krever en spesiallaget serialiserer i KotlinX
val tags: ArrayList<String> = arrayListOf<String>()
@Serializable(LocalDateTimeSerializer::class)
val dato: LocalDateTime, //Krever en spesiallaget serialiserer i KotlinX
//val tags: ArrayList<String> = arrayListOf<String>()
//val bilde: String,
) {
fun addTag(tagText: String){
tags.add(tagText)
}
fun removeTag(tagText: String){
tags.removeAt(tags.indexOf(tagText))
}
override fun toString(): String {
return "Feilmelding(\n${tittel}\n${beskrivelse}\n)"
}

View file

@ -12,9 +12,13 @@ import io.ktor.server.http.content.*
import io.ktor.server.plugins.cors.routing.*
import io.ktor.server.request.*
import no.nav.helse.sprik.Test
import no.nav.helse.sprik.db.FeilmeldingRepository
import no.nav.helse.sprik.modell.Feilmelding
fun configureRouting(): ApplicationEngine = embeddedServer(CIO, applicationEngineEnvironment {
//Repositories for handlinger mot database:
val feilmeldingRepository = FeilmeldingRepository()
module {
install(CORS) {
anyHost()
@ -45,9 +49,9 @@ fun configureRouting(): ApplicationEngine = embeddedServer(CIO, applicationEngin
call.respond(status = HttpStatusCode.Created, message = test)
}
post("/nyFeil") {
val test = call.receive<Feilmelding>()
println(test)
call.respond(status = HttpStatusCode.Created, message = test)
val feilmelding = call.receive<Feilmelding>()
feilmeldingRepository.lagre(feilmelding)
call.respond(status = HttpStatusCode.Created, message = "Feilmelding motatt og sendt til database")
}
}
}

View file

@ -1,8 +0,0 @@
package no.nav.helse.sprik.serializers
import java.time.LocalDate
object LocalDateSerializer : AsStringSerializer<LocalDate>(
serialName = "Sprik.kotlinx.LocalDateSerializer",
parse = LocalDate::parse
)

View file

@ -0,0 +1,8 @@
package no.nav.helse.sprik.serializers
import java.time.LocalDateTime
object LocalDateTimeSerializer : AsStringSerializer<LocalDateTime>(
serialName = "Sprik.kotlinx.LocalDateTimeSerializer",
parse = LocalDateTime::parse
)