- Implemented CmsViewModel to manage CMS data loading and state. - Created MemberAreaDetailScreens for displaying member information and news. - Added MembersViewModel and MemberNewsViewModel for managing member data and news. - Developed MemberAreaScreen to provide navigation and display member-related options. - Introduced ProfileScreen and ProfileViewModel for user profile management. - Implemented state management for loading, error handling, and form updates across screens.
18 lines
622 B
JavaScript
18 lines
622 B
JavaScript
import { getUserFromToken, hasAnyRole } from '../../utils/auth.js'
|
|
import { readContactRequests } from '../../utils/contact-requests.js'
|
|
|
|
export default defineEventHandler(async (event) => {
|
|
const token = getCookie(event, 'auth_token') || getHeader(event, 'authorization')?.replace(/^Bearer\s+/i, '')
|
|
const currentUser = token ? await getUserFromToken(token) : null
|
|
|
|
if (!currentUser || !hasAnyRole(currentUser, 'admin', 'vorstand', 'trainer')) {
|
|
throw createError({
|
|
statusCode: 403,
|
|
statusMessage: 'Zugriff verweigert'
|
|
})
|
|
}
|
|
|
|
const requests = await readContactRequests()
|
|
return requests
|
|
})
|