GEGNachweise
This commit is contained in:
@@ -8,29 +8,33 @@ import { getPrismaAusweisAdapter } from "#lib/server/ausweis";
|
||||
|
||||
const params = Astro.params;
|
||||
|
||||
const page = Number(params.page)
|
||||
const page = Number(params.page);
|
||||
|
||||
const id = Astro.url.searchParams.get("id") || undefined;
|
||||
|
||||
const user = await getCurrentUser(Astro)
|
||||
const user = await getCurrentUser(Astro);
|
||||
|
||||
if (!user) {
|
||||
return Astro.redirect("/auth/login")
|
||||
return Astro.redirect("/auth/login");
|
||||
}
|
||||
|
||||
const totalPageCount = await prisma.aufnahme.count({
|
||||
where: user.rolle === Enums.BenutzerRolle.USER ? {
|
||||
benutzer: {
|
||||
id: user.id
|
||||
}
|
||||
} : {}
|
||||
})
|
||||
where:
|
||||
user.rolle === Enums.BenutzerRolle.USER
|
||||
? {
|
||||
benutzer: {
|
||||
id: user.id,
|
||||
},
|
||||
}
|
||||
: {},
|
||||
});
|
||||
|
||||
if (page < 0 || page > totalPageCount) {
|
||||
return Astro.redirect("/dashboard/objekte/0")
|
||||
return Astro.redirect("/dashboard/objekte/0");
|
||||
}
|
||||
|
||||
let ausweis, result: { id: string, updated_at: Date }[] = [];
|
||||
let ausweis,
|
||||
result: { id: string; updated_at: Date }[] = [];
|
||||
// Wir fragen den neuesten Ausweis ab
|
||||
// Falls der Nutzer ein Admin ist dann kommt der ganz neueste ansonsten der neueste des eingeloggten Benutzers.
|
||||
if (user.rolle === Enums.BenutzerRolle.USER) {
|
||||
@@ -39,7 +43,7 @@ if (user.rolle === Enums.BenutzerRolle.USER) {
|
||||
ausweis = await adapter?.findUnique({
|
||||
where: {
|
||||
id,
|
||||
benutzer_id: user.id
|
||||
benutzer_id: user.id,
|
||||
},
|
||||
include: {
|
||||
rechnung: true,
|
||||
@@ -47,20 +51,27 @@ if (user.rolle === Enums.BenutzerRolle.USER) {
|
||||
include: {
|
||||
bilder: true,
|
||||
unterlagen: true,
|
||||
objekt: true
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
objekt: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
} else {
|
||||
result = await prisma.$queryRaw`SELECT id, updated_at FROM "VerbrauchsausweisWohnen" WHERE benutzer_id = ${user.id} UNION ALL SELECT id, updated_at FROM "VerbrauchsausweisGewerbe" WHERE benutzer_id = ${user.id} UNION ALL SELECT id, updated_at FROM "BedarfsausweisWohnen" WHERE benutzer_id = ${user.id} ORDER BY updated_at DESC LIMIT 1 OFFSET ${page}`;
|
||||
result =
|
||||
await prisma.$queryRaw`SELECT id, updated_at FROM "VerbrauchsausweisWohnen" WHERE benutzer_id = ${user.id} UNION ALL
|
||||
SELECT id, updated_at FROM "VerbrauchsausweisGewerbe" WHERE benutzer_id = ${user.id} UNION ALL
|
||||
SELECT id, updated_at FROM "BedarfsausweisWohnen" WHERE benutzer_id = ${user.id}
|
||||
SELECT id, updated_at FROM "BedarfsausweisGewerbe" WHERE benutzer_id = ${user.id} UNION ALL
|
||||
SELECT id, updated_at FROM "GEGNachweisWohnen" WHERE benutzer_id = ${user.id} UNION ALL
|
||||
SELECT id, updated_at FROM "GEGNachweisGewerbe" WHERE benutzer_id = ${user.id}
|
||||
ORDER BY updated_at DESC LIMIT 1 OFFSET ${page}`;
|
||||
}
|
||||
} else {
|
||||
if (id) {
|
||||
const adapter = getPrismaAusweisAdapter(id);
|
||||
ausweis = await adapter?.findUnique({
|
||||
where: {
|
||||
id
|
||||
id,
|
||||
},
|
||||
include: {
|
||||
rechnung: true,
|
||||
@@ -68,13 +79,20 @@ if (user.rolle === Enums.BenutzerRolle.USER) {
|
||||
include: {
|
||||
bilder: true,
|
||||
unterlagen: true,
|
||||
objekt: true
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
objekt: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
} else {
|
||||
result = await prisma.$queryRaw`SELECT id, updated_at FROM "VerbrauchsausweisWohnen" UNION ALL SELECT id, updated_at FROM "VerbrauchsausweisGewerbe" UNION ALL SELECT id, updated_at FROM "BedarfsausweisWohnen" ORDER BY updated_at DESC LIMIT 1 OFFSET ${page}`;
|
||||
result =
|
||||
await prisma.$queryRaw`SELECT id, updated_at FROM "VerbrauchsausweisWohnen" UNION ALL
|
||||
SELECT id, updated_at FROM "VerbrauchsausweisGewerbe" UNION ALL
|
||||
SELECT id, updated_at FROM "BedarfsausweisWohnen" UNION ALL
|
||||
SELECT id, updated_at FROM "BedarfsausweisGewerbe" UNION ALL
|
||||
SELECT id, updated_at FROM "GEGNachweisWohnen" UNION ALL
|
||||
SELECT id, updated_at FROM "GEGNachweisGewerbe"
|
||||
ORDER BY updated_at DESC LIMIT 1 OFFSET ${page}`;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -83,7 +101,7 @@ if (result.length > 0) {
|
||||
|
||||
ausweis = await adapter?.findUnique({
|
||||
where: {
|
||||
id: result[0].id
|
||||
id: result[0].id,
|
||||
},
|
||||
include: {
|
||||
rechnung: true,
|
||||
@@ -91,17 +109,22 @@ if (result.length > 0) {
|
||||
include: {
|
||||
bilder: true,
|
||||
unterlagen: true,
|
||||
objekt: true
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
objekt: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
---
|
||||
|
||||
<UserLayout title="Objekte" {user}>
|
||||
<DashboardAufnahmeModule {ausweis} benutzer={user} {totalPageCount} {page} client:load/>
|
||||
<DashboardAufnahmeModule
|
||||
{ausweis}
|
||||
benutzer={user}
|
||||
{totalPageCount}
|
||||
{page}
|
||||
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>
|
||||
</UserLayout>
|
||||
|
||||
Reference in New Issue
Block a user