Files
harheimertc/server/api/auth/status.get.js
Torsten Schulz (local) 7e0c92368e
Some checks failed
Code Analysis and Production Deploy / analyze (push) Failing after 2m22s
Code Analysis and Production Deploy / deploy-production (push) Has been skipped
Code Analysis and Production Deploy / deploy-test (push) Has been skipped
Android-Umsetzung der Homepage
2026-05-27 17:54:24 +02:00

49 lines
1.1 KiB
JavaScript

import { getUserFromToken } from '../../utils/auth.js'
export default defineEventHandler(async (event) => {
try {
const token = getCookie(event, 'auth_token') || getHeader(event, 'authorization')?.replace(/^Bearer\s+/i, '')
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
}
}
})