30 lines
755 B
TypeScript
30 lines
755 B
TypeScript
import type { LayoutServerLoad } from "./$types";
|
|
|
|
export const load: LayoutServerLoad = async ({
|
|
locals: { safeGetSession, supabase },
|
|
cookies,
|
|
depends
|
|
}) => {
|
|
depends("supabase:auth");
|
|
const { session } = await safeGetSession();
|
|
let adminMode = false;
|
|
if (session) {
|
|
const { data: userData, error: userError } = await supabase
|
|
.from("users")
|
|
.select("*")
|
|
.eq("id", session.user.id)
|
|
.single();
|
|
if (userError) {
|
|
console.error("Failed to fetch user data:", userError);
|
|
}
|
|
if (userData?.is_admin) {
|
|
adminMode = true;
|
|
}
|
|
}
|
|
return {
|
|
session,
|
|
adminMode,
|
|
cookies: cookies.getAll()
|
|
};
|
|
};
|