Benutzer Rolle Fix
This commit is contained in:
@@ -12,11 +12,11 @@ export const createCaller = createCallerFactory({
|
|||||||
"admin/nicht-ausstellen": await import("../src/pages/api/admin/nicht-ausstellen.ts"),
|
"admin/nicht-ausstellen": await import("../src/pages/api/admin/nicht-ausstellen.ts"),
|
||||||
"admin/registriernummer": await import("../src/pages/api/admin/registriernummer.ts"),
|
"admin/registriernummer": await import("../src/pages/api/admin/registriernummer.ts"),
|
||||||
"admin/stornieren": await import("../src/pages/api/admin/stornieren.ts"),
|
"admin/stornieren": await import("../src/pages/api/admin/stornieren.ts"),
|
||||||
"ausweise": await import("../src/pages/api/ausweise/index.ts"),
|
|
||||||
"aufnahme": await import("../src/pages/api/aufnahme/index.ts"),
|
|
||||||
"auth/access-token": await import("../src/pages/api/auth/access-token.ts"),
|
"auth/access-token": await import("../src/pages/api/auth/access-token.ts"),
|
||||||
"auth/passwort-vergessen": await import("../src/pages/api/auth/passwort-vergessen.ts"),
|
"auth/passwort-vergessen": await import("../src/pages/api/auth/passwort-vergessen.ts"),
|
||||||
"auth/refresh-token": await import("../src/pages/api/auth/refresh-token.ts"),
|
"auth/refresh-token": await import("../src/pages/api/auth/refresh-token.ts"),
|
||||||
|
"ausweise": await import("../src/pages/api/ausweise/index.ts"),
|
||||||
|
"aufnahme": await import("../src/pages/api/aufnahme/index.ts"),
|
||||||
"bedarfsausweis-gewerbe/[id]": await import("../src/pages/api/bedarfsausweis-gewerbe/[id].ts"),
|
"bedarfsausweis-gewerbe/[id]": await import("../src/pages/api/bedarfsausweis-gewerbe/[id].ts"),
|
||||||
"bedarfsausweis-gewerbe": await import("../src/pages/api/bedarfsausweis-gewerbe/index.ts"),
|
"bedarfsausweis-gewerbe": await import("../src/pages/api/bedarfsausweis-gewerbe/index.ts"),
|
||||||
"bedarfsausweis-wohnen/[id]": await import("../src/pages/api/bedarfsausweis-wohnen/[id].ts"),
|
"bedarfsausweis-wohnen/[id]": await import("../src/pages/api/bedarfsausweis-wohnen/[id].ts"),
|
||||||
@@ -31,10 +31,10 @@ export const createCaller = createCallerFactory({
|
|||||||
"rechnung/anfordern": await import("../src/pages/api/rechnung/anfordern.ts"),
|
"rechnung/anfordern": await import("../src/pages/api/rechnung/anfordern.ts"),
|
||||||
"rechnung": await import("../src/pages/api/rechnung/index.ts"),
|
"rechnung": await import("../src/pages/api/rechnung/index.ts"),
|
||||||
"ticket": await import("../src/pages/api/ticket/index.ts"),
|
"ticket": await import("../src/pages/api/ticket/index.ts"),
|
||||||
"user": await import("../src/pages/api/user/index.ts"),
|
|
||||||
"user/self": await import("../src/pages/api/user/self.ts"),
|
|
||||||
"verbrauchsausweis-gewerbe/[id]": await import("../src/pages/api/verbrauchsausweis-gewerbe/[id].ts"),
|
"verbrauchsausweis-gewerbe/[id]": await import("../src/pages/api/verbrauchsausweis-gewerbe/[id].ts"),
|
||||||
"verbrauchsausweis-gewerbe": await import("../src/pages/api/verbrauchsausweis-gewerbe/index.ts"),
|
"verbrauchsausweis-gewerbe": await import("../src/pages/api/verbrauchsausweis-gewerbe/index.ts"),
|
||||||
|
"user": await import("../src/pages/api/user/index.ts"),
|
||||||
|
"user/self": await import("../src/pages/api/user/self.ts"),
|
||||||
"verbrauchsausweis-wohnen/[id]": await import("../src/pages/api/verbrauchsausweis-wohnen/[id].ts"),
|
"verbrauchsausweis-wohnen/[id]": await import("../src/pages/api/verbrauchsausweis-wohnen/[id].ts"),
|
||||||
"verbrauchsausweis-wohnen": await import("../src/pages/api/verbrauchsausweis-wohnen/index.ts"),
|
"verbrauchsausweis-wohnen": await import("../src/pages/api/verbrauchsausweis-wohnen/index.ts"),
|
||||||
"webhooks/mollie": await import("../src/pages/api/webhooks/mollie.ts"),
|
"webhooks/mollie": await import("../src/pages/api/webhooks/mollie.ts"),
|
||||||
|
|||||||
@@ -64,7 +64,7 @@ export const GET = defineApiRoute({
|
|||||||
const { id } = ctx.params;
|
const { id } = ctx.params;
|
||||||
|
|
||||||
const aufnahme = await prisma.aufnahme.findUnique({
|
const aufnahme = await prisma.aufnahme.findUnique({
|
||||||
where: user.rolle === Enums.BenutzerRolle.USER ? {
|
where: user.rolle !== Enums.BenutzerRolle.ADMIN ? {
|
||||||
id,
|
id,
|
||||||
benutzer_id: user.id
|
benutzer_id: user.id
|
||||||
} : { id },
|
} : { id },
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ export const GET = defineApiRoute({
|
|||||||
const { id } = context.params;
|
const { id } = context.params;
|
||||||
|
|
||||||
const aufnahme = await prisma.aufnahme.findUnique({
|
const aufnahme = await prisma.aufnahme.findUnique({
|
||||||
where: user.rolle === Enums.BenutzerRolle.USER ? {
|
where: user.rolle !== Enums.BenutzerRolle.ADMIN ? {
|
||||||
id,
|
id,
|
||||||
benutzer_id: user.id
|
benutzer_id: user.id
|
||||||
} : { id },
|
} : { id },
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ export const PATCH = defineApiRoute({
|
|||||||
data: input
|
data: input
|
||||||
})
|
})
|
||||||
|
|
||||||
if (user.rolle === Enums.BenutzerRolle.USER) {
|
if (user.rolle !== Enums.BenutzerRolle.ADMIN) {
|
||||||
await sendAusweisGespeichertMail(user, ctx.params.id as string)
|
await sendAusweisGespeichertMail(user, ctx.params.id as string)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ export const PUT = defineApiRoute({
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
if (user.rolle === Enums.BenutzerRolle.USER) {
|
if (user.rolle !== Enums.BenutzerRolle.ADMIN) {
|
||||||
await sendAusweisGespeichertMail(user, id)
|
await sendAusweisGespeichertMail(user, id)
|
||||||
}
|
}
|
||||||
return nachweis.id
|
return nachweis.id
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ export const PATCH = defineApiRoute({
|
|||||||
},
|
},
|
||||||
data: input
|
data: input
|
||||||
})
|
})
|
||||||
if (user.rolle === Enums.BenutzerRolle.USER) {
|
if (user.rolle !== Enums.BenutzerRolle.ADMIN) {
|
||||||
await sendAusweisGespeichertMail(user, ctx.params.id as string)
|
await sendAusweisGespeichertMail(user, ctx.params.id as string)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ export const PUT = defineApiRoute({
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
if (user.rolle === Enums.BenutzerRolle.USER) {
|
if (user.rolle !== Enums.BenutzerRolle.ADMIN) {
|
||||||
await sendAusweisGespeichertMail(user, id)
|
await sendAusweisGespeichertMail(user, id)
|
||||||
}
|
}
|
||||||
return id;
|
return id;
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ export const PATCH = defineApiRoute({
|
|||||||
},
|
},
|
||||||
data: input
|
data: input
|
||||||
})
|
})
|
||||||
if (user.rolle === Enums.BenutzerRolle.USER) {
|
if (user.rolle !== Enums.BenutzerRolle.ADMIN) {
|
||||||
await sendAusweisGespeichertMail(user, ctx.params.id as string)
|
await sendAusweisGespeichertMail(user, ctx.params.id as string)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -83,7 +83,7 @@ export const PUT = defineApiRoute({
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
if (user.rolle === Enums.BenutzerRolle.USER) {
|
if (user.rolle !== Enums.BenutzerRolle.ADMIN) {
|
||||||
await sendAusweisGespeichertMail(user, id)
|
await sendAusweisGespeichertMail(user, id)
|
||||||
}
|
}
|
||||||
return {
|
return {
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ export const PATCH = defineApiRoute({
|
|||||||
},
|
},
|
||||||
data: input
|
data: input
|
||||||
})
|
})
|
||||||
if (user.rolle === Enums.BenutzerRolle.USER) {
|
if (user.rolle !== Enums.BenutzerRolle.ADMIN) {
|
||||||
await sendAusweisGespeichertMail(user, ctx.params.id as string)
|
await sendAusweisGespeichertMail(user, ctx.params.id as string)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -83,7 +83,7 @@ export const PUT = defineApiRoute({
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
if (user.rolle === Enums.BenutzerRolle.USER) {
|
if (user.rolle !== Enums.BenutzerRolle.ADMIN) {
|
||||||
await sendAusweisGespeichertMail(user, id)
|
await sendAusweisGespeichertMail(user, id)
|
||||||
}
|
}
|
||||||
return {
|
return {
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ export const GET = defineApiRoute({
|
|||||||
const { id } = ctx.params;
|
const { id } = ctx.params;
|
||||||
|
|
||||||
const objekt = await prisma.objekt.findUnique({
|
const objekt = await prisma.objekt.findUnique({
|
||||||
where: user.rolle === Enums.BenutzerRolle.USER ? {
|
where: user.rolle !== Enums.BenutzerRolle.ADMIN ? {
|
||||||
id,
|
id,
|
||||||
benutzer_id: user.id
|
benutzer_id: user.id
|
||||||
} : { id },
|
} : { id },
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ export const PATCH = defineApiRoute({
|
|||||||
data: input
|
data: input
|
||||||
})
|
})
|
||||||
|
|
||||||
if (user.rolle === Enums.BenutzerRolle.USER) {
|
if (user.rolle !== Enums.BenutzerRolle.ADMIN) {
|
||||||
await sendAusweisGespeichertMail(user, ctx.params.id as string)
|
await sendAusweisGespeichertMail(user, ctx.params.id as string)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -173,7 +173,7 @@ export const GET = defineApiRoute({
|
|||||||
}
|
}
|
||||||
|
|
||||||
const ausweis = await prisma.verbrauchsausweisGewerbe.findUnique({
|
const ausweis = await prisma.verbrauchsausweisGewerbe.findUnique({
|
||||||
where: user.rolle === Enums.BenutzerRolle.USER ? {
|
where: user.rolle !== Enums.BenutzerRolle.ADMIN ? {
|
||||||
id,
|
id,
|
||||||
benutzer_id: user.id
|
benutzer_id: user.id
|
||||||
} : { id },
|
} : { id },
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ export const PATCH = defineApiRoute({
|
|||||||
data: input
|
data: input
|
||||||
})
|
})
|
||||||
|
|
||||||
if (user.rolle === Enums.BenutzerRolle.USER) {
|
if (user.rolle !== Enums.BenutzerRolle.ADMIN) {
|
||||||
await sendAusweisGespeichertMail(user, ctx.params.id as string)
|
await sendAusweisGespeichertMail(user, ctx.params.id as string)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -174,7 +174,7 @@ export const GET = defineApiRoute({
|
|||||||
}
|
}
|
||||||
|
|
||||||
const ausweis = await prisma.verbrauchsausweisWohnen.findUnique({
|
const ausweis = await prisma.verbrauchsausweisWohnen.findUnique({
|
||||||
where: user.rolle === Enums.BenutzerRolle.USER ? {
|
where: user.rolle !== Enums.BenutzerRolle.ADMIN ? {
|
||||||
id,
|
id,
|
||||||
benutzer_id: user.id
|
benutzer_id: user.id
|
||||||
} : { id },
|
} : { id },
|
||||||
|
|||||||
@@ -103,7 +103,7 @@ export const PUT = defineApiRoute({
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
if (user.rolle === Enums.BenutzerRolle.USER) {
|
if (user.rolle !== Enums.BenutzerRolle.ADMIN) {
|
||||||
await sendAusweisGespeichertMail(user, id);
|
await sendAusweisGespeichertMail(user, id);
|
||||||
}
|
}
|
||||||
return {
|
return {
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ if (!user) {
|
|||||||
|
|
||||||
|
|
||||||
const aufnahme = await prisma.aufnahme.findUnique({
|
const aufnahme = await prisma.aufnahme.findUnique({
|
||||||
where: user.rolle === Enums.BenutzerRolle.USER ? {
|
where: user.rolle !== Enums.BenutzerRolle.ADMIN ? {
|
||||||
benutzer: {
|
benutzer: {
|
||||||
id: user.id
|
id: user.id
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ if (!user) {
|
|||||||
|
|
||||||
const totalPageCount = await prisma.aufnahme.count({
|
const totalPageCount = await prisma.aufnahme.count({
|
||||||
where:
|
where:
|
||||||
user.rolle === Enums.BenutzerRolle.USER
|
user.rolle !== Enums.BenutzerRolle.ADMIN
|
||||||
? {
|
? {
|
||||||
benutzer: {
|
benutzer: {
|
||||||
id: user.id,
|
id: user.id,
|
||||||
@@ -27,7 +27,7 @@ const totalPageCount = await prisma.aufnahme.count({
|
|||||||
let ausweis;
|
let ausweis;
|
||||||
// Wir fragen den neuesten Ausweis ab
|
// Wir fragen den neuesten Ausweis ab
|
||||||
// Falls der Nutzer ein Admin ist dann kommt der ganz neueste ansonsten der neueste des eingeloggten Benutzers.
|
// Falls der Nutzer ein Admin ist dann kommt der ganz neueste ansonsten der neueste des eingeloggten Benutzers.
|
||||||
if (user.rolle === Enums.BenutzerRolle.USER) {
|
if (user.rolle !== Enums.BenutzerRolle.ADMIN) {
|
||||||
const adapter = getPrismaAusweisAdapter(id);
|
const adapter = getPrismaAusweisAdapter(id);
|
||||||
ausweis = await adapter?.findUnique({
|
ausweis = await adapter?.findUnique({
|
||||||
where: {
|
where: {
|
||||||
|
|||||||
@@ -2,20 +2,18 @@
|
|||||||
import { Enums, prisma } from "#lib/server/prisma";
|
import { Enums, prisma } from "#lib/server/prisma";
|
||||||
import UserLayout from "#layouts/DashboardLayout.astro";
|
import UserLayout from "#layouts/DashboardLayout.astro";
|
||||||
import { getCurrentUser } from "#lib/server/user";
|
import { getCurrentUser } from "#lib/server/user";
|
||||||
import moment from "moment";
|
|
||||||
|
|
||||||
const page = Number(Astro.url.searchParams.get("p"));
|
const page = Number(Astro.url.searchParams.get("p"));
|
||||||
|
|
||||||
const user = await getCurrentUser(Astro);
|
const user = await getCurrentUser(Astro);
|
||||||
|
|
||||||
|
|
||||||
if (!user) {
|
if (!user) {
|
||||||
return Astro.redirect("/auth/login");
|
return Astro.redirect("/auth/login");
|
||||||
}
|
}
|
||||||
|
|
||||||
const totalPageCount = await prisma.aufnahme.count({
|
const totalPageCount = await prisma.aufnahme.count({
|
||||||
where:
|
where:
|
||||||
user.rolle === Enums.BenutzerRolle.USER
|
user.rolle !== Enums.BenutzerRolle.ADMIN || Enums.BenutzerRolle.RESELLER
|
||||||
? {
|
? {
|
||||||
benutzer: {
|
benutzer: {
|
||||||
id: user.id,
|
id: user.id,
|
||||||
@@ -24,14 +22,16 @@ const totalPageCount = await prisma.aufnahme.count({
|
|||||||
: {},
|
: {},
|
||||||
});
|
});
|
||||||
|
|
||||||
if (page < 1 || page > totalPageCount) {
|
if ((page < 1 || page > totalPageCount) && totalPageCount > 0) {
|
||||||
return Astro.redirect("/dashboard/objekte?p=1");
|
return Astro.redirect("/dashboard/objekte?p=1");
|
||||||
|
} else if (totalPageCount === 0) {
|
||||||
|
return Astro.redirect("/dashboard/objekte/leer");
|
||||||
}
|
}
|
||||||
|
|
||||||
let result: { id: string; updated_at: Date }[] = [];
|
let result: { id: string; updated_at: Date }[] = [];
|
||||||
// Wir fragen den neuesten Ausweis ab
|
// Wir fragen den neuesten Ausweis ab
|
||||||
// Falls der Nutzer ein Admin ist dann kommt der ganz neueste ansonsten der neueste des eingeloggten Benutzers.
|
// Falls der Nutzer ein Admin ist dann kommt der ganz neueste ansonsten der neueste des eingeloggten Benutzers.
|
||||||
if (user.rolle === Enums.BenutzerRolle.USER) {
|
if (user.rolle !== Enums.BenutzerRolle.ADMIN || user.rolle === Enums.BenutzerRolle.RESELLER) {
|
||||||
result =
|
result =
|
||||||
await prisma.$queryRaw`SELECT id, updated_at FROM "VerbrauchsausweisWohnen" WHERE benutzer_id = ${user.id} UNION ALL
|
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 "VerbrauchsausweisGewerbe" WHERE benutzer_id = ${user.id} UNION ALL
|
||||||
@@ -41,15 +41,6 @@ if (user.rolle === Enums.BenutzerRolle.USER) {
|
|||||||
SELECT id, updated_at FROM "GEGNachweisGewerbe" WHERE benutzer_id = ${user.id}
|
SELECT id, updated_at FROM "GEGNachweisGewerbe" WHERE benutzer_id = ${user.id}
|
||||||
ORDER BY updated_at DESC LIMIT 1 OFFSET ${page - 1}`;
|
ORDER BY updated_at DESC LIMIT 1 OFFSET ${page - 1}`;
|
||||||
} else {
|
} else {
|
||||||
const date = moment().subtract(2, "hours").toDate()
|
|
||||||
|
|
||||||
// SELECT id, updated_at FROM "VerbrauchsausweisWohnen" WHERE created_at >= ${date} AND bestellt = ${true} UNION ALL
|
|
||||||
// SELECT id, updated_at FROM "VerbrauchsausweisGewerbe" WHERE created_at >= ${date} AND bestellt = ${true} UNION ALL
|
|
||||||
// SELECT id, updated_at FROM "BedarfsausweisWohnen" WHERE created_at >= ${date} AND bestellt = ${true} UNION ALL
|
|
||||||
// SELECT id, updated_at FROM "BedarfsausweisGewerbe" WHERE created_at >= ${date} AND bestellt = ${true} UNION ALL
|
|
||||||
// SELECT id, updated_at FROM "GEGNachweisWohnen" WHERE created_at >= ${date} AND bestellt = ${true} UNION ALL
|
|
||||||
// SELECT id, updated_at FROM "GEGNachweisGewerbe" WHERE created_at >= ${date} AND bestellt = ${true}
|
|
||||||
|
|
||||||
result =
|
result =
|
||||||
await prisma.$queryRaw`SELECT id, updated_at FROM "VerbrauchsausweisWohnen" WHERE ausgestellt = ${false} AND bestellt = ${true} UNION ALL
|
await prisma.$queryRaw`SELECT id, updated_at FROM "VerbrauchsausweisWohnen" WHERE ausgestellt = ${false} AND bestellt = ${true} UNION ALL
|
||||||
SELECT id, updated_at FROM "VerbrauchsausweisGewerbe" WHERE ausgestellt = ${false} AND bestellt = ${true} UNION ALL
|
SELECT id, updated_at FROM "VerbrauchsausweisGewerbe" WHERE ausgestellt = ${false} AND bestellt = ${true} UNION ALL
|
||||||
|
|||||||
15
src/pages/dashboard/objekte/leer.astro
Normal file
15
src/pages/dashboard/objekte/leer.astro
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
---
|
||||||
|
import DashboardLayout from "#layouts/DashboardLayout.astro";
|
||||||
|
import { getCurrentUser } from "#lib/server/user";
|
||||||
|
|
||||||
|
const user = await getCurrentUser(Astro);
|
||||||
|
|
||||||
|
if (!user) {
|
||||||
|
return Astro.redirect("/auth/login");
|
||||||
|
}
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<DashboardLayout title="Objekte" user={user} besteller={null}>
|
||||||
|
<p>Sie haben bisher keine Ausweise erstellt. Klicken sie <a href="/energieausweis-erstellen/verbrauchsausweis-wohngebaeude/">hier</a>, um einen neuen Ausweis zu erstellen.</p>
|
||||||
|
</DashboardLayout>
|
||||||
Reference in New Issue
Block a user