import { authenticateRelayNode, consumePhoneHandoffForRelay, } from "@/db/relay-control-plane"; import { apiError, readJsonMutation } from "../../../respond"; export async function POST(request: Request) { try { const principal = await authenticateRelayNode(request); const payload = await readJsonMutation<{ ticket?: string; pwa_origin?: string; name?: string; phone_ed25519_public?: string; phone_x25519_public?: string; identity_fingerprint?: string; }>(request); return Response.json(await consumePhoneHandoffForRelay({ principal, ticket: payload.ticket ?? "", pwaOrigin: payload.pwa_origin ?? "", name: payload.name ?? "", phoneEd25519Public: payload.phone_ed25519_public ?? "", phoneX25519Public: payload.phone_x25519_public ?? "", identityFingerprint: payload.identity_fingerprint ?? "", }), { headers: { "cache-control": "no-store" } }); } catch (error) { return apiError(error); } }