Files
harheimertc/server/api/auth/status.get.js

50 lines
1015 B
JavaScript

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
}
}
})