since3-portal/app/admin/clients/[id]/layout.tsx
2026-09-29 13:05:38 +02:00

28 lines
750 B
TypeScript

import { notFound, redirect } from "next/navigation";
import { createAdminClient } from "@/lib/supabase/admin";
import { verifySession } from "@/lib/supabase/dal";
import { Params } from "@/modules/shared/types/user";
export default async function ClientDetailLayout({
children,
params,
}: {
children: React.ReactNode;
params: Params;
}) {
const session = await verifySession();
if (!session.isAdmin) redirect("/client/dashboard");
const { id } = await params;
const supabase = createAdminClient();
const { data: client } = await supabase
.from("profiles")
.select("id")
.eq("id", id)
.eq("role", "client")
.single();
if (!client) notFound();
return children;
}