import { NextResponse } from 'next/server'
import { getSession } from '@/lib/session'
import { routing } from '@/i18n/routing'

/**
 * Cierra la sesión y redirige al inicio del idioma. Es una ruta visitable
 * (/es/log-out, /en/log-out): destruye la cookie de sesión y manda a «/{locale}».
 *
 * Se usa un `Location` RELATIVO (no `request.url`): detrás del proxy inverso
 * (Caddy) `request.url` trae la dirección interna (localhost:3001), lo que hacía
 * que el redirect apuntara a localhost. Con una ruta relativa el navegador la
 * resuelve contra el dominio público real.
 */
export async function GET(_request: Request, { params }: { params: Promise<{ locale: string }> }) {
  const { locale } = await params
  const loc = routing.locales.includes(locale as (typeof routing.locales)[number]) ? locale : routing.defaultLocale

  const session = await getSession()
  session.destroy()

  // La raíz de idioma es canónica CON barra (/es/); el resto de rutas sin barra.
  return new NextResponse(null, { status: 303, headers: { Location: `/${loc}/` } })
}
