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 = '') { const path = process.env.MIX_PUSHER_APP_PUBLIC_PATH ? process.env.MIX_PUSHER_APP_PUBLIC_PATH : '/'; return path + subPath; }, //Modal ...mapActions("modal", ["$_openModal", "$_closeModal", "$_openModalCallback", "$_closeModalCallback", "$_dialog", "$_openModalStack", "$_closeModalStack"]), //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 };