// middleware/admin-auth.ts
//
// Nuxt-Route-Middleware -- prueft ob Supabase-Session aktiv ist.
// Wird in definePageMeta({ middleware: 'admin-auth' }) in jeder geschuetzten Page verwendet.
//
// Phase 3: Middleware soll zusaetzlich via useAdminAuth().verifyAdminRole() pruefen,
// ob der eingeloggte User tatsaechlich in der admin_users-Tabelle steht.
// Aktuell genuegt der Supabase-Session-Check als Placeholder.

export default defineNuxtRouteMiddleware((_to, _from) => {
  const user = useSupabaseUser()

  // Kein User -> Login-Redirect
  if (!user.value) {
    return navigateTo("/login")
  }

  // Phase 3 TODO: hier verifyAdminRole() aufrufen (server-side in defineNuxtRouteMiddleware via useRequestEvent).
  // Solange Phase 3 nicht done: jeder eingeloggte Supabase-User kann rein.
  // Das ist akzeptabel weil Admin-App-URL nicht public ist (kein indexierter Link, interne Verteilung).
  // Echte Absicherung kommt mit requireAdmin-Backend-Middleware.
})
