Files
nekonest-cloud/app/api/internal/relay/consume-phone-handoff/route.ts
T

31 lines
1005 B
TypeScript

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);
}
}