@@ -26,18 +36,20 @@ import VastaanottajaHaku from './VastaanottajaHaku';
{lahetys.replyTo}Palvelu{lahetys.lahettavaPalvelu}
- Hakuehdot
- TODO onko tämä kohta kälisuunnitelmassa lähetyksen metadata???
+ Metadata-avain TODO
+ Metadata-avaimen arvot TODO Lähetystunnus{lahetys.lahetysTunniste}Lähetyksen tila
Vastaanottajat
+ }>
-
+
+
diff --git a/viestinvalitys-raportointi/src/app/layout.tsx b/viestinvalitys-raportointi/src/app/layout.tsx
index cecbf9fd..b5d254b0 100644
--- a/viestinvalitys-raportointi/src/app/layout.tsx
+++ b/viestinvalitys-raportointi/src/app/layout.tsx
@@ -3,6 +3,7 @@ import { AppRouterCacheProvider } from '@mui/material-nextjs/v13-appRouter';
import './globals.css'
import Link from 'next/link';
import { Roboto } from 'next/font/google'
+import HomeIconLink from './components/HomeIconLink';
const roboto = Roboto({
weight: ['400', '500'],
@@ -25,7 +26,8 @@ export default function RootLayout({
{children}
diff --git a/viestinvalitys-raportointi/src/app/lib/data.ts b/viestinvalitys-raportointi/src/app/lib/data.ts
index def42ee7..acd13dca 100644
--- a/viestinvalitys-raportointi/src/app/lib/data.ts
+++ b/viestinvalitys-raportointi/src/app/lib/data.ts
@@ -1,16 +1,18 @@
import { cookies, headers } from 'next/headers'
-import { LahetysHakuParams } from './types'
+import { LahetysHakuParams, VastaanottajatHakuParams } from './types'
import { apiUrl, cookieName, loginUrl } from './configurations'
import { redirect } from 'next/navigation'
+const LAHETYKSET_SIVUTUS_KOKO = 20
+const VASTAANOTTAJAT_SIVUTUS_KOKO = 10
// TODO apuwrapperi headerien asettamiseen ja virheenkäsittelyyn
-export async function fetchLahetykset(hakuParams: LahetysHakuParams) {
+export async function fetchLahetykset(hakuParams: LahetysHakuParams) {
const sessionCookie = cookies().get(cookieName)
if (sessionCookie === undefined) {
console.info('no session cookie, redirect to login')
redirect(loginUrl)
}
- const fetchUrlBase = `${apiUrl}/lahetykset/lista?enintaan=20`
+ const fetchUrlBase = `${apiUrl}/lahetykset/lista?enintaan=${LAHETYKSET_SIVUTUS_KOKO}`
console.info(hakuParams)
var fetchParams = hakuParams.seuraavatAlkaen ? `&alkaen=${hakuParams.seuraavatAlkaen}` : ''
if(hakuParams?.hakukentta && hakuParams.hakusana) {
@@ -48,7 +50,7 @@ export async function fetchLahetykset(hakuParams: LahetysHakuParams) {
cache: 'no-store'
})
console.log(res.status)
- if (!res.ok || res.status===400 || res.status===410) {
+ if (!(res.ok || res.status===400 || res.status===410)) {
if(res.status===401) {
redirect(loginUrl)
}
@@ -58,22 +60,24 @@ export async function fetchLahetykset(hakuParams: LahetysHakuParams) {
return res.json()
}
- export async function fetchLahetyksenVastaanottajat(lahetysTunnus: string) {
+ export async function fetchLahetyksenVastaanottajat(lahetysTunnus: string, hakuParams: VastaanottajatHakuParams) {
const sessionCookie = cookies().get(cookieName)
if (sessionCookie === undefined) {
console.info('no session cookie, redirect to login')
redirect(loginUrl)
}
const headersInstance = headers()
- const url = `${apiUrl}/lahetykset/${lahetysTunnus}/vastaanottajat`
+ const url = `${apiUrl}/lahetykset/${lahetysTunnus}/vastaanottajat?enintaan=${VASTAANOTTAJAT_SIVUTUS_KOKO}`
console.log(url)
+ var fetchParams = hakuParams.alkaen ? `&alkaen=${hakuParams.alkaen}&sivutustila=${hakuParams.sivutustila || 'kesken'}` : ''
+ console.log(url.concat(fetchParams))
const cookieParam = sessionCookie.name+'='+sessionCookie.value
- const res = await fetch(url,{
+ const res = await fetch(url.concat(fetchParams),{
headers: { cookie: cookieParam ?? '' }, // Forward the authorization header
cache: 'no-store'
})
console.log(res.status)
- if (!res.ok) {
+ if (!(res.ok || res.status===400 || res.status===410)) {
if(res.status===401) {
redirect(loginUrl)
}
diff --git a/viestinvalitys-raportointi/src/app/lib/types.ts b/viestinvalitys-raportointi/src/app/lib/types.ts
index 2bf8e253..0da3338a 100644
--- a/viestinvalitys-raportointi/src/app/lib/types.ts
+++ b/viestinvalitys-raportointi/src/app/lib/types.ts
@@ -4,6 +4,14 @@ export type LahetysHakuParams = {
hakusana?: string
}
+export type VastaanottajatHakuParams = {
+ alkaen?: string
+ sivutustila?: string
+ hakukentta?: string
+ hakusana?: string
+ tila?: string
+}
+
export type LahetyksenVastaanottoTila = {
vastaanottotila: VastaanotonTila
vastaanottajaLkm: number