import { getUserFromToken } from '../../utils/auth.js'

export default defineEventHandler(async (event) => {
  try {
    const token = getCookie(event, 'auth_token')

    if (!token) {
      return {
        isLoggedIn: false,
        user: null,
        role: null
      }
    }

    const user = await getUserFromToken(token)

    if (!user) {
      deleteCookie(event, 'auth_token')
      return {
        isLoggedIn: false,
        user: null,
        role: null
      }
    }

    const roles = Array.isArray(user.roles) ? user.roles : (user.role ? [user.role] : ['mitglied'])
    
    return {
      isLoggedIn: true,
      user: {
        id: user.id,
        email: user.email,
        name: user.name,
        roles: roles
      },
      roles: roles,
      // Rückwärtskompatibilität: erste Rolle als role
      role: roles[0] || 'mitglied'
    }
  } catch (error) {
    console.error('Auth-Status-Fehler:', error)
    return {
      isLoggedIn: false,
      user: null,
      role: null
    }
  }
})

