Browse Source

refactor(nc-gui): use computed value in all permissions state

pull/3703/head
braks 2 years ago
parent
commit
96d12f6f80
  1. 8
      packages/nc-gui/composables/useUIPermission/index.ts

8
packages/nc-gui/composables/useUIPermission/index.ts

@ -1,7 +1,7 @@
import { isString } from '@vueuse/core' import { isString } from '@vueuse/core'
import type { Permission } from './rolePermissions' import type { Permission } from './rolePermissions'
import rolePermissions from './rolePermissions' import rolePermissions from './rolePermissions'
import { USER_PROJECT_ROLES, useGlobal, useState } from '#imports' import { USER_PROJECT_ROLES, computed, useGlobal, useState } from '#imports'
import type { ProjectRole, Role, Roles } from '~/lib' import type { ProjectRole, Role, Roles } from '~/lib'
export function useUIPermission() { export function useUIPermission() {
@ -9,7 +9,8 @@ export function useUIPermission() {
const projectRoles = useState<Roles<ProjectRole>>(USER_PROJECT_ROLES, () => ({})) const projectRoles = useState<Roles<ProjectRole>>(USER_PROJECT_ROLES, () => ({}))
const allRoles = useState<Roles>('allRoles', () => { const allRoles = useState<Roles>('allRoles', () =>
computed(() => {
let userRoles = user.value?.roles let userRoles = user.value?.roles
// if string populate key-value paired object // if string populate key-value paired object
@ -25,7 +26,8 @@ export function useUIPermission() {
...userRoles, ...userRoles,
...projectRoles.value, ...projectRoles.value,
} }
}) }),
)
const isUIAllowed = (permission: Permission | string, skipPreviewAs = false) => { const isUIAllowed = (permission: Permission | string, skipPreviewAs = false) => {
let roles = { ...allRoles.value } let roles = { ...allRoles.value }

Loading…
Cancel
Save