import { mapActions } from "vuex"; import globalStore from "@Global/store"; import authStore from "@Core/store"; import permissionList from "@Global/utils/Permissions/list"; import { UserService } from "@Global/services/storage.services"; const global = { methods: { $_getPath(subPath) { return "/" + subPath; }, //Modal ...mapActions("modal", ["openModal", "closeModal", "dialog"]), $_openModal(options) { this.openModal(options); }, $_closeModal(options) { this.closeModal(options); }, //Alert $_dialog(options) { this.dialog(options); }, //Permission $_hasPermission(permission, owner = false) { let currentModule = globalStore.state.common.current_module; let permissions = authStore.state.auth.permissions; let multiPermission = permission.split("|"); let siteOwner = !!UserService.get().is_owner; for (const iterator of multiPermission) { if (iterator == "") { return true; } permission = permissionList[iterator]; if ( siteOwner || owner || (permission && permissions[currentModule] && Object.values(permissions[currentModule]).includes( permission )) ) { return true; } } return false; } } }; export { global };