/**
 * API endpoint para verificar el estado de autenticación en tiempo real
 * Consulta los headers inyectados por Authentik Proxy Outpost
 */
export default defineEventHandler((event) => {
  // Establecer headers para prevenir caching
  setResponseHeaders(event, {
    'Cache-Control': 'no-store, no-cache, must-revalidate, proxy-revalidate',
    'Pragma': 'no-cache',
    'Expires': '0'
  })

  // Leer headers de Authentik en tiempo real
  const headers = getHeaders(event)

  const username = headers['x-authentik-username']
  const email = headers['x-authentik-email']
  const name = headers['x-authentik-name']
  const groups = headers['x-authentik-groups']
  const uid = headers['x-authentik-uid']

  // Si no hay username, no hay sesión activa en Authentik
  if (!username) {
    return {
      authenticated: false,
      user: null,
      timestamp: new Date().toISOString()
    }
  }

  // Sesión activa
  return {
    authenticated: true,
    user: {
      username,
      email,
      name,
      groups: groups ? groups.split('|') : [],
      uid
    },
    timestamp: new Date().toISOString()
  }
})
