mirror of
https://github.com/langgenius/dify.git
synced 2026-07-21 18:58:35 +08:00
41 lines
1.4 KiB
TypeScript
41 lines
1.4 KiB
TypeScript
import { useAtomValue } from 'jotai'
|
|
import { useMemo } from 'react'
|
|
import { langGeniusVersionInfoAtom, workspacePermissionKeysAtom } from '@/context/app-context-state'
|
|
import { hasPermission } from '@/utils/permission'
|
|
|
|
const useWorkspacePluginInstallPermission = () => {
|
|
const langGeniusVersionInfo = useAtomValue(langGeniusVersionInfoAtom)
|
|
const workspacePermissionKeys = useAtomValue(workspacePermissionKeysAtom)
|
|
|
|
const canInstallPlugin = useMemo(() => {
|
|
return hasPermission(workspacePermissionKeys, 'plugin.install')
|
|
}, [workspacePermissionKeys])
|
|
|
|
const canUpdatePlugin = useMemo(() => {
|
|
return hasPermission(workspacePermissionKeys, 'plugin.install')
|
|
}, [workspacePermissionKeys])
|
|
|
|
const canDeletePlugin = useMemo(() => {
|
|
return hasPermission(workspacePermissionKeys, 'plugin.delete')
|
|
}, [workspacePermissionKeys])
|
|
|
|
const canDebugPlugin = useMemo(() => {
|
|
return hasPermission(workspacePermissionKeys, 'plugin.debug')
|
|
}, [workspacePermissionKeys])
|
|
|
|
const canSetPluginPreferences = useMemo(() => {
|
|
return hasPermission(workspacePermissionKeys, 'plugin.plugin_preferences')
|
|
}, [workspacePermissionKeys])
|
|
|
|
return {
|
|
canInstallPlugin,
|
|
canUpdatePlugin,
|
|
canDeletePlugin,
|
|
canDebugPlugin,
|
|
canSetPluginPreferences,
|
|
currentDifyVersion: langGeniusVersionInfo?.current_version,
|
|
}
|
|
}
|
|
|
|
export default useWorkspacePluginInstallPermission
|