import { getSessionUser } from "@/lib/auth";
import { syncGoogleSearchConsolePerformance } from "@/lib/google-search-console";
import { isKavenixAdminEmail } from "@/lib/kavenix-admin";

export const runtime = "nodejs";
export const dynamic = "force-dynamic";

export async function POST() {
  const user = await getSessionUser();

  if (!user || !isKavenixAdminEmail(user.email)) {
    return Response.json({ error: "forbidden" }, { status: 403 });
  }

  try {
    return Response.json({ ok: true, result: await syncGoogleSearchConsolePerformance() });
  } catch (error) {
    return Response.json(
      {
        error: "google-search-console-sync-failed",
        message: error instanceof Error ? error.message : "Search Console 동기화에 실패했습니다.",
      },
      { status: 500 },
    );
  }
}
