| import { createServerClient } from "@supabase/ssr"; | |
| import { cookies } from "next/headers"; | |
| import { NextResponse } from "next/server"; | |
| export async function GET() { | |
| 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(); | |
| }, | |
| setAll() { | |
| // Read-only in route handlers | |
| }, | |
| }, | |
| } | |
| ); | |
| const { data: { user } } = await supabase.auth.getUser(); | |
| if (!user) { | |
| return NextResponse.json({ ok: false, error: "Unauthorized" }, { status: 401 }); | |
| } | |
| // Check if user is superuser | |
| const { data: member } = await supabase | |
| .from("members") | |
| .select("is_superuser") | |
| .eq("user_id", user.id) | |
| .single(); | |
| if (!member?.is_superuser) { | |
| return NextResponse.json({ ok: false, error: "Forbidden" }, { status: 403 }); | |
| } | |
| return NextResponse.json({ ok: true, data: { isAdmin: true } }); | |
| } | |