import { NextResponse } from "next/server";
import { logApiError } from "@/lib/api/security";
import { createRouteClient } from "@/lib/supabase/route";
import { syncOrganizationAccessForUser } from "@/lib/organization-auth";

export async function POST() {
  try {
    const supabase = await createRouteClient();
    const {
      data: { user },
    } = await supabase.auth.getUser();

    if (!user) {
      return NextResponse.json({ error: "Unauthorized" }, { status: 401 });
    }

    const result = await syncOrganizationAccessForUser({
      userId: user.id,
      email: user.email,
    });

    return NextResponse.json(result);
  } catch (error) {
    logApiError("Auth sync-access error", error);
    return NextResponse.json({ error: "Failed to sync organization access" }, { status: 500 });
  }
}
