diff --git a/src/pages/dashboard/objekte/[page].astro b/src/pages/dashboard/objekte/[page].astro index 455ca2a0..b831e143 100644 --- a/src/pages/dashboard/objekte/[page].astro +++ b/src/pages/dashboard/objekte/[page].astro @@ -23,70 +23,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 + }) +} + + ---