dify/web/context/permission-state.ts
Stephen Zhou 799c7eea3a
feat(dataset): add document processing tasks (#39326)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-07-24 12:58:15 +00:00

42 lines
1.4 KiB
TypeScript

'use client'
import { atom } from 'jotai'
import { atomWithQuery } from 'jotai-tanstack-query'
import { consoleQuery } from '@/service/client'
import { emptyWorkspacePermissionKeys } from './app-context-normalizers'
const workspacePermissionKeysQueryAtom = atomWithQuery(() =>
consoleQuery.workspaces.current.rbac.myPermissions.get.queryOptions(),
)
export const workspacePermissionKeysAtom = atom((get) => {
return (
get(workspacePermissionKeysQueryAtom).data?.workspace?.permission_keys ??
emptyWorkspacePermissionKeys
)
})
export const datasetDefaultPermissionKeysAtom = atom((get) => {
return get(workspacePermissionKeysQueryAtom).data?.dataset?.default_permission_keys ?? []
})
export const workspacePermissionKeysLoadingAtom = atom((get) => {
return get(workspacePermissionKeysQueryAtom).isPending
})
export const workspacePermissionKeysFetchingAtom = atom((get) => {
return get(workspacePermissionKeysQueryAtom).isFetching
})
export const workspacePermissionKeysErrorAtom = atom((get) => {
return get(workspacePermissionKeysQueryAtom).error
})
export const retryWorkspacePermissionKeysAtom = atom(null, (get) => {
return get(workspacePermissionKeysQueryAtom).refetch({ cancelRefetch: false })
})
export const refreshWorkspacePermissionKeysAfterMutationDenialAtom = atom(null, (get) => {
return get(workspacePermissionKeysQueryAtom).refetch({ cancelRefetch: true })
})