import { requireManagementAuth } from "@/lib/api/requireManagementAuth"; import { createPendingCommandCodeAuthSession } from "@/lib/db/commandCodeAuth"; import { buildCommandCodeCliCallbackUrl, COMMAND_CODE_AUTH_TTL_MS, COMMAND_CODE_STUDIO_AUTH_URL, generateCommandCodeState, noStoreJson, stateHashFromState, } from "../shared"; export async function POST(request: Request) { const authError = await requireManagementAuth(request); if (authError) return authError; const state = generateCommandCodeState(); const expiresAt = new Date(Date.now() + COMMAND_CODE_AUTH_TTL_MS).toISOString(); const stateHash = stateHashFromState(state); createPendingCommandCodeAuthSession({ stateHash, expiresAt }); const callbackUrl = buildCommandCodeCliCallbackUrl(); const authUrl = `${COMMAND_CODE_STUDIO_AUTH_URL}?callback=${encodeURIComponent( callbackUrl )}&state=${encodeURIComponent(state)}`; return noStoreJson({ state, authUrl, callbackUrl, expiresAt, mode: "manual" }); }