Skip to content

Commit 6ca2ada

Browse files
authored
feat!: rename usePermissions → useDocumentPermissions (#365)
* feat!: rename usePermissions → useDocumentPermissions
1 parent 8e51dcc commit 6ca2ada

File tree

5 files changed

+19
-17
lines changed

5 files changed

+19
-17
lines changed

apps/kitchensink-react/src/DocumentCollection/DocumentEditorRoute.tsx

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@ import {
1313
useApplyDocumentActions,
1414
useDocument,
1515
useDocumentEvent,
16+
useDocumentPermissions,
1617
useDocumentSyncStatus,
1718
useEditDocument,
18-
usePermissions,
1919
} from '@sanity/sdk-react'
2020
import {SanityDocument} from '@sanity/types'
2121
import {Box, Button, TextInput, Tooltip} from '@sanity/ui'
@@ -38,20 +38,20 @@ function Editor() {
3838
const synced = useDocumentSyncStatus(doc)
3939
const apply = useApplyDocumentActions()
4040

41-
const canEdit = usePermissions(editDocument(doc))
42-
const canCreate = usePermissions(createDocument(doc))
43-
const canPublish = usePermissions(publishDocument(doc))
44-
const canDelete = usePermissions(deleteDocument(doc))
45-
const canUnpublish = usePermissions(unpublishDocument(doc))
46-
const canDiscard = usePermissions(discardDocument(doc))
41+
const canEdit = useDocumentPermissions(editDocument(doc))
42+
const canCreate = useDocumentPermissions(createDocument(doc))
43+
const canPublish = useDocumentPermissions(publishDocument(doc))
44+
const canDelete = useDocumentPermissions(deleteDocument(doc))
45+
const canUnpublish = useDocumentPermissions(unpublishDocument(doc))
46+
const canDiscard = useDocumentPermissions(discardDocument(doc))
4747

4848
const name = useDocument(doc, 'name') ?? ''
4949
const setName = useEditDocument(doc, 'name')
5050

5151
const [value, setValue] = useState('')
5252

5353
const changeNameToValue = editDocument(patch(doc._id, at('name', set(value))))
54-
const canChangeNameToValue = usePermissions(changeNameToValue)
54+
const canChangeNameToValue = useDocumentPermissions(changeNameToValue)
5555

5656
const document = useDocument(doc)
5757
const setDocument = useEditDocument(doc)

packages/core/src/_exports/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ export {
8585
type JsonMatchPath,
8686
} from '../document/patchOperations'
8787
export {type DocumentResourceId, getResourceId, type ResourceId} from '../document/patchOperations'
88-
export {type PermissionDeniedReason, type PermissionsResult} from '../document/permissions'
88+
export {type DocumentPermissionsResult, type PermissionDeniedReason} from '../document/permissions'
8989
export {createSanityInstance} from '../instance/sanityInstance'
9090
export type {SanityConfig, SanityInstance, SdkIdentity} from '../instance/types'
9191
export {getPreviewState, type GetPreviewStateOptions} from '../preview/getPreviewState'

packages/core/src/document/permissions.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ export interface PermissionDeniedReason {
135135
}
136136

137137
/** @beta */
138-
export type PermissionsResult =
138+
export type DocumentPermissionsResult =
139139
| {
140140
allowed: false
141141
message: string
@@ -151,7 +151,7 @@ export const calculatePermissions = createSelector(
151151
grants: Record<Grant, ExprNode> | undefined,
152152
documents: DocumentSet | undefined,
153153
actions: DocumentAction[] | undefined,
154-
): PermissionsResult | undefined => {
154+
): DocumentPermissionsResult | undefined => {
155155
if (!documents) return undefined
156156
if (!grants) return undefined
157157
if (!actions) return undefined

packages/react/src/_exports/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,9 @@ export {useDatasets} from '../hooks/datasets/useDatasets'
3232
export {useApplyDocumentActions} from '../hooks/document/useApplyDocumentActions'
3333
export {useDocument} from '../hooks/document/useDocument'
3434
export {useDocumentEvent} from '../hooks/document/useDocumentEvent'
35+
export {useDocumentPermissions} from '../hooks/document/useDocumentPermissions'
3536
export {useDocumentSyncStatus} from '../hooks/document/useDocumentSyncStatus'
3637
export {useEditDocument} from '../hooks/document/useEditDocument'
37-
export {usePermissions} from '../hooks/document/usePermissions'
3838
export {
3939
type DocumentsOptions,
4040
type DocumentsResponse,

packages/react/src/hooks/document/usePermissions.ts renamed to packages/react/src/hooks/document/useDocumentPermissions.ts

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import {
22
type DocumentAction,
3+
type DocumentPermissionsResult,
34
getPermissionsState,
45
getResourceId,
5-
type PermissionsResult,
66
} from '@sanity/sdk'
77
import {useCallback, useMemo, useSyncExternalStore} from 'react'
88
import {filter, firstValueFrom} from 'rxjs'
@@ -21,11 +21,11 @@ import {useSanityInstance} from '../context/useSanityInstance'
2121
*
2222
* @example Checking for permission to publish a document
2323
* ```ts
24-
* import {usePermissions, useApplyDocumentActions} from '@sanity/sdk-react'
24+
* import {useDocumentPermissions, useApplyDocumentActions} from '@sanity/sdk-react'
2525
* import {publishDocument} from '@sanity/sdk'
2626
*
2727
* export function PublishButton({doc}: {doc: DocumentHandle}) {
28-
* const publishPermissions = usePermissions(publishDocument(doc))
28+
* const publishPermissions = useDocumentPermissions(publishDocument(doc))
2929
* const applyAction = useApplyDocumentActions()
3030
*
3131
* return (
@@ -47,7 +47,9 @@ import {useSanityInstance} from '../context/useSanityInstance'
4747
* }
4848
* ```
4949
*/
50-
export function usePermissions(actions: DocumentAction | DocumentAction[]): PermissionsResult {
50+
export function useDocumentPermissions(
51+
actions: DocumentAction | DocumentAction[],
52+
): DocumentPermissionsResult {
5153
// if actions is an array, we need to check each action to see if the resourceId is the same
5254
if (Array.isArray(actions)) {
5355
const resourceIds = actions.map((action) => action.resourceId)
@@ -78,5 +80,5 @@ export function usePermissions(actions: DocumentAction | DocumentAction[]): Perm
7880
[actions, instance],
7981
)
8082

81-
return useSyncExternalStore(subscribe, getCurrent) as PermissionsResult
83+
return useSyncExternalStore(subscribe, getCurrent) as DocumentPermissionsResult
8284
}

0 commit comments

Comments
 (0)