@sanity/sdk 2.19.0 → 2.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_exports/_internal.d.ts +2 -2
- package/dist/_exports/_internal.js +196 -22
- package/dist/_exports/_internal.js.map +1 -1
- package/dist/authStore-CWTAuieY.js +1072 -0
- package/dist/authStore-CWTAuieY.js.map +1 -0
- package/dist/clientStore-CMzJ7XhZ.js +168 -0
- package/dist/clientStore-CMzJ7XhZ.js.map +1 -0
- package/dist/createGroqSearchFilter-B0NdA-EP.js +1222 -0
- package/dist/createGroqSearchFilter-B0NdA-EP.js.map +1 -0
- package/dist/getEnv-76AjZd_f.js +178 -0
- package/dist/getEnv-76AjZd_f.js.map +1 -0
- package/dist/index.d.ts +2 -2105
- package/dist/index.js +4140 -3870
- package/dist/index.js.map +1 -1
- package/dist/rolldown-runtime-vyAXikos.js +9 -0
- package/dist/telemetryManager-Bd3O8z2S.js +127 -0
- package/dist/telemetryManager-Bd3O8z2S.js.map +1 -0
- package/dist/utils-BMwA8Kg9.d.ts +3334 -0
- package/dist/utils-BMwA8Kg9.d.ts.map +1 -0
- package/dist/version-DL2l07HG.js +9 -0
- package/dist/version-DL2l07HG.js.map +1 -0
- package/package.json +12 -20
- package/src/_exports/_internal.ts +1 -0
- package/src/_exports/index.ts +30 -0
- package/src/comments/addonDatasetStore.test.ts +215 -0
- package/src/comments/addonDatasetStore.ts +249 -0
- package/src/comments/buildCommentThreads.test.ts +83 -0
- package/src/comments/buildCommentThreads.ts +54 -0
- package/src/comments/commentActions.test.ts +540 -0
- package/src/comments/commentActions.ts +555 -0
- package/src/comments/commentFieldPath.test.ts +40 -0
- package/src/comments/commentFieldPath.ts +44 -0
- package/src/comments/commentsConstants.ts +80 -0
- package/src/comments/commentsStore.test.ts +419 -0
- package/src/comments/commentsStore.ts +483 -0
- package/src/comments/normalizeComment.test.ts +116 -0
- package/src/comments/normalizeComment.ts +45 -0
- package/src/comments/observeComments.test.ts +193 -0
- package/src/comments/observeComments.ts +113 -0
- package/src/comments/reducers.test.ts +277 -0
- package/src/comments/reducers.ts +316 -0
- package/src/comments/types.ts +249 -0
- package/src/comments/weakenReferences.test.ts +47 -0
- package/src/comments/weakenReferences.ts +29 -0
- package/src/document/documentConstants.ts +8 -0
- package/src/document/documentStore.test.ts +98 -1
- package/src/document/documentStore.ts +36 -5
- package/src/document/patchOperations.test.ts +27 -0
- package/src/document/patchOperations.ts +10 -1
- package/src/document/permissions.test.ts +3 -1
- package/src/document/reducers.test.ts +133 -0
- package/src/document/reducers.ts +18 -3
- package/src/projection/projectionStore.test.ts +0 -8
- package/dist/_chunks-dts/createGroqSearchFilter.d.ts +0 -923
- package/dist/_chunks-dts/createGroqSearchFilter.d.ts.map +0 -1
- package/dist/_chunks-es/_internal.js +0 -134
- package/dist/_chunks-es/_internal.js.map +0 -1
- package/dist/_chunks-es/createGroqSearchFilter.js +0 -1590
- package/dist/_chunks-es/createGroqSearchFilter.js.map +0 -1
- package/dist/_chunks-es/telemetryManager.js +0 -93
- package/dist/_chunks-es/telemetryManager.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils-BMwA8Kg9.d.ts","names":[],"sources":["../src/config/authConfig.ts","../src/config/sanityConfig.ts","../src/auth/authMode.ts","../src/store/createSanityInstance.ts","../src/store/createStoreState.ts","../src/store/defineStore.ts","../src/agent/agentActions.ts","../src/auth/authStateType.ts","../src/project/organizationVerification.ts","../src/auth/getOrganizationVerificationState.ts","../src/store/createActionBinder.ts","../src/auth/handleAuthCallback.ts","../src/auth/logout.ts","../src/client/clientStore.ts","../src/comlink/types.ts","../src/comlink/controller/comlinkControllerStore.ts","../src/comlink/node/comlinkNodeStore.ts","../src/comlink/node/getNodeState.ts","../src/comments/types.ts","../src/comments/commentActions.ts","../src/store/createStateSourceAction.ts","../src/comments/commentsStore.ts","../src/config/handles.ts","../src/utils/logger.ts","../src/config/loggingConfig.ts","../src/datasets/datasets.ts","../src/document/actions.ts","../src/document/patchOperations.ts","../src/document/processMutations.ts","../src/document/permissions.ts","../src/document/sharedListener.ts","../src/document/documentStore.ts","../src/document/reducers.ts","../src/document/events.ts","../src/document/applyDocumentActions.ts","../src/document/processActions/releaseUtil.ts","../src/favorites/favorites.ts","../src/organization/organization.ts","../src/organizations/organizations.ts","../src/users/types.ts","../src/presence/types.ts","../src/presence/presenceStore.ts","../src/projection/types.ts","../src/preview/types.ts","../src/preview/getPreviewState.ts","../src/preview/previewConstants.ts","../src/preview/previewProjectionUtils.ts","../src/preview/resolvePreview.ts","../src/project/project.ts","../src/projection/getProjectionState.ts","../src/projection/resolveProjection.ts","../src/projects/projects.ts","../src/query/queryStore.ts","../src/releases/releasesStore.ts","../src/releases/getPerspectiveState.ts","../src/users/reducers.ts","../src/users/usersStore.ts","../src/utils/createFetcherStore.ts","../src/utils/createGroqSearchFilter.ts","../src/utils/defineIntent.ts","../src/utils/getCorsErrorProjectId.ts","../src/utils/isImportError.ts","../src/version.ts","../src/_exports/index.ts","../src/auth/authStore.ts","../src/auth/utils.ts"],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { t as getEnv } from "./getEnv-76AjZd_f.js";
|
|
2
|
+
/**
|
|
3
|
+
* This version is provided by pkg-utils at build time
|
|
4
|
+
* @internal
|
|
5
|
+
*/
|
|
6
|
+
const CORE_SDK_VERSION = getEnv("PKG_VERSION") || "2.20.0-development";
|
|
7
|
+
export { CORE_SDK_VERSION as t };
|
|
8
|
+
|
|
9
|
+
//# sourceMappingURL=version-DL2l07HG.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version-DL2l07HG.js","names":[],"sources":["../package.json","../src/version.ts"],"sourcesContent":["","import {version} from '../package.json'\nimport {getEnv} from './utils/getEnv'\n\n/**\n * This version is provided by pkg-utils at build time\n * @internal\n */\nexport const CORE_SDK_VERSION = getEnv('PKG_VERSION') || `${version}-development`\n"],"mappings":";;;;;ACOA,MAAa,mBAAmB,OAAO,aAAa,KAAK"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sanity/sdk",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.20.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Sanity SDK",
|
|
6
6
|
"keywords": [
|
|
@@ -33,34 +33,26 @@
|
|
|
33
33
|
"module": "./dist/index.js",
|
|
34
34
|
"types": "./dist/index.d.ts",
|
|
35
35
|
"exports": {
|
|
36
|
-
".":
|
|
37
|
-
"source": "./src/_exports/index.ts",
|
|
38
|
-
"import": "./dist/index.js",
|
|
39
|
-
"default": "./dist/index.js"
|
|
40
|
-
},
|
|
36
|
+
".": "./dist/index.js",
|
|
41
37
|
"./package.json": "./package.json",
|
|
42
|
-
"./_internal":
|
|
43
|
-
"source": "./src/_exports/_internal.ts",
|
|
44
|
-
"import": "./dist/_exports/_internal.js",
|
|
45
|
-
"default": "./dist/_exports/_internal.js"
|
|
46
|
-
}
|
|
38
|
+
"./_internal": "./dist/_exports/_internal.js"
|
|
47
39
|
},
|
|
48
40
|
"publishConfig": {
|
|
49
41
|
"access": "public"
|
|
50
42
|
},
|
|
51
43
|
"dependencies": {
|
|
52
44
|
"@sanity/bifur-client": "^1.0.0",
|
|
53
|
-
"@sanity/client": "^7.
|
|
54
|
-
"@sanity/comlink": "^4.0.
|
|
45
|
+
"@sanity/client": "^7.26.2",
|
|
46
|
+
"@sanity/comlink": "^4.0.3",
|
|
55
47
|
"@sanity/diff-match-patch": "^3.2.0",
|
|
56
48
|
"@sanity/diff-patch": "^6.0.0",
|
|
57
49
|
"@sanity/id-utils": "^1.0.0",
|
|
58
50
|
"@sanity/image-url": "^2.1.1",
|
|
59
51
|
"@sanity/json-match": "^1.0.5",
|
|
60
|
-
"@sanity/message-protocol": "^0.
|
|
52
|
+
"@sanity/message-protocol": "^0.24.0",
|
|
61
53
|
"@sanity/mutate": "^0.18.1",
|
|
62
54
|
"@sanity/telemetry": "^1.1.0",
|
|
63
|
-
"@sanity/types": "^6.
|
|
55
|
+
"@sanity/types": "^6.9.1",
|
|
64
56
|
"groq": "3.88.1-typegen-experimental.0",
|
|
65
57
|
"groq-js": "^2.0.0",
|
|
66
58
|
"reselect": "^5.1.1",
|
|
@@ -69,20 +61,20 @@
|
|
|
69
61
|
},
|
|
70
62
|
"devDependencies": {
|
|
71
63
|
"@sanity/browserslist-config": "^1.0.5",
|
|
72
|
-
"@sanity/pkg-utils": "^
|
|
64
|
+
"@sanity/pkg-utils": "^12.1.0",
|
|
73
65
|
"@types/node": "^24.13.3",
|
|
74
66
|
"@vitest/coverage-v8": "^4.1.10",
|
|
75
67
|
"eslint": "^10.6.0",
|
|
76
68
|
"oxfmt": "^0.58.0",
|
|
77
|
-
"
|
|
69
|
+
"rolldown": "^1.2.3",
|
|
78
70
|
"typescript": "^6.0.3",
|
|
79
71
|
"vite": "^8.1.5",
|
|
80
72
|
"vitest": "^4.1.10",
|
|
81
|
-
"@repo/config-eslint": "0.0.0",
|
|
82
|
-
"@repo/package.bundle": "3.82.0",
|
|
83
73
|
"@repo/config-test": "0.0.1",
|
|
84
74
|
"@repo/package.config": "0.0.1",
|
|
85
|
-
"@repo/tsconfig": "0.0.1"
|
|
75
|
+
"@repo/tsconfig": "0.0.1",
|
|
76
|
+
"@repo/package.bundle": "3.82.0",
|
|
77
|
+
"@repo/config-eslint": "0.0.0"
|
|
86
78
|
},
|
|
87
79
|
"browserslist": "extends @sanity/browserslist-config",
|
|
88
80
|
"scripts": {
|
|
@@ -6,6 +6,7 @@ export {
|
|
|
6
6
|
getClientErrorApiType,
|
|
7
7
|
isProjectUserNotFoundClientError,
|
|
8
8
|
} from '../auth/utils'
|
|
9
|
+
export {getCommentsOptionsKey, parseCommentsOptionsKey} from '../comments/commentsStore' // only used for memoizing in React, not needed for actual functionality
|
|
9
10
|
export {PREVIEW_PROJECTION} from '../preview/previewConstants'
|
|
10
11
|
export {transformProjectionToPreview} from '../preview/previewProjectionUtils'
|
|
11
12
|
export {getQueryKey, parseQueryKey} from '../query/queryStore' // only used for memoizing in React, not needed for actual functionality
|
package/src/_exports/index.ts
CHANGED
|
@@ -69,6 +69,36 @@ export {
|
|
|
69
69
|
type RequestNewTokenMessage,
|
|
70
70
|
type WindowMessage,
|
|
71
71
|
} from '../comlink/types'
|
|
72
|
+
export {
|
|
73
|
+
createComment,
|
|
74
|
+
type CreateCommentOptions,
|
|
75
|
+
removeComment,
|
|
76
|
+
type RemoveCommentOptions,
|
|
77
|
+
replyToComment,
|
|
78
|
+
type ReplyToCommentOptions,
|
|
79
|
+
setCommentStatus,
|
|
80
|
+
type SetCommentStatusOptions,
|
|
81
|
+
updateComment,
|
|
82
|
+
type UpdateCommentOptions,
|
|
83
|
+
} from '../comments/commentActions'
|
|
84
|
+
export {
|
|
85
|
+
type CommentsOptions,
|
|
86
|
+
getCommentsState,
|
|
87
|
+
getCommentThreadsState,
|
|
88
|
+
resolveComments,
|
|
89
|
+
type ResolveCommentsOptions,
|
|
90
|
+
resolveCommentThreads,
|
|
91
|
+
} from '../comments/commentsStore'
|
|
92
|
+
export {
|
|
93
|
+
type Comment,
|
|
94
|
+
type CommentLocalState,
|
|
95
|
+
type CommentMessage,
|
|
96
|
+
type CommentReaction,
|
|
97
|
+
type CommentStatus,
|
|
98
|
+
type CommentTextSelection,
|
|
99
|
+
type CommentTextSelectionItem,
|
|
100
|
+
type CommentThread,
|
|
101
|
+
} from '../comments/types'
|
|
72
102
|
export {type AuthConfig, type AuthProvider} from '../config/authConfig'
|
|
73
103
|
export {
|
|
74
104
|
createDatasetHandle,
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
import {type SanityClient} from '@sanity/client'
|
|
2
|
+
import {BehaviorSubject, firstValueFrom, NEVER, of, throwError} from 'rxjs'
|
|
3
|
+
import {afterEach, beforeEach, describe, expect, it, vi} from 'vitest'
|
|
4
|
+
|
|
5
|
+
import {getClient, getClientState} from '../client/clientStore'
|
|
6
|
+
import {createSanityInstance, type SanityInstance} from '../store/createSanityInstance'
|
|
7
|
+
import {type StateSource} from '../store/createStateSourceAction'
|
|
8
|
+
import {
|
|
9
|
+
getAddonDatasetState,
|
|
10
|
+
observeAddonDatasetClient,
|
|
11
|
+
provisionAddonDataset,
|
|
12
|
+
} from './addonDatasetStore'
|
|
13
|
+
|
|
14
|
+
vi.mock('../client/clientStore', () => ({
|
|
15
|
+
getClient: vi.fn(),
|
|
16
|
+
getClientState: vi.fn(),
|
|
17
|
+
}))
|
|
18
|
+
|
|
19
|
+
let instance: SanityInstance
|
|
20
|
+
let observableRequest: ReturnType<typeof vi.fn>
|
|
21
|
+
let request: ReturnType<typeof vi.fn>
|
|
22
|
+
|
|
23
|
+
function mockClient() {
|
|
24
|
+
observableRequest = vi.fn()
|
|
25
|
+
request = vi.fn()
|
|
26
|
+
const client = {observable: {request: observableRequest}, request} as unknown as SanityClient
|
|
27
|
+
|
|
28
|
+
vi.mocked(getClient).mockReturnValue(client)
|
|
29
|
+
vi.mocked(getClientState).mockReturnValue({
|
|
30
|
+
observable: of(client),
|
|
31
|
+
getCurrent: () => client,
|
|
32
|
+
subscribe: () => () => {},
|
|
33
|
+
} as unknown as StateSource<SanityClient>)
|
|
34
|
+
|
|
35
|
+
return client
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/** Waits for discovery, which runs asynchronously when the store initializes. */
|
|
39
|
+
function resolvedAddonDataset() {
|
|
40
|
+
return firstValueFrom(getAddonDatasetState(instance, {}).observable.pipe())
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
beforeEach(() => {
|
|
44
|
+
vi.resetAllMocks()
|
|
45
|
+
instance = createSanityInstance({projectId: 'p', dataset: 'd'})
|
|
46
|
+
mockClient()
|
|
47
|
+
})
|
|
48
|
+
|
|
49
|
+
afterEach(() => {
|
|
50
|
+
instance.dispose()
|
|
51
|
+
})
|
|
52
|
+
|
|
53
|
+
describe('getAddonDatasetState', () => {
|
|
54
|
+
it('reports the dataset name once discovery answers', async () => {
|
|
55
|
+
observableRequest.mockReturnValue(of([{name: 'd-comments'}]))
|
|
56
|
+
|
|
57
|
+
await vi.waitFor(() =>
|
|
58
|
+
expect(getAddonDatasetState(instance, {}).getCurrent()).toBe('d-comments'),
|
|
59
|
+
)
|
|
60
|
+
|
|
61
|
+
expect(observableRequest).toHaveBeenCalledWith({
|
|
62
|
+
uri: '/projects/p/datasets?datasetProfile=comments&addonFor=d',
|
|
63
|
+
tag: 'comments.addon-dataset.list',
|
|
64
|
+
})
|
|
65
|
+
})
|
|
66
|
+
|
|
67
|
+
it('reports null when the project has no comments dataset', async () => {
|
|
68
|
+
observableRequest.mockReturnValue(of([]))
|
|
69
|
+
|
|
70
|
+
await vi.waitFor(() => expect(getAddonDatasetState(instance, {}).getCurrent()).toBe(null))
|
|
71
|
+
})
|
|
72
|
+
|
|
73
|
+
it('reports null rather than erroring when discovery is forbidden', async () => {
|
|
74
|
+
// A member without access to the addon dataset gets a 403. There is nothing
|
|
75
|
+
// for them to read, which is the same outcome as the dataset not existing.
|
|
76
|
+
observableRequest.mockReturnValue(throwError(() => ({statusCode: 403})))
|
|
77
|
+
|
|
78
|
+
await vi.waitFor(() => expect(getAddonDatasetState(instance, {}).getCurrent()).toBe(null))
|
|
79
|
+
})
|
|
80
|
+
|
|
81
|
+
it('recovers when a new authenticated client arrives after a transient failure', async () => {
|
|
82
|
+
const firstClient = {
|
|
83
|
+
observable: {request: vi.fn(() => throwError(() => ({statusCode: 500})))},
|
|
84
|
+
} as unknown as SanityClient
|
|
85
|
+
const secondClient = {
|
|
86
|
+
observable: {request: vi.fn(() => of([{name: 'd-comments'}]))},
|
|
87
|
+
} as unknown as SanityClient
|
|
88
|
+
const clients = new BehaviorSubject(firstClient)
|
|
89
|
+
|
|
90
|
+
vi.mocked(getClientState).mockReturnValue({
|
|
91
|
+
observable: clients,
|
|
92
|
+
getCurrent: () => clients.getValue(),
|
|
93
|
+
subscribe: () => () => {},
|
|
94
|
+
} as unknown as StateSource<SanityClient>)
|
|
95
|
+
|
|
96
|
+
const state = getAddonDatasetState(instance, {})
|
|
97
|
+
expect(state.getCurrent()).toBe(undefined)
|
|
98
|
+
|
|
99
|
+
clients.next(secondClient)
|
|
100
|
+
|
|
101
|
+
await vi.waitFor(() => expect(state.getCurrent()).toBe('d-comments'))
|
|
102
|
+
})
|
|
103
|
+
|
|
104
|
+
it('stays undefined while discovery is in flight', () => {
|
|
105
|
+
observableRequest.mockReturnValue(NEVER)
|
|
106
|
+
expect(getAddonDatasetState(instance, {}).getCurrent()).toBe(undefined)
|
|
107
|
+
})
|
|
108
|
+
|
|
109
|
+
it('throws for a resource that is not a dataset', () => {
|
|
110
|
+
expect(() => getAddonDatasetState(instance, {resource: {mediaLibraryId: 'ml-1'}})).toThrow(
|
|
111
|
+
/only supported for dataset resources/,
|
|
112
|
+
)
|
|
113
|
+
})
|
|
114
|
+
})
|
|
115
|
+
|
|
116
|
+
describe('provisionAddonDataset', () => {
|
|
117
|
+
it('returns the existing dataset without writing anything', async () => {
|
|
118
|
+
observableRequest.mockReturnValue(of([{name: 'd-comments'}]))
|
|
119
|
+
await resolvedAddonDataset()
|
|
120
|
+
|
|
121
|
+
await expect(provisionAddonDataset(instance, {})).resolves.toBe('d-comments')
|
|
122
|
+
expect(request).not.toHaveBeenCalled()
|
|
123
|
+
})
|
|
124
|
+
|
|
125
|
+
it('re-checks before creating, and adopts a dataset another user just made', async () => {
|
|
126
|
+
// Discovery said missing when this client started, but someone else has
|
|
127
|
+
// provisioned it since. Creating it again would fail.
|
|
128
|
+
observableRequest.mockReturnValueOnce(of([])).mockReturnValueOnce(of([{name: 'd-comments'}]))
|
|
129
|
+
await resolvedAddonDataset()
|
|
130
|
+
|
|
131
|
+
await expect(provisionAddonDataset(instance, {})).resolves.toBe('d-comments')
|
|
132
|
+
expect(request).not.toHaveBeenCalled()
|
|
133
|
+
})
|
|
134
|
+
|
|
135
|
+
it('creates the dataset when the re-check confirms it is missing', async () => {
|
|
136
|
+
observableRequest.mockReturnValue(of([]))
|
|
137
|
+
request.mockResolvedValue({datasetName: 'd-comments'})
|
|
138
|
+
await resolvedAddonDataset()
|
|
139
|
+
|
|
140
|
+
await expect(provisionAddonDataset(instance, {})).resolves.toBe('d-comments')
|
|
141
|
+
expect(request).toHaveBeenCalledWith({
|
|
142
|
+
uri: '/comments/d/setup',
|
|
143
|
+
method: 'POST',
|
|
144
|
+
tag: 'comments.addon-dataset.setup',
|
|
145
|
+
})
|
|
146
|
+
expect(getAddonDatasetState(instance, {}).getCurrent()).toBe('d-comments')
|
|
147
|
+
})
|
|
148
|
+
|
|
149
|
+
it('issues one POST for concurrent callers', async () => {
|
|
150
|
+
observableRequest.mockReturnValue(of([]))
|
|
151
|
+
request.mockResolvedValue({datasetName: 'd-comments'})
|
|
152
|
+
await resolvedAddonDataset()
|
|
153
|
+
|
|
154
|
+
const results = await Promise.all([
|
|
155
|
+
provisionAddonDataset(instance, {}),
|
|
156
|
+
provisionAddonDataset(instance, {}),
|
|
157
|
+
provisionAddonDataset(instance, {}),
|
|
158
|
+
])
|
|
159
|
+
|
|
160
|
+
expect(results).toEqual(['d-comments', 'd-comments', 'd-comments'])
|
|
161
|
+
expect(request).toHaveBeenCalledTimes(1)
|
|
162
|
+
})
|
|
163
|
+
|
|
164
|
+
it('throws when setup returns no dataset name', async () => {
|
|
165
|
+
observableRequest.mockReturnValue(of([]))
|
|
166
|
+
request.mockResolvedValue({})
|
|
167
|
+
await resolvedAddonDataset()
|
|
168
|
+
|
|
169
|
+
await expect(provisionAddonDataset(instance, {})).rejects.toThrow(/no dataset name/)
|
|
170
|
+
})
|
|
171
|
+
|
|
172
|
+
it('allows a retry after a failure', async () => {
|
|
173
|
+
observableRequest.mockReturnValue(of([]))
|
|
174
|
+
request.mockRejectedValueOnce(new Error('boom')).mockResolvedValue({datasetName: 'd-comments'})
|
|
175
|
+
await resolvedAddonDataset()
|
|
176
|
+
|
|
177
|
+
await expect(provisionAddonDataset(instance, {})).rejects.toThrow('boom')
|
|
178
|
+
await expect(provisionAddonDataset(instance, {})).resolves.toBe('d-comments')
|
|
179
|
+
})
|
|
180
|
+
})
|
|
181
|
+
|
|
182
|
+
describe('observeAddonDatasetClient', () => {
|
|
183
|
+
it('does not report a missing dataset while discovery is still in flight', () => {
|
|
184
|
+
observableRequest.mockReturnValue(NEVER)
|
|
185
|
+
const values: Array<SanityClient | null> = []
|
|
186
|
+
|
|
187
|
+
const subscription = observeAddonDatasetClient(instance, {}).subscribe((value) =>
|
|
188
|
+
values.push(value),
|
|
189
|
+
)
|
|
190
|
+
|
|
191
|
+
expect(values).toEqual([])
|
|
192
|
+
subscription.unsubscribe()
|
|
193
|
+
})
|
|
194
|
+
|
|
195
|
+
it('emits null while the project has no comments dataset', async () => {
|
|
196
|
+
observableRequest.mockReturnValue(of([]))
|
|
197
|
+
|
|
198
|
+
await expect(firstValueFrom(observeAddonDatasetClient(instance, {}))).resolves.toBe(null)
|
|
199
|
+
})
|
|
200
|
+
|
|
201
|
+
it('emits a client once the dataset is known', async () => {
|
|
202
|
+
const client = mockClient()
|
|
203
|
+
observableRequest.mockReturnValue(of([{name: 'd-comments'}]))
|
|
204
|
+
|
|
205
|
+
await vi.waitFor(async () =>
|
|
206
|
+
expect(await firstValueFrom(observeAddonDatasetClient(instance, {}))).toBe(client),
|
|
207
|
+
)
|
|
208
|
+
|
|
209
|
+
expect(getClientState).toHaveBeenCalledWith(instance, {
|
|
210
|
+
apiVersion: 'v2025-05-06',
|
|
211
|
+
projectId: 'p',
|
|
212
|
+
dataset: 'd-comments',
|
|
213
|
+
})
|
|
214
|
+
})
|
|
215
|
+
})
|
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
import {type SanityClient} from '@sanity/client'
|
|
2
|
+
import {
|
|
3
|
+
catchError,
|
|
4
|
+
distinctUntilChanged,
|
|
5
|
+
EMPTY,
|
|
6
|
+
filter,
|
|
7
|
+
firstValueFrom,
|
|
8
|
+
map,
|
|
9
|
+
type Observable,
|
|
10
|
+
of,
|
|
11
|
+
switchMap,
|
|
12
|
+
take,
|
|
13
|
+
} from 'rxjs'
|
|
14
|
+
|
|
15
|
+
import {getClient, getClientState} from '../client/clientStore'
|
|
16
|
+
import {
|
|
17
|
+
type DatasetResource,
|
|
18
|
+
type DocumentResource,
|
|
19
|
+
isDatasetResource,
|
|
20
|
+
} from '../config/sanityConfig'
|
|
21
|
+
import {bindActionByResource, type BoundResourceKey} from '../store/createActionBinder'
|
|
22
|
+
import {type SanityInstance} from '../store/createSanityInstance'
|
|
23
|
+
import {createStateSourceAction, type StateSource} from '../store/createStateSourceAction'
|
|
24
|
+
import {defineStore, type StoreContext} from '../store/defineStore'
|
|
25
|
+
import {
|
|
26
|
+
ADDON_DATASET_API_VERSION,
|
|
27
|
+
ADDON_DATASET_PROFILE,
|
|
28
|
+
COMMENTS_API_VERSION,
|
|
29
|
+
} from './commentsConstants'
|
|
30
|
+
|
|
31
|
+
interface AddonDatasetStoreState {
|
|
32
|
+
/**
|
|
33
|
+
* `unknown` until discovery answers. `missing` means the project has no
|
|
34
|
+
* comments dataset yet, which is the normal state until someone writes a
|
|
35
|
+
* first comment.
|
|
36
|
+
*/
|
|
37
|
+
status: 'unknown' | 'resolved' | 'missing'
|
|
38
|
+
datasetName?: string
|
|
39
|
+
/** In flight provisioning, so concurrent first comments issue one POST. */
|
|
40
|
+
provisioning?: Promise<string>
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Comments need a project and a dataset. There is nowhere to put them for a
|
|
45
|
+
* media library or a canvas, and no Studio to interoperate with either.
|
|
46
|
+
*
|
|
47
|
+
* @internal
|
|
48
|
+
*/
|
|
49
|
+
export function assertDatasetResource(resource: DocumentResource): DatasetResource {
|
|
50
|
+
if (!isDatasetResource(resource)) {
|
|
51
|
+
throw new Error(
|
|
52
|
+
`Comments are only supported for dataset resources, received: ${JSON.stringify(resource)}`,
|
|
53
|
+
)
|
|
54
|
+
}
|
|
55
|
+
return resource
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
function isMissingOrForbidden(error: unknown): boolean {
|
|
59
|
+
if (typeof error !== 'object' || error === null || !('statusCode' in error)) return false
|
|
60
|
+
const {statusCode} = error as {statusCode?: unknown}
|
|
61
|
+
return statusCode === 403 || statusCode === 404
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
function requestAddonDataset(
|
|
65
|
+
client: SanityClient,
|
|
66
|
+
{projectId, dataset}: DatasetResource,
|
|
67
|
+
): Observable<string | undefined> {
|
|
68
|
+
return client.observable
|
|
69
|
+
.request<{name: string}[] | undefined>({
|
|
70
|
+
uri: `/projects/${projectId}/datasets?datasetProfile=${ADDON_DATASET_PROFILE}&addonFor=${dataset}`,
|
|
71
|
+
tag: 'comments.addon-dataset.list',
|
|
72
|
+
})
|
|
73
|
+
.pipe(map((datasets) => datasets?.[0]?.name))
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
function discover(
|
|
77
|
+
instance: SanityInstance,
|
|
78
|
+
resource: DatasetResource,
|
|
79
|
+
): Observable<string | undefined> {
|
|
80
|
+
return getClientState(instance, {
|
|
81
|
+
apiVersion: ADDON_DATASET_API_VERSION,
|
|
82
|
+
projectId: resource.projectId,
|
|
83
|
+
useProjectHostname: true,
|
|
84
|
+
}).observable.pipe(
|
|
85
|
+
switchMap((client) =>
|
|
86
|
+
requestAddonDataset(client, resource).pipe(
|
|
87
|
+
// A missing dataset and a dataset this user cannot see both mean there
|
|
88
|
+
// are no comments to read. Transient failures stay pending so a new
|
|
89
|
+
// authenticated client can retry discovery.
|
|
90
|
+
catchError((error: unknown) => (isMissingOrForbidden(error) ? of(undefined) : EMPTY)),
|
|
91
|
+
),
|
|
92
|
+
),
|
|
93
|
+
)
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
async function discoverOnce(
|
|
97
|
+
instance: SanityInstance,
|
|
98
|
+
resource: DatasetResource,
|
|
99
|
+
): Promise<string | undefined> {
|
|
100
|
+
const client = await firstValueFrom(
|
|
101
|
+
getClientState(instance, {
|
|
102
|
+
apiVersion: ADDON_DATASET_API_VERSION,
|
|
103
|
+
projectId: resource.projectId,
|
|
104
|
+
useProjectHostname: true,
|
|
105
|
+
}).observable.pipe(take(1)),
|
|
106
|
+
)
|
|
107
|
+
|
|
108
|
+
try {
|
|
109
|
+
return await firstValueFrom(requestAddonDataset(client, resource))
|
|
110
|
+
} catch (error) {
|
|
111
|
+
if (isMissingOrForbidden(error)) return undefined
|
|
112
|
+
throw error
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
const addonDatasetStore = defineStore<AddonDatasetStoreState, BoundResourceKey>({
|
|
117
|
+
name: 'CommentsAddonDataset',
|
|
118
|
+
getInitialState: () => ({status: 'unknown'}),
|
|
119
|
+
initialize: ({instance, state, key}) => {
|
|
120
|
+
const resource = assertDatasetResource(key.resource)
|
|
121
|
+
|
|
122
|
+
const subscription = discover(instance, resource).subscribe((datasetName) =>
|
|
123
|
+
state.set(
|
|
124
|
+
'setAddonDataset',
|
|
125
|
+
datasetName ? {status: 'resolved', datasetName} : {status: 'missing'},
|
|
126
|
+
),
|
|
127
|
+
)
|
|
128
|
+
|
|
129
|
+
return () => subscription.unsubscribe()
|
|
130
|
+
},
|
|
131
|
+
})
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* The addon dataset's name: `undefined` while discovery is in flight, `null`
|
|
135
|
+
* when the project has none yet.
|
|
136
|
+
*
|
|
137
|
+
* @internal
|
|
138
|
+
*/
|
|
139
|
+
export const getAddonDatasetState: (
|
|
140
|
+
instance: SanityInstance,
|
|
141
|
+
options: {resource?: DocumentResource},
|
|
142
|
+
) => StateSource<string | null | undefined> = bindActionByResource(
|
|
143
|
+
addonDatasetStore,
|
|
144
|
+
createStateSourceAction(({state}: {state: AddonDatasetStoreState}) => {
|
|
145
|
+
if (state.status === 'unknown') return undefined
|
|
146
|
+
return state.datasetName ?? null
|
|
147
|
+
}),
|
|
148
|
+
)
|
|
149
|
+
|
|
150
|
+
/**
|
|
151
|
+
* Resolves the addon dataset, creating it if the project has none.
|
|
152
|
+
*
|
|
153
|
+
* Safe to call concurrently: the first call owns the request and later ones
|
|
154
|
+
* await the same promise. Provisioning is a one-time, project-wide side effect,
|
|
155
|
+
* so this is only called from the write path, when we know there is a comment
|
|
156
|
+
* to store.
|
|
157
|
+
*
|
|
158
|
+
* @internal
|
|
159
|
+
*/
|
|
160
|
+
export const provisionAddonDataset: (
|
|
161
|
+
instance: SanityInstance,
|
|
162
|
+
options: {resource?: DocumentResource},
|
|
163
|
+
) => Promise<string> = bindActionByResource(
|
|
164
|
+
addonDatasetStore,
|
|
165
|
+
({instance, state, key}: StoreContext<AddonDatasetStoreState, BoundResourceKey>) => {
|
|
166
|
+
const current = state.get()
|
|
167
|
+
if (current.datasetName) return Promise.resolve(current.datasetName)
|
|
168
|
+
if (current.provisioning) return current.provisioning
|
|
169
|
+
|
|
170
|
+
const resource = assertDatasetResource(key.resource)
|
|
171
|
+
|
|
172
|
+
const provisioning = (async () => {
|
|
173
|
+
// Another user may have provisioned it since this client started up, in
|
|
174
|
+
// which case creating it again would fail. Ask before writing.
|
|
175
|
+
const existing = await discoverOnce(instance, resource)
|
|
176
|
+
if (existing) return existing
|
|
177
|
+
|
|
178
|
+
const client = getClient(instance, {
|
|
179
|
+
apiVersion: ADDON_DATASET_API_VERSION,
|
|
180
|
+
projectId: resource.projectId,
|
|
181
|
+
useProjectHostname: true,
|
|
182
|
+
})
|
|
183
|
+
|
|
184
|
+
const response = await client.request<{datasetName?: string} | undefined>({
|
|
185
|
+
uri: `/comments/${resource.dataset}/setup`,
|
|
186
|
+
method: 'POST',
|
|
187
|
+
tag: 'comments.addon-dataset.setup',
|
|
188
|
+
})
|
|
189
|
+
|
|
190
|
+
if (!response?.datasetName) {
|
|
191
|
+
throw new Error('Creating the comments addon dataset returned no dataset name.')
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
return response.datasetName
|
|
195
|
+
})()
|
|
196
|
+
.then((datasetName) => {
|
|
197
|
+
state.set('setAddonDataset', {
|
|
198
|
+
status: 'resolved',
|
|
199
|
+
datasetName,
|
|
200
|
+
provisioning: undefined,
|
|
201
|
+
})
|
|
202
|
+
return datasetName
|
|
203
|
+
})
|
|
204
|
+
.catch((error: unknown) => {
|
|
205
|
+
// Clear the in-flight promise so a retry is not permanently stuck on
|
|
206
|
+
// this failure.
|
|
207
|
+
state.set('clearProvisioning', {provisioning: undefined})
|
|
208
|
+
throw error
|
|
209
|
+
})
|
|
210
|
+
|
|
211
|
+
state.set('startProvisioning', {provisioning})
|
|
212
|
+
|
|
213
|
+
return provisioning
|
|
214
|
+
},
|
|
215
|
+
)
|
|
216
|
+
|
|
217
|
+
/**
|
|
218
|
+
* A client pointed at the addon dataset, or `null` while the project has none.
|
|
219
|
+
*
|
|
220
|
+
* Emits again whenever the dataset is discovered or provisioned, and whenever
|
|
221
|
+
* the auth token changes. Long-lived readers must follow it rather than holding
|
|
222
|
+
* a client, because the client store drops every cached client on a token
|
|
223
|
+
* change.
|
|
224
|
+
*
|
|
225
|
+
* @internal
|
|
226
|
+
*/
|
|
227
|
+
export const observeAddonDatasetClient: (
|
|
228
|
+
instance: SanityInstance,
|
|
229
|
+
options: {resource?: DocumentResource},
|
|
230
|
+
) => Observable<SanityClient | null> = bindActionByResource(
|
|
231
|
+
addonDatasetStore,
|
|
232
|
+
({instance, key}: StoreContext<AddonDatasetStoreState, BoundResourceKey>) => {
|
|
233
|
+
const {projectId} = assertDatasetResource(key.resource)
|
|
234
|
+
|
|
235
|
+
return getAddonDatasetState(instance, {resource: key.resource}).observable.pipe(
|
|
236
|
+
distinctUntilChanged(),
|
|
237
|
+
filter((datasetName): datasetName is string | null => datasetName !== undefined),
|
|
238
|
+
switchMap((datasetName) =>
|
|
239
|
+
typeof datasetName === 'string'
|
|
240
|
+
? getClientState(instance, {
|
|
241
|
+
apiVersion: COMMENTS_API_VERSION,
|
|
242
|
+
projectId,
|
|
243
|
+
dataset: datasetName,
|
|
244
|
+
}).observable
|
|
245
|
+
: of(null),
|
|
246
|
+
),
|
|
247
|
+
)
|
|
248
|
+
},
|
|
249
|
+
)
|