import { NextResponse } from "next/server" import { cookies, headers } from "next/headers" import { ADMIN_SESSION_COOKIE, destroyAdminSession, } from "@/lib/server/admin-auth" export async function POST(request: Request) { const cookieStore = await cookies() const rawToken = cookieStore.get(ADMIN_SESSION_COOKIE)?.value || null await destroyAdminSession(rawToken) const response = NextResponse.redirect( new URL("/sign-in", await getPublicOrigin(request)) ) response.cookies.set(ADMIN_SESSION_COOKIE, "", { httpOnly: true, sameSite: "lax", secure: true, path: "/", expires: new Date(0), }) return response } async function getPublicOrigin(request: Request) { const headerStore = await headers() const forwardedProto = headerStore.get("x-forwarded-proto") const forwardedHost = headerStore.get("x-forwarded-host") const host = forwardedHost || headerStore.get("host") if (host) { return `${forwardedProto || "https"}://${host}` } return new URL(request.url).origin }