import { processPendingMailboxMessageMoveJobs } from "@/lib/official-mail";

function isAuthorized(request: Request) {
  const expected = process.env.OFFICIAL_MAIL_CRON_SECRET?.trim();
  return Boolean(expected && request.headers.get("x-officialmail-cron-secret")?.trim() === expected);
}

export async function POST(request: Request) {
  if (!isAuthorized(request)) {
    return Response.json({ error: "unauthorized", ok: false }, { status: 401 });
  }

  try {
    const summary = await processPendingMailboxMessageMoveJobs({ limit: 20 });
    return Response.json({ ok: true, summary });
  } catch (error) {
    return Response.json(
      {
        error: error instanceof Error ? error.message : "move-job-run-failed",
        ok: false
      },
      { status: 500 }
    );
  }
}
