Files
online-energieausweis/src/pages/dashboard/admin/impersonate-user.astro
2025-04-09 19:25:21 -04:00

33 lines
989 B
Plaintext

---
import DashboardLayout from "#layouts/DashboardLayout.astro";
import UserLayout from "#layouts/DashboardLayout.astro";
import { API_ACCESS_TOKEN_COOKIE_NAME } from "#lib/constants";
import { Enums, prisma } from "#lib/server/prisma";
import { createCaller } from "src/astro-typesafe-api-caller";
import DashboardModule from "#modules/Dashboard/DashboardModule.svelte";
import ImpersonateUserModule from "#modules/ImpersonateUserModule.svelte";
const caller = createCaller(Astro)
const params = Astro.params;
const page = Number(params.page)
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")
}
if (user.rolle !== Enums.BenutzerRolle.ADMIN) {
return Astro.redirect("/dashboard")
}
---
<DashboardLayout title="Impersonate User" {user}>
<ImpersonateUserModule client:load></ImpersonateUserModule>
</DashboardLayout>