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 b77e46b..7f86f11 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
@@ -14,6 +14,7 @@ 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
+import java.time.LocalDateTime
fun configureRouting(): ApplicationEngine = embeddedServer(CIO, applicationEngineEnvironment {
//Repositories for handlinger mot database:
@@ -57,8 +58,9 @@ fun configureRouting(): ApplicationEngine = embeddedServer(CIO, applicationEngin
feilmeldingRepository.lagre(feilmelding)
call.respond(status = HttpStatusCode.Created, message = "Feilmelding motatt og sendt til database")
}
- get("/api/hentfeil"){
- call.respond(status = HttpStatusCode.Created, message = "Prøver å hente feil fra DB")
+ get("/api/hentallefeil"){
+ val testMelding = feilmeldingRepository.hentAlleFeilmeldinger()
+ call.respond(status = HttpStatusCode.Created, message = testMelding)
}
}
}
diff --git a/backend/src/test/kotlin/LocalApp.kt b/backend/src/test/kotlin/LocalApp.kt
index bfb33f4..6277061 100644
--- a/backend/src/test/kotlin/LocalApp.kt
+++ b/backend/src/test/kotlin/LocalApp.kt
@@ -1,26 +1,34 @@
import no.nav.helse.sprik.Application
import no.nav.helse.sprik.configureFlyway
import no.nav.helse.sprik.db.Database
-// import no.nav.helse.sprik.db.FeilmeldingRepository
+import no.nav.helse.sprik.db.FeilmeldingRepository
import no.nav.helse.sprik.dbconfig
-// import no.nav.helse.sprik.modell.Feilmelding
-// import java.time.LocalDateTime
-// import javax.sql.DataSource
+import no.nav.helse.sprik.modell.Feilmelding
+import java.time.LocalDateTime
+import javax.sql.DataSource
+import org.jetbrains.exposed.sql.Database as ExposedDatabase
+
fun main() {
val db = Database(dbconfig()).configureFlyway()
val app = Application(db)
+ ExposedDatabase.connect(db.dataSource)
- // oppretteMockData(db.dataSource) // WIP
+
+ oppretteMockData(db.dataSource) // WIP
app.startBlocking()
}
-/* WIP
private fun oppretteMockData(dataSource: DataSource) {
+ //må lage connection med database først!
val feilmeldingRepository = FeilmeldingRepository()
- feilmeldingRepository.lagre(Feilmelding("Tittel Test", "Beskrivelse Test", LocalDateTime.of(2023, 1, 1, 8, 0, 0)))
+ feilmeldingRepository.lagre(Feilmelding("Tittel Test1", "Beskrivelse Test1", LocalDateTime.of(2023, 1, 1, 8, 0, 0)))
+ feilmeldingRepository.lagre(Feilmelding("Tittel Test2", "Beskrivelse Test2", LocalDateTime.of(2023, 1, 1, 8, 0, 0)))
+ feilmeldingRepository.lagre(Feilmelding("Tittel Test3", "Beskrivelse Test3", LocalDateTime.of(2023, 1, 1, 8, 0, 0)))
+ feilmeldingRepository.lagre(Feilmelding("Tittel Test4", "Beskrivelse Test4", LocalDateTime.of(2023, 1, 1, 8, 0, 0)))
+ feilmeldingRepository.lagre(Feilmelding("Tittel Test5", "Beskrivelse Test5", LocalDateTime.of(2023, 1, 1, 8, 0, 0)))
+ feilmeldingRepository.lagre(Feilmelding("Tittel Test6", "Beskrivelse Test6", LocalDateTime.of(2023, 1, 1, 8, 0, 0)))
}
-*/
\ No newline at end of file
diff --git a/frontend/src/components/CardsContainer.tsx b/frontend/src/components/CardsContainer.tsx
index d51fe97..c550c66 100644
--- a/frontend/src/components/CardsContainer.tsx
+++ b/frontend/src/components/CardsContainer.tsx
@@ -1,54 +1,52 @@
+import { data } from "autoprefixer";
import FeilCard from "./FeilCard"
import useSWR from "swr"
+import { backendURL } from "../const.ts"
+import { Feilmelding, IFeilmelding } from "../interface.ts";
/**
*
* @returns Komponent for returnering av konteiner med alle feilinnmeldingene.
*/
-const fetcher = (url: RequestInfo | URL) => fetch(url).then(r => r.json())
+// const fetcher = (url: RequestInfo | URL) => fetch(url).then(r => r.json())
-const fetchFeil = () => {
- const {data, error, isLoading } = useSWR("/api/hentFeil", fetcher)
- if (error) return
failed to load
- if (isLoading) return loader
- return hello {data.name}!
+async function fetchAlleFeil() {
+ // const {data, error, isLoading } = useSWR("/api/hentallefeil", fetcher)
+ // if (error) return fail
+ // if (isLoading) return loader
+ // return hello {data.data}!
+ try {
+ const response = await fetch(backendURL + "/api/hentallefeil", {
+ method: "GET",
+ headers: {
+ "Content-Type": "application/json"
+ },
+ })
+ .then((data) => data.json())
+ .then((feil) => {
+ return feil.map(jsonFeilmelding => new Feilmelding(jsonFeilmelding))
+ })
+ .catch((error) => {
+ console.log(error)
+ })
+ return response
+ } catch (error) {
+ console.log("error:", error);
+ }
}
+
+
+const printFeil = async () => {
+ const a = await fetchAlleFeil();
+ console.log("a:", a);
+};
+
const CardsContainer = () => {
- const feilMeldinger: Feilmelding[] = [
- {
- tittel: "Mangel på hensyn til tariffoppgjør",
- beskrivelse: "Det har vært ett tariffoppgjør og speil sier sykepengene må tilbakekreves, noe som er feil. (sier vi.. har ikke domenekunnskap)",
- haster: false,
- dato: new Date()
- },
- {
- tittel: "Speil sier NAV må tilbakekreve sykepenger på feil grunnlag",
- beskrivelse: "baluba",
- haster: true,
- dato: new Date()
- },
- {
- tittel: "Feil A",
- beskrivelse: "Lorem Ipsum",
- haster: false,
- dato: new Date()
- },
- {
- tittel: "Feil B",
- beskrivelse: "dolor",
- haster: false,
- dato: new Date()
- },
- {
- tittel: "Håndkle på hue",
- beskrivelse: "Bombastic side eye",
- haster: true,
- dato: new Date()
- }
- ]
-
+ const feilMeldinger: Feilmelding[] = []
+ printFeil()
+
return(
@@ -57,14 +55,13 @@ const CardsContainer = () => {
key={feilMeldinger.indexOf(feilMelding)}
tittel={feilMelding.tittel}
beskrivelse={feilMelding.beskrivelse}
- haster={feilMelding.haster}
+ // haster={feilMelding.haster}
dato={new Date()} />
))}
Forsøker å loade feil objekter her:
- {fetchFeil()}
diff --git a/frontend/src/components/FeilCard.tsx b/frontend/src/components/FeilCard.tsx
index 6744276..9ed5ed5 100644
--- a/frontend/src/components/FeilCard.tsx
+++ b/frontend/src/components/FeilCard.tsx
@@ -15,7 +15,7 @@ const TagBar = (props: TagBarInterface) => {
)
}
-const FeilCard = (props: Feilmelding) => {
+const FeilCard = (props: IFeilmelding) => {
return (
@@ -23,7 +23,7 @@ const FeilCard = (props: Feilmelding) => {
{props.beskrivelse}
-
+ {/* */}
Hællæ
diff --git a/frontend/src/const.ts b/frontend/src/const.ts
new file mode 100644
index 0000000..aeec6f6
--- /dev/null
+++ b/frontend/src/const.ts
@@ -0,0 +1,3 @@
+
+export const backendURL = "http://localhost:8080"
+// const backend = "https://helse-sprik.intern.dev.nav.no"
diff --git a/frontend/src/interface.ts b/frontend/src/interface.ts
index 4fb8190..4edcb50 100644
--- a/frontend/src/interface.ts
+++ b/frontend/src/interface.ts
@@ -3,9 +3,28 @@
*/
-interface Feilmelding {
- tittel: String,
- beskrivelse: String
- haster: boolean
+export interface IFeilmelding {
+ tittel: string,
+ beskrivelse: string
+ // haster: boolean
dato: Date
+}
+
+export class Feilmelding implements IFeilmelding {
+ tittel: string = "default tittel"
+ beskrivelse: string = "default beskrivelse"
+ dato: Date = new Date()
+
+ /**
+ * Typescript 2.1 syntax som lar deg sende inn et JSON object og mappe det til class.
+ * https://stackoverflow.com/questions/14142071/typescript-and-field-initializers
+ */
+ public constructor(
+ fields: {
+ tittel: string,
+ beskrivelse: string,
+ dato: Date
+ }) {
+ if (fields) Object.assign(this, fields);
+ }
}
\ No newline at end of file
diff --git a/frontend/src/pages/feil.tsx b/frontend/src/pages/feil.tsx
index 8e114ef..535f222 100644
--- a/frontend/src/pages/feil.tsx
+++ b/frontend/src/pages/feil.tsx
@@ -7,21 +7,23 @@ import { useState } from "react";
import BildeOpplastning from "../components/BildeOpplastning";
import Header from "../components/Header";
import { useNavigate } from "react-router-dom";
+import { backendURL } from "../const";
export default function Feil() {
const [tittel, setTittel] = useState("");
const [beskrivelse, setBeskrivelse] = useState("");
- const url = "https://helse-sprik.intern.dev.nav.no"
- //const url = "http://localhost:5174"
-
const handleSubmit = () => {
- axios.post(url + "/api/nyfeil",
- {
- tittel: tittel,
- beskrivelse: beskrivelse,
- dato: new Date().toISOString().replace('Z', '')
- }, {
+
+ const payload = {
+ tittel: tittel,
+ beskrivelse: beskrivelse,
+ dato: new Date().toISOString().replace('Z', '')
+ }
+
+ console.log(payload);
+
+ axios.post(backendURL + "/api/nyfeil", payload, {
headers: {
'Content-Type': 'application/json'
}