Files
web-frontend/app/middleware/manager-only.ts
2026-04-04 09:41:36 +07:00

15 lines
406 B
TypeScript

import { MeDocument } from '~/composables/graphql/generated';
import { hasManagerAccess } from '~/utils/roles';
export default defineNuxtRouteMiddleware(async () => {
const { client } = useApolloClient('default');
const response = await client.query({
query: MeDocument,
fetchPolicy: 'cache-first',
});
if (!hasManagerAccess(response.data.me?.role)) {
return navigateTo('/');
}
});