import { headers } from "next/headers"; import { auth } from "@/lib/auth"; import { prisma } from "@/lib/prisma"; import { siteSettings } from "@/lib/services/site-settings"; import { issueSsoTicket } from "@/lib/auth/sso-ticket"; export const dynamic = "force-dynamic"; export async function GET() { const session = await auth(); if (!session?.user?.id) { return new Response(JSON.stringify({ error: "Unauthorized" }), { status: 401 }); } const userId = Number(session.user.id); const [hotelName, clientUrl] = await Promise.all([ siteSettings.get("hotel_name", "Atom"), siteSettings.get("nitro_client_url", ""), ]); const hdrs = await headers(); const ip = hdrs.get("x-forwarded-for")?.split(",")[0]?.trim() ?? hdrs.get("x-real-ip") ?? "0.0.0.0"; const ticket = await issueSsoTicket(prisma, userId, hotelName ?? "Atom", ip); return Response.json({ ticket, hotelName: hotelName ?? "Atom", clientUrl }); }