File size: 646 Bytes
4d70170
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import { SharedData } from './shared-data'

export enum PluginPermission {
  ENABLED = 'enabled',
  COMPONENTS = 'components',
  CUSTOM_INSPECTOR = 'custom-inspector',
  TIMELINE = 'timeline',
}

export function hasPluginPermission(pluginId: string, permission: PluginPermission) {
  const result = SharedData.pluginPermissions[`${pluginId}:${permission}`]
  if (result == null) {
    return true
  }
  return !!result
}

export function setPluginPermission(pluginId: string, permission: PluginPermission, active: boolean) {
  SharedData.pluginPermissions = {
    ...SharedData.pluginPermissions,
    [`${pluginId}:${permission}`]: active,
  }
}