You've already forked isop-mirror
16 lines
437 B
TypeScript
16 lines
437 B
TypeScript
import { Role } from "~/types/role";
|
|
import type { User } from "~/types/user";
|
|
|
|
export default defineNuxtRouteMiddleware(async (to) => {
|
|
const user = useSanctumUser<User>();
|
|
|
|
// If user is not authenticated, let sanctum:auth handle it
|
|
if (!user.value) {
|
|
return;
|
|
}
|
|
|
|
if (user.value.role !== Role.STUDENT) {
|
|
return abortNavigation(createError({ statusCode: 403, statusMessage: 'Forbidden' }));
|
|
}
|
|
});
|