Files
Automata/packages/editor-ui/src/mixins/userHelpers.ts
Alex Grozav 67a88914f2 feat(editor): Add routing middleware, permission checks, RBAC store, RBAC component (#7702)
Github issue / Community forum post (link here to close automatically):

---------

Co-authored-by: Csaba Tuncsik <csaba@n8n.io>
2023-11-23 13:22:47 +02:00

31 lines
852 B
TypeScript

import { defineComponent } from 'vue';
import type { RouteLocation } from 'vue-router';
import { hasPermission } from '@/rbac/permissions';
import type { RouteConfig } from '@/types/router';
import type { PermissionTypeOptions } from '@/types/rbac';
export const userHelpers = defineComponent({
methods: {
canUserAccessRouteByName(name: string) {
const route = this.$router.resolve({ name });
return this.canUserAccessRoute(route);
},
canUserAccessCurrentRoute() {
return this.canUserAccessRoute(this.$route);
},
canUserAccessRoute(route: RouteLocation & RouteConfig) {
const middleware = route.meta?.middleware;
const middlewareOptions = route.meta?.middlewareOptions;
if (!middleware) {
return true;
}
return hasPermission(middleware, middlewareOptions as PermissionTypeOptions | undefined);
},
},
});