--- import UserLayout from "#layouts/DashboardLayout.astro"; import { Enums, prisma } from "#lib/server/prisma"; import DashboardModule from "#modules/Dashboard/DashboardModule.svelte"; import { getCurrentUser } from "#lib/server/user"; const params = Astro.params; const page = Number(params.page) const id = Astro.url.searchParams.get("id") || undefined; const user = await getCurrentUser(Astro) if (!user) { return Astro.redirect("/auth/login") } const totalPages = await prisma.objekt.count({ where: user.rolle === Enums.BenutzerRolle.USER ? { benutzer: { id: user.id } } : {} }) let objekte = [] if (id) { objekte = await prisma.objekt.findMany({ where: user.rolle === Enums.BenutzerRolle.USER ? { benutzer: { id: user.id }, } : { ...(id ? { OR: [ { aufnahmen: { every: { verbrauchsausweise_gewerbe: { some: { id: { contains: id } } }, } } }, { aufnahmen: { every: { verbrauchsausweise_wohnen: { some: { id: { contains: id } } }, } } }, { aufnahmen: { every: { bedarfsausweise_wohnen: { some: { id: { contains: 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 }) } else { objekte = await prisma.objekt.findMany({ where: user.rolle === Enums.BenutzerRolle.USER ? { benutzer: { id: user.id }, } : { OR: [ { aufnahmen: { every: { verbrauchsausweise_gewerbe: { some: { ausgestellt: false, bestellt: true } }, } } }, { aufnahmen: { every: { verbrauchsausweise_wohnen: { some: { ausgestellt: false, bestellt: true } }, } } }, { aufnahmen: { every: { bedarfsausweise_wohnen: { some: { ausgestellt: false, bestellt: true } }, } } }] }, 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 }) } ---