--- import UserLayout from "#layouts/DashboardLayout.astro"; import { API_ACCESS_TOKEN_COOKIE_NAME } from "#lib/constants"; import { Enums, prisma } from "#lib/server/prisma"; import { createCaller } from "src/astro-typesafe-api-caller"; import DashboardModule from "#modules/Dashboard/DashboardModule.svelte"; const caller = createCaller(Astro) const params = Astro.params; const page = Number(params.page) const id = Astro.url.searchParams.get("id") || undefined; const user = await caller.user.self.GET.fetch(undefined, { headers: { "Authorization": `Bearer ${Astro.cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)?.value}` } }); if (!user) { return Astro.redirect("/auth/login") } const totalPages = await prisma.objekt.count({ where: user.rolle === Enums.BenutzerRolle.USER ? { benutzer: { uid: user.uid } } : {} }) const objekte = await prisma.objekt.findMany({ where: user.rolle === Enums.BenutzerRolle.USER ? { benutzer: { uid: user.uid }, } : { ...(id ? {OR: [ { aufnahmen: { every: { verbrauchsausweise_gewerbe: { some: { alte_ausweis_id: parseInt(id) } }, } } }, { aufnahmen: { every: { verbrauchsausweise_wohnen: { some: { alte_ausweis_id: parseInt(id) } }, } } }, { aufnahmen: { every: { bedarfsausweise_wohnen: { some: { alte_ausweis_id: parseInt(id) } }, } } }, { aufnahmen: { every: { verbrauchsausweise_gewerbe: { some: { uid: { startsWith: `vag-${id}` } } }, } } }, { aufnahmen: { every: { verbrauchsausweise_wohnen: { some: { uid: { startsWith: `vaw-${id}` } } }, } } }, { aufnahmen: { every: { bedarfsausweise_wohnen: { some: { uid: { startsWith: `baw-${id}` } } }, } } },]} : {}) }, orderBy: { erstellungsdatum: "desc" }, include: { aufnahmen: { include: { bilder: true, unterlagen: true, bedarfsausweise_wohnen: true, verbrauchsausweise_gewerbe: true, verbrauchsausweise_wohnen: true } } }, take: 25, skip: (page - 1) * 25 }) ---