import { getUserFromToken, readUsers, writeUsers } from '../../../utils/auth.js' export default defineEventHandler(async (event) => { try { const token = getCookie(event, 'auth_token') const currentUser = await getUserFromToken(token) if (!currentUser || (currentUser.role !== 'admin' && currentUser.role !== 'vorstand')) { throw createError({ statusCode: 403, message: 'Zugriff verweigert' }) } const body = await readBody(event) const { userId, role } = body if (!['mitglied', 'vorstand', 'admin'].includes(role)) { throw createError({ statusCode: 400, message: 'Ungültige Rolle' }) } const users = await readUsers() const user = users.find(u => u.id === userId) if (!user) { throw createError({ statusCode: 404, message: 'Benutzer nicht gefunden' }) } user.role = role const updatedUsers = users.map(u => u.id === userId ? user : u) await writeUsers(updatedUsers) return { success: true, message: 'Rolle wurde aktualisiert' } } catch (error) { console.error('Fehler beim Aktualisieren der Rolle:', error) throw error } })