integratedhub/routes/api/onboarding-guest-start.ts
2026-02-14 02:20:19 +00:00

35 lines
943 B
TypeScript

// routes/api/onboarding-guest-start.ts
import { define } from "../../utils.ts";
import { startGuestOnboarding } from "../../services/onboardingService.ts";
import type { SessionCookie } from "../auth/callback.ts";
export const handler = define.handlers({
async POST(ctx) {
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",
},
},
);
},
});