Filter nur bestellte Ausweise und nicht ausgestellte im Dashboard für Admins

This commit is contained in:
Jens Cornelsen
2025-04-17 00:52:09 +02:00
parent 935fbfba78
commit b0828592c5

View File

@@ -23,70 +23,138 @@ const totalPages = await prisma.objekt.count({
} : {} } : {}
}) })
const objekte = await prisma.objekt.findMany({ let objekte = []
where: user.rolle === Enums.BenutzerRolle.USER ? { if (id) {
benutzer: { objekte = await prisma.objekt.findMany({
id: user.id 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: {
...(id ? {OR: [ erstellungsdatum: "desc"
{ },
aufnahmen: { include: {
every: { aufnahmen: {
verbrauchsausweise_gewerbe: { include: {
some: { bilder: true,
id: { unterlagen: true,
contains: id 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,
take: 25, skip: (page - 1) * 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
})
}
--- ---
<UserLayout title="Objekte" {user}> <UserLayout title="Objekte" {user}>