From 21446b3bf3f3272799bce790a78822a5a89f80d1 Mon Sep 17 00:00:00 2001 From: Jens Cornelsen <79703163+IB-Cornelsen@users.noreply.github.com> Date: Thu, 17 Apr 2025 00:52:09 +0200 Subject: [PATCH] =?UTF-8?q?Filter=20nur=20bestellte=20Ausweise=20und=20nic?= =?UTF-8?q?ht=20ausgestellte=20im=20Dashboard=20=20f=C3=BCr=20Admins?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/dashboard/objekte/[page].astro | 190 +++++++++++++++-------- 1 file changed, 129 insertions(+), 61 deletions(-) diff --git a/src/pages/dashboard/objekte/[page].astro b/src/pages/dashboard/objekte/[page].astro index 7441d988..1a50427b 100644 --- a/src/pages/dashboard/objekte/[page].astro +++ b/src/pages/dashboard/objekte/[page].astro @@ -24,70 +24,138 @@ const totalPages = await prisma.objekt.count({ } : {} }) -const objekte = await prisma.objekt.findMany({ - 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 + } + } + }, + } + } + },]} : {}) }, - } : { - ...(id ? {OR: [ - { - aufnahmen: { - every: { - verbrauchsausweise_gewerbe: { - some: { - id: { - contains: id - } - } - }, - } + orderBy: { + erstellungsdatum: "desc" + }, + include: { + aufnahmen: { + include: { + bilder: true, + unterlagen: true, + bedarfsausweise_wohnen: true, + verbrauchsausweise_gewerbe: true, + verbrauchsausweise_wohnen: true } - }, - { - 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 -}) + }, + 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 + }) +} + + ---