refactor(editor): Migrate userHelpers mixin to composable (no-changelog) (#9737)

This commit is contained in:
Ricardo Espinoza
2024-06-15 09:41:23 -04:00
committed by GitHub
parent ca2e5d90ed
commit ac7a561379
5 changed files with 46 additions and 35 deletions

View File

@@ -0,0 +1,32 @@
import type { RouteLocation, RouteLocationNormalizedLoaded, Router } from 'vue-router';
import { hasPermission } from '@/utils/rbac/permissions';
import type { PermissionTypeOptions } from '@/types/rbac';
export function useUserHelpers(router: Router, route: RouteLocationNormalizedLoaded) {
const canUserAccessRouteByName = (name: string) => {
const resolvedRoute = router.resolve({ name });
return canUserAccessRoute(resolvedRoute);
};
const canUserAccessCurrentRoute = () => {
return canUserAccessRoute(route);
};
const canUserAccessRoute = (route: RouteLocation) => {
const middleware = route.meta?.middleware;
const middlewareOptions = route.meta?.middlewareOptions;
if (!middleware) {
return true;
}
return hasPermission(middleware, middlewareOptions as PermissionTypeOptions | undefined);
};
return {
canUserAccessRouteByName,
canUserAccessCurrentRoute,
canUserAccessRoute,
};
}