// routes/api/onboarding-guest-start.ts import { define } from "../../utils.ts"; import type { Context } from "fresh"; import { startGuestOnboarding } from "../../services/onboardingService.ts"; import type { SessionCookie } from "../auth/callback.ts"; export const handler = define.handlers({ async POST(ctx: Context) { const stateData = ctx.state.data as SessionCookie; const userId = stateData?.user_id; if (!userId) { return new Response("Unauthorized", { status: 401 }); } const form = await ctx.req.formData(); const role = (form.get("role") || "").toString(); if (role !== "landlord" && role !== "tenant") { return new Response("Invalid role", { status: 400 }); } const result = await startGuestOnboarding(userId, role); return new Response( JSON.stringify({ nextUrl: result.nextUrl }), { status: 200, headers: { "Content-Type": "application/json", }, }, ); }, });