18 lines
584 B
TypeScript
Executable File
18 lines
584 B
TypeScript
Executable File
import { createServerClient } from "@supabase/ssr";
|
|
import { cookies } from "next/headers";
|
|
import { db } from "@/lib/prisma";
|
|
|
|
export async function requireUser() {
|
|
const cookieStore = await cookies();
|
|
const supabase = createServerClient(
|
|
process.env.NEXT_PUBLIC_SUPABASE_URL!,
|
|
process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY!,
|
|
{ cookies: { getAll() { return cookieStore.getAll() } } }
|
|
);
|
|
|
|
const { data: { user } } = await supabase.auth.getUser();
|
|
if (!user) return null;
|
|
|
|
const profile = await db.profile.findUnique({ where: { id: user.id } });
|
|
return profile;
|
|
} |