Dashboard
This commit is contained in:
@@ -39,31 +39,49 @@ const aufnahme = await prisma.aufnahme.findUnique({
|
||||
bilder: true,
|
||||
unterlagen: true,
|
||||
bedarfsausweise_wohnen: {
|
||||
orderBy: {
|
||||
updated_at: "desc"
|
||||
},
|
||||
include: {
|
||||
rechnung: true
|
||||
}
|
||||
},
|
||||
verbrauchsausweise_gewerbe: {
|
||||
orderBy: {
|
||||
updated_at: "desc"
|
||||
},
|
||||
include: {
|
||||
rechnung: true
|
||||
}
|
||||
},
|
||||
verbrauchsausweise_wohnen: {
|
||||
orderBy: {
|
||||
updated_at: "desc"
|
||||
},
|
||||
include: {
|
||||
rechnung: true
|
||||
}
|
||||
},
|
||||
bedarfsausweise_gewerbe: {
|
||||
orderBy: {
|
||||
updated_at: "desc"
|
||||
},
|
||||
include: {
|
||||
rechnung: true
|
||||
}
|
||||
},
|
||||
geg_nachweise_gewerbe: {
|
||||
orderBy: {
|
||||
updated_at: "desc"
|
||||
},
|
||||
include: {
|
||||
rechnung: true
|
||||
}
|
||||
},
|
||||
geg_nachweise_wohnen: {
|
||||
orderBy: {
|
||||
updated_at: "desc"
|
||||
},
|
||||
include: {
|
||||
rechnung: true
|
||||
}
|
||||
|
||||
@@ -1,80 +0,0 @@
|
||||
---
|
||||
import { API_ACCESS_TOKEN_COOKIE_NAME } from "#lib/constants";
|
||||
import { prisma, Enums } from "#lib/server/prisma";
|
||||
import { createCaller } from "src/astro-typesafe-api-caller";
|
||||
|
||||
const caller = createCaller(Astro)
|
||||
|
||||
const id = Astro.url.searchParams.get("id");
|
||||
|
||||
if (!id) {
|
||||
return Astro.redirect("/dashboard/objekte")
|
||||
}
|
||||
|
||||
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 objekte = await prisma.objekt.findFirst({
|
||||
where: user.rolle === Enums.BenutzerRolle.USER ? {
|
||||
benutzer: {
|
||||
id: user.id
|
||||
},
|
||||
} : {
|
||||
...(id ? {OR: [
|
||||
{
|
||||
aufnahmen: {
|
||||
every: {
|
||||
verbrauchsausweise_gewerbe: {
|
||||
some: {
|
||||
id
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
aufnahmen: {
|
||||
every: {
|
||||
verbrauchsausweise_wohnen: {
|
||||
some: {
|
||||
id
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
aufnahmen: {
|
||||
every: {
|
||||
bedarfsausweise_wohnen: {
|
||||
some: {
|
||||
id
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
},]} : {})
|
||||
},
|
||||
orderBy: {
|
||||
erstellungsdatum: "desc"
|
||||
},
|
||||
include: {
|
||||
aufnahmen: {
|
||||
include: {
|
||||
bilder: true,
|
||||
unterlagen: true,
|
||||
bedarfsausweise_wohnen: true,
|
||||
verbrauchsausweise_gewerbe: true,
|
||||
verbrauchsausweise_wohnen: true
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
---
|
||||
@@ -3,6 +3,7 @@ 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";
|
||||
import DashboardAufnahmeModule from "#modules/Dashboard/DashboardAufnahmeModule.svelte";
|
||||
|
||||
const params = Astro.params;
|
||||
|
||||
@@ -16,7 +17,7 @@ if (!user) {
|
||||
return Astro.redirect("/auth/login")
|
||||
}
|
||||
|
||||
const totalPages = await prisma.objekt.count({
|
||||
const totalPages = await prisma.aufnahme.count({
|
||||
where: user.rolle === Enums.BenutzerRolle.USER ? {
|
||||
benutzer: {
|
||||
id: user.id
|
||||
@@ -24,9 +25,9 @@ const totalPages = await prisma.objekt.count({
|
||||
} : {}
|
||||
})
|
||||
|
||||
let objekte = []
|
||||
let aufnahme;
|
||||
if (id) {
|
||||
objekte = await prisma.objekt.findMany({
|
||||
aufnahme = await prisma.aufnahme.findFirst({
|
||||
where: user.rolle === Enums.BenutzerRolle.USER ? {
|
||||
benutzer: {
|
||||
id: user.id
|
||||
@@ -35,42 +36,30 @@ if (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
|
||||
}
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
},]} : {})
|
||||
},
|
||||
@@ -78,21 +67,18 @@ if (id) {
|
||||
erstellungsdatum: "desc"
|
||||
},
|
||||
include: {
|
||||
aufnahmen: {
|
||||
include: {
|
||||
bilder: true,
|
||||
unterlagen: true,
|
||||
bedarfsausweise_wohnen: true,
|
||||
verbrauchsausweise_gewerbe: true,
|
||||
verbrauchsausweise_wohnen: true
|
||||
}
|
||||
}
|
||||
bilder: true,
|
||||
unterlagen: true,
|
||||
bedarfsausweise_wohnen: true,
|
||||
verbrauchsausweise_gewerbe: true,
|
||||
verbrauchsausweise_wohnen: true,
|
||||
objekt: true
|
||||
},
|
||||
take: 25,
|
||||
skip: (page - 1) * 25
|
||||
take: 1,
|
||||
skip: (page - 1)
|
||||
})
|
||||
} else {
|
||||
objekte = await prisma.objekt.findMany({
|
||||
aufnahme = await prisma.aufnahme.findFirst({
|
||||
where: user.rolle === Enums.BenutzerRolle.USER ? {
|
||||
benutzer: {
|
||||
id: user.id
|
||||
@@ -100,64 +86,52 @@ if (id) {
|
||||
} : {
|
||||
OR: [
|
||||
{
|
||||
aufnahmen: {
|
||||
every: {
|
||||
verbrauchsausweise_gewerbe: {
|
||||
some: {
|
||||
ausgestellt: false,
|
||||
bestellt: true
|
||||
}
|
||||
},
|
||||
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
|
||||
}
|
||||
}
|
||||
bilder: true,
|
||||
unterlagen: true,
|
||||
bedarfsausweise_wohnen: true,
|
||||
verbrauchsausweise_gewerbe: true,
|
||||
verbrauchsausweise_wohnen: true,
|
||||
objekt: true
|
||||
},
|
||||
take: 25,
|
||||
skip: (page - 1) * 25
|
||||
take: 1,
|
||||
skip: (page - 1)
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
<UserLayout title="Objekte" {user}>
|
||||
<DashboardModule {user} {objekte} totalPages={Math.ceil(totalPages / 25)} page={page} {id} client:load />
|
||||
<DashboardAufnahmeModule {user} {aufnahme} benutzer={user} objekt={aufnahme.objekt} client:load/>
|
||||
<!-- {!aufnahme ? <p>Keine weiteren Ausweise vorhanden.</p> : <DashboardAufnahmeModule {user} {aufnahme} benutzer={user} objekt={aufnahme.objekt} client:load/>} -->
|
||||
<!-- <DashboardModule {user} {objekte} totalPages={Math.ceil(totalPages / 25)} page={page} {id} client:load /> -->
|
||||
</UserLayout>
|
||||
Reference in New Issue
Block a user