Files
Automata/packages/editor-ui/src/mixins/userHelpers.ts
Iván Ovejero d5c44987f4 refactor(editor): Add infix to Pinia stores (no-changelog) (#6149)
*  Add infix to Pinia stores

*  Fix paths in mocks

* 🐛 Fix import
2023-05-05 10:41:54 +02:00

28 lines
816 B
TypeScript

import type { IPermissions } from '@/Interface';
import { isAuthorized } from '@/utils';
import { useUsersStore } from '@/stores/users.store';
import { defineComponent } from 'vue';
import type { Route } from 'vue-router';
export const userHelpers = defineComponent({
methods: {
canUserAccessRouteByName(name: string): boolean {
const { route } = this.$router.resolve({ name });
return this.canUserAccessRoute(route);
},
canUserAccessCurrentRoute(): boolean {
return this.canUserAccessRoute(this.$route);
},
canUserAccessRoute(route: Route): boolean {
const permissions: IPermissions = route.meta && route.meta.permissions;
const usersStore = useUsersStore();
const currentUser = usersStore.currentUser;
return permissions && isAuthorized(permissions, currentUser);
},
},
});