@atlaskit/editor-synced-block-provider 3.1.0 → 3.2.1
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/CHANGELOG.md +14 -0
- package/dist/cjs/clients/block-service/ari.js +13 -16
- package/dist/cjs/clients/block-service/blockService.js +37 -14
- package/dist/cjs/clients/confluence/ari.js +7 -40
- package/dist/cjs/clients/confluence/sourceInfo.js +3 -1
- package/dist/cjs/clients/jira/ari.js +5 -2
- package/dist/cjs/index.js +2 -27
- package/dist/cjs/providers/block-service/blockServiceAPI.js +71 -28
- package/dist/cjs/providers/syncBlockProvider.js +57 -38
- package/dist/cjs/store-manager/sourceSyncBlockStoreManager.js +5 -8
- package/dist/es2019/clients/block-service/ari.js +15 -16
- package/dist/es2019/clients/block-service/blockService.js +39 -7
- package/dist/es2019/clients/confluence/ari.js +11 -37
- package/dist/es2019/clients/confluence/sourceInfo.js +3 -1
- package/dist/es2019/clients/jira/ari.js +9 -2
- package/dist/es2019/index.js +2 -3
- package/dist/es2019/providers/block-service/blockServiceAPI.js +75 -28
- package/dist/es2019/providers/syncBlockProvider.js +45 -25
- package/dist/es2019/store-manager/sourceSyncBlockStoreManager.js +5 -8
- package/dist/esm/clients/block-service/ari.js +13 -16
- package/dist/esm/clients/block-service/blockService.js +37 -14
- package/dist/esm/clients/confluence/ari.js +6 -39
- package/dist/esm/clients/confluence/sourceInfo.js +3 -1
- package/dist/esm/clients/jira/ari.js +5 -2
- package/dist/esm/index.js +2 -3
- package/dist/esm/providers/block-service/blockServiceAPI.js +70 -27
- package/dist/esm/providers/syncBlockProvider.js +57 -38
- package/dist/esm/store-manager/sourceSyncBlockStoreManager.js +4 -8
- package/dist/types/clients/block-service/ari.d.ts +14 -4
- package/dist/types/clients/block-service/blockService.d.ts +1 -2
- package/dist/types/clients/confluence/ari.d.ts +8 -21
- package/dist/types/clients/jira/ari.d.ts +7 -2
- package/dist/types/index.d.ts +5 -6
- package/dist/types/providers/block-service/blockServiceAPI.d.ts +31 -6
- package/dist/types/providers/syncBlockProvider.d.ts +14 -13
- package/dist/types/providers/types.d.ts +9 -6
- package/dist/types-ts4.5/clients/block-service/ari.d.ts +14 -4
- package/dist/types-ts4.5/clients/block-service/blockService.d.ts +1 -2
- package/dist/types-ts4.5/clients/confluence/ari.d.ts +8 -21
- package/dist/types-ts4.5/clients/jira/ari.d.ts +7 -2
- package/dist/types-ts4.5/index.d.ts +5 -6
- package/dist/types-ts4.5/providers/block-service/blockServiceAPI.d.ts +31 -6
- package/dist/types-ts4.5/providers/syncBlockProvider.d.ts +14 -13
- package/dist/types-ts4.5/providers/types.d.ts +9 -6
- package/package.json +1 -1
- package/dist/cjs/clients/confluence/contentProperty.js +0 -284
- package/dist/cjs/providers/confluence/confluenceContentAPI.js +0 -446
- package/dist/es2019/clients/confluence/contentProperty.js +0 -288
- package/dist/es2019/providers/confluence/confluenceContentAPI.js +0 -310
- package/dist/esm/clients/confluence/contentProperty.js +0 -277
- package/dist/esm/providers/confluence/confluenceContentAPI.js +0 -440
- package/dist/types/clients/confluence/contentProperty.d.ts +0 -139
- package/dist/types/providers/confluence/confluenceContentAPI.d.ts +0 -44
- package/dist/types-ts4.5/clients/confluence/contentProperty.d.ts +0 -139
- package/dist/types-ts4.5/providers/confluence/confluenceContentAPI.d.ts +0 -44
|
@@ -13,26 +13,22 @@ import { useMemo } from 'react';
|
|
|
13
13
|
import { getPageIdAndTypeFromConfluencePageAri } from '../clients/confluence/ari';
|
|
14
14
|
import { fetchConfluencePageInfo } from '../clients/confluence/sourceInfo';
|
|
15
15
|
import { SyncBlockError } from '../common/types';
|
|
16
|
-
import { SyncBlockDataProvider } from '
|
|
16
|
+
import { SyncBlockDataProvider } from './types';
|
|
17
17
|
export var SyncBlockProvider = /*#__PURE__*/function (_SyncBlockDataProvide) {
|
|
18
|
-
// the source document ARI; that the source sync block is on.
|
|
19
|
-
|
|
20
18
|
/**
|
|
21
19
|
* Constructor for the SyncBlockProvider
|
|
22
20
|
*
|
|
23
21
|
* @param fetchProvider
|
|
24
22
|
* @param writeProvider
|
|
25
|
-
* @param sourceId
|
|
26
23
|
* @param nestedRendererDataProviders
|
|
27
24
|
*/
|
|
28
|
-
function SyncBlockProvider(fetchProvider, writeProvider
|
|
25
|
+
function SyncBlockProvider(fetchProvider, writeProvider) {
|
|
29
26
|
var _this;
|
|
30
27
|
_classCallCheck(this, SyncBlockProvider);
|
|
31
28
|
_this = _callSuper(this, SyncBlockProvider);
|
|
32
29
|
_defineProperty(_this, "name", 'syncBlockProvider');
|
|
33
30
|
_this.fetchProvider = fetchProvider;
|
|
34
31
|
_this.writeProvider = writeProvider;
|
|
35
|
-
_this.sourceId = sourceId;
|
|
36
32
|
_this.providerOptions = {};
|
|
37
33
|
return _this;
|
|
38
34
|
}
|
|
@@ -42,11 +38,6 @@ export var SyncBlockProvider = /*#__PURE__*/function (_SyncBlockDataProvide) {
|
|
|
42
38
|
value: function setProviderOptions(providerOptions) {
|
|
43
39
|
this.providerOptions = providerOptions;
|
|
44
40
|
}
|
|
45
|
-
}, {
|
|
46
|
-
key: "getProduct",
|
|
47
|
-
value: function getProduct() {
|
|
48
|
-
return this.writeProvider.product;
|
|
49
|
-
}
|
|
50
41
|
|
|
51
42
|
/**
|
|
52
43
|
* Check if the node is supported by the provider
|
|
@@ -125,14 +116,24 @@ export var SyncBlockProvider = /*#__PURE__*/function (_SyncBlockDataProvide) {
|
|
|
125
116
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
126
117
|
while (1) switch (_context.prev = _context.next) {
|
|
127
118
|
case 0:
|
|
128
|
-
|
|
119
|
+
if (this.writeProvider) {
|
|
120
|
+
_context.next = 2;
|
|
121
|
+
break;
|
|
122
|
+
}
|
|
123
|
+
return _context.abrupt("return", Promise.reject(new Error('Write provider not set')));
|
|
124
|
+
case 2:
|
|
125
|
+
_context.next = 4;
|
|
129
126
|
return Promise.allSettled(nodes.map(function (_node, index) {
|
|
127
|
+
var _this3$writeProvider;
|
|
128
|
+
if (!_this3.writeProvider) {
|
|
129
|
+
return Promise.reject('Write provider not set');
|
|
130
|
+
}
|
|
130
131
|
if (!data[index].content) {
|
|
131
132
|
return Promise.reject('No Synced Block content to write');
|
|
132
133
|
}
|
|
133
|
-
return _this3.writeProvider.writeData(data[index]);
|
|
134
|
+
return (_this3$writeProvider = _this3.writeProvider) === null || _this3$writeProvider === void 0 ? void 0 : _this3$writeProvider.writeData(data[index]);
|
|
134
135
|
}));
|
|
135
|
-
case
|
|
136
|
+
case 4:
|
|
136
137
|
results = _context.sent;
|
|
137
138
|
return _context.abrupt("return", results.map(function (result) {
|
|
138
139
|
if (result.status === 'fulfilled') {
|
|
@@ -143,11 +144,11 @@ export var SyncBlockProvider = /*#__PURE__*/function (_SyncBlockDataProvide) {
|
|
|
143
144
|
};
|
|
144
145
|
}
|
|
145
146
|
}));
|
|
146
|
-
case
|
|
147
|
+
case 6:
|
|
147
148
|
case "end":
|
|
148
149
|
return _context.stop();
|
|
149
150
|
}
|
|
150
|
-
}, _callee);
|
|
151
|
+
}, _callee, this);
|
|
151
152
|
}));
|
|
152
153
|
function writeNodesData(_x, _x2) {
|
|
153
154
|
return _writeNodesData.apply(this, arguments);
|
|
@@ -157,6 +158,9 @@ export var SyncBlockProvider = /*#__PURE__*/function (_SyncBlockDataProvide) {
|
|
|
157
158
|
}, {
|
|
158
159
|
key: "createNodeData",
|
|
159
160
|
value: function createNodeData(data) {
|
|
161
|
+
if (!this.writeProvider) {
|
|
162
|
+
return Promise.reject(new Error('Write provider not set'));
|
|
163
|
+
}
|
|
160
164
|
return this.writeProvider.createData(data).then(function (result) {
|
|
161
165
|
return result;
|
|
162
166
|
}, function (error) {
|
|
@@ -182,11 +186,20 @@ export var SyncBlockProvider = /*#__PURE__*/function (_SyncBlockDataProvide) {
|
|
|
182
186
|
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
183
187
|
while (1) switch (_context2.prev = _context2.next) {
|
|
184
188
|
case 0:
|
|
185
|
-
|
|
189
|
+
if (this.writeProvider) {
|
|
190
|
+
_context2.next = 2;
|
|
191
|
+
break;
|
|
192
|
+
}
|
|
193
|
+
return _context2.abrupt("return", Promise.reject(new Error('Write provider not set')));
|
|
194
|
+
case 2:
|
|
195
|
+
_context2.next = 4;
|
|
186
196
|
return Promise.allSettled(resourceIds.map(function (resourceId) {
|
|
197
|
+
if (!_this4.writeProvider) {
|
|
198
|
+
return Promise.reject('Write provider not set');
|
|
199
|
+
}
|
|
187
200
|
return _this4.writeProvider.deleteData(resourceId);
|
|
188
201
|
}));
|
|
189
|
-
case
|
|
202
|
+
case 4:
|
|
190
203
|
results = _context2.sent;
|
|
191
204
|
return _context2.abrupt("return", results.map(function (result, index) {
|
|
192
205
|
if (result.status === 'fulfilled') {
|
|
@@ -199,29 +212,17 @@ export var SyncBlockProvider = /*#__PURE__*/function (_SyncBlockDataProvide) {
|
|
|
199
212
|
};
|
|
200
213
|
}
|
|
201
214
|
}));
|
|
202
|
-
case
|
|
215
|
+
case 6:
|
|
203
216
|
case "end":
|
|
204
217
|
return _context2.stop();
|
|
205
218
|
}
|
|
206
|
-
}, _callee2);
|
|
219
|
+
}, _callee2, this);
|
|
207
220
|
}));
|
|
208
221
|
function deleteNodesData(_x3) {
|
|
209
222
|
return _deleteNodesData.apply(this, arguments);
|
|
210
223
|
}
|
|
211
224
|
return deleteNodesData;
|
|
212
225
|
}()
|
|
213
|
-
/**
|
|
214
|
-
* Get the source id
|
|
215
|
-
*
|
|
216
|
-
* @returns The source id
|
|
217
|
-
*/
|
|
218
|
-
)
|
|
219
|
-
}, {
|
|
220
|
-
key: "getSourceId",
|
|
221
|
-
value: function getSourceId() {
|
|
222
|
-
return this.sourceId;
|
|
223
|
-
}
|
|
224
|
-
|
|
225
226
|
/**
|
|
226
227
|
* Fetch the source info from the source id
|
|
227
228
|
*
|
|
@@ -231,6 +232,7 @@ export var SyncBlockProvider = /*#__PURE__*/function (_SyncBlockDataProvide) {
|
|
|
231
232
|
*
|
|
232
233
|
* @returns The source info
|
|
233
234
|
*/
|
|
235
|
+
)
|
|
234
236
|
}, {
|
|
235
237
|
key: "fetchSyncBlockSourceInfo",
|
|
236
238
|
value: function fetchSyncBlockSourceInfo(localId, sourceAri, sourceProduct, fireAnalyticsEvent) {
|
|
@@ -248,12 +250,20 @@ export var SyncBlockProvider = /*#__PURE__*/function (_SyncBlockDataProvide) {
|
|
|
248
250
|
}
|
|
249
251
|
}, {
|
|
250
252
|
key: "generateResourceId",
|
|
251
|
-
value: function generateResourceId(
|
|
252
|
-
|
|
253
|
+
value: function generateResourceId() {
|
|
254
|
+
var localId = crypto.randomUUID();
|
|
255
|
+
var resourceId = crypto.randomUUID();
|
|
256
|
+
return {
|
|
257
|
+
localId: localId,
|
|
258
|
+
resourceId: resourceId
|
|
259
|
+
};
|
|
253
260
|
}
|
|
254
261
|
}, {
|
|
255
262
|
key: "generateResourceIdForReference",
|
|
256
263
|
value: function generateResourceIdForReference(sourceId) {
|
|
264
|
+
if (!this.writeProvider) {
|
|
265
|
+
throw new Error('Write provider not set');
|
|
266
|
+
}
|
|
257
267
|
return this.writeProvider.generateResourceIdForReference(sourceId);
|
|
258
268
|
}
|
|
259
269
|
|
|
@@ -285,7 +295,9 @@ export var SyncBlockProvider = /*#__PURE__*/function (_SyncBlockDataProvide) {
|
|
|
285
295
|
switch (sourceProduct) {
|
|
286
296
|
case 'confluence-page':
|
|
287
297
|
return {
|
|
288
|
-
contentId: getPageIdAndTypeFromConfluencePageAri(
|
|
298
|
+
contentId: getPageIdAndTypeFromConfluencePageAri({
|
|
299
|
+
ari: sourceAri
|
|
300
|
+
}).id,
|
|
289
301
|
contentProduct: sourceProduct
|
|
290
302
|
};
|
|
291
303
|
case 'jira-work-item':
|
|
@@ -297,14 +309,21 @@ export var SyncBlockProvider = /*#__PURE__*/function (_SyncBlockDataProvide) {
|
|
|
297
309
|
}, {
|
|
298
310
|
key: "updateReferenceData",
|
|
299
311
|
value: function updateReferenceData(blocks, noContent) {
|
|
312
|
+
if (!this.writeProvider) {
|
|
313
|
+
throw new Error('Write provider not set');
|
|
314
|
+
}
|
|
300
315
|
return this.writeProvider.updateReferenceData(blocks, noContent);
|
|
301
316
|
}
|
|
302
317
|
}]);
|
|
303
318
|
}(SyncBlockDataProvider);
|
|
304
|
-
export var useMemoizedSyncedBlockProvider = function useMemoizedSyncedBlockProvider(
|
|
319
|
+
export var useMemoizedSyncedBlockProvider = function useMemoizedSyncedBlockProvider(_ref) {
|
|
320
|
+
var fetchProvider = _ref.fetchProvider,
|
|
321
|
+
writeProvider = _ref.writeProvider,
|
|
322
|
+
providerOptions = _ref.providerOptions,
|
|
323
|
+
getSSRData = _ref.getSSRData;
|
|
305
324
|
var syncBlockProvider = useMemo(function () {
|
|
306
|
-
return new SyncBlockProvider(fetchProvider, writeProvider
|
|
307
|
-
}, [fetchProvider, writeProvider
|
|
325
|
+
return new SyncBlockProvider(fetchProvider, writeProvider);
|
|
326
|
+
}, [fetchProvider, writeProvider]);
|
|
308
327
|
syncBlockProvider.setProviderOptions(providerOptions);
|
|
309
328
|
var ssrData = getSSRData ? getSSRData() : undefined;
|
|
310
329
|
if (ssrData) {
|
|
@@ -5,8 +5,6 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
|
5
5
|
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
6
6
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
7
7
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
8
|
-
// eslint-disable-next-line @atlaskit/platform/prefer-crypto-random-uuid -- Use crypto.randomUUID instead
|
|
9
|
-
import uuid from 'uuid';
|
|
10
8
|
import { logException } from '@atlaskit/editor-common/monitoring';
|
|
11
9
|
import { SyncBlockError } from '../common/types';
|
|
12
10
|
import { updateErrorPayload, createErrorPayload, deleteErrorPayload, updateCacheErrorPayload } from '../utils/errorHandling';
|
|
@@ -231,14 +229,12 @@ export var SourceSyncBlockStoreManager = /*#__PURE__*/function () {
|
|
|
231
229
|
}, {
|
|
232
230
|
key: "generateBodiedSyncBlockAttrs",
|
|
233
231
|
value: function generateBodiedSyncBlockAttrs() {
|
|
234
|
-
|
|
235
|
-
// eslint-disable-next-line @atlaskit/platform/prefer-crypto-random-uuid -- Use crypto.randomUUID instead
|
|
236
|
-
var localId = uuid();
|
|
237
|
-
var sourceId = (_this$dataProvider = this.dataProvider) === null || _this$dataProvider === void 0 ? void 0 : _this$dataProvider.getSourceId();
|
|
238
|
-
if (!this.dataProvider || !sourceId) {
|
|
232
|
+
if (!this.dataProvider) {
|
|
239
233
|
throw new Error('Data provider not set or source id not set');
|
|
240
234
|
}
|
|
241
|
-
var
|
|
235
|
+
var _this$dataProvider$ge = this.dataProvider.generateResourceId(),
|
|
236
|
+
resourceId = _this$dataProvider$ge.resourceId,
|
|
237
|
+
localId = _this$dataProvider$ge.localId;
|
|
242
238
|
return {
|
|
243
239
|
resourceId: resourceId,
|
|
244
240
|
localId: localId
|
|
@@ -1,18 +1,28 @@
|
|
|
1
1
|
import { type SyncBlockProduct } from '../../common/types';
|
|
2
2
|
/**
|
|
3
3
|
* Generates the block ARI from the source page ARI and the source block's resource ID.
|
|
4
|
-
* @param
|
|
4
|
+
* @param cloudId - the cloudId of the block. E.G the cloudId of the confluence page, or the cloudId of the Jira instance
|
|
5
|
+
* @param parentId - the parentId of the block. E.G the pageId for a confluence page, or the issueId for a Jira work item
|
|
5
6
|
* @param resourceId - the resource ID of the block node. A randomly generated UUID
|
|
7
|
+
* @param product - the product of the block. E.G 'confluence-page', 'jira-work-item'
|
|
6
8
|
* @returns the block ARI. E.G ari:cloud:blocks:<cloudId>:synced-block/<product>/<pageId>/<resourceId>
|
|
7
9
|
*/
|
|
8
|
-
export declare const generateBlockAri: (
|
|
10
|
+
export declare const generateBlockAri: ({ cloudId, parentId, product, resourceId, }: {
|
|
11
|
+
cloudId: string;
|
|
12
|
+
parentId: string;
|
|
13
|
+
product: SyncBlockProduct;
|
|
14
|
+
resourceId: string;
|
|
15
|
+
}) => string;
|
|
9
16
|
/**
|
|
10
17
|
* Generates the block ARI from the reference synced block ARI and the resource ID
|
|
11
|
-
* @param
|
|
18
|
+
* @param cloudId - the cloudId of the block. E.G the cloudId of the confluence page, or the cloudId of the Jira instance
|
|
12
19
|
* @param resourceId - the resource ID of the reference synced block. E.G confluence-page/pageId/sourceResourceId
|
|
13
20
|
* @returns the block ARI. E.G ari:cloud:blocks:<cloudId>:synced-block/<product>/<pageId>/<resourceId>
|
|
14
21
|
*/
|
|
15
|
-
export declare const generateBlockAriFromReference: (
|
|
22
|
+
export declare const generateBlockAriFromReference: ({ cloudId, resourceId, }: {
|
|
23
|
+
cloudId: string;
|
|
24
|
+
resourceId: string;
|
|
25
|
+
}) => string;
|
|
16
26
|
/**
|
|
17
27
|
* Extracts the local ID from a block ARI.
|
|
18
28
|
* @param ari - the block ARI. E.G ari:cloud:blocks:cloudId:synced-block/localId
|
|
@@ -23,7 +23,7 @@ export declare const isBlockContentResponse: (response: BlockContentResponse | B
|
|
|
23
23
|
/**
|
|
24
24
|
* Retrieves all synced blocks referenced in a document.
|
|
25
25
|
*
|
|
26
|
-
* Calls the Block Service API
|
|
26
|
+
* Calls the Block Service GraphQL API: `blockService_getDocumentReferenceBlocks`
|
|
27
27
|
*
|
|
28
28
|
* @param documentAri - The ARI of the document to fetch synced blocks for
|
|
29
29
|
* @returns A promise containing arrays of successfully fetched blocks and any errors encountered
|
|
@@ -60,7 +60,6 @@ export declare const isBlockContentResponse: (response: BlockContentResponse | B
|
|
|
60
60
|
* ]
|
|
61
61
|
* }
|
|
62
62
|
* ```
|
|
63
|
-
* Check https://block-service.dev.atl-paas.net/ for latest API documentation.
|
|
64
63
|
*/
|
|
65
64
|
export declare const getReferenceSyncedBlocks: (documentAri: string) => Promise<ReferenceSyncedBlockResponse>;
|
|
66
65
|
export type GetSyncedBlockContentRequest = {
|
|
@@ -9,32 +9,19 @@ export type PAGE_TYPE = 'page' | 'blogpost';
|
|
|
9
9
|
* @param pageType - the type of the page
|
|
10
10
|
* @returns the Confluence page ARI
|
|
11
11
|
*/
|
|
12
|
-
export declare const getConfluencePageAri: (pageId
|
|
12
|
+
export declare const getConfluencePageAri: ({ pageId, cloudId, pageType, }: {
|
|
13
|
+
cloudId: string;
|
|
14
|
+
pageId: string;
|
|
15
|
+
pageType: PAGE_TYPE;
|
|
16
|
+
}) => string;
|
|
13
17
|
/**
|
|
14
18
|
* Extracts the page ID and type from the Confluence page ARI
|
|
15
19
|
* @param ari - the Confluence page ARI
|
|
16
20
|
* @returns the page ID and type
|
|
17
21
|
*/
|
|
18
|
-
export declare const getPageIdAndTypeFromConfluencePageAri: (ari:
|
|
22
|
+
export declare const getPageIdAndTypeFromConfluencePageAri: ({ ari, }: {
|
|
23
|
+
ari: string;
|
|
24
|
+
}) => {
|
|
19
25
|
id: string;
|
|
20
26
|
type: PAGE_TYPE;
|
|
21
27
|
};
|
|
22
|
-
/**
|
|
23
|
-
* Extracts the local ID from the Confluence page content property resource ID
|
|
24
|
-
* @param resourceId - the Confluence page content property resource ID
|
|
25
|
-
* @returns the local ID
|
|
26
|
-
*/
|
|
27
|
-
export declare const getLocalIdFromContentPropertyResourceId: (resourceId: string) => string;
|
|
28
|
-
/**
|
|
29
|
-
* Extracts the Confluence page ARI from the Confluence content property resource ID
|
|
30
|
-
* @param resourceId - the Confluence content property resource ID
|
|
31
|
-
* @returns the Confluence page ARI
|
|
32
|
-
*/
|
|
33
|
-
export declare const getPageAriFromContentPropertyResourceId: (resourceId: string) => string;
|
|
34
|
-
/**
|
|
35
|
-
* Generates the Confluence page content property resource ID from the source ID and local ID
|
|
36
|
-
* @param sourceId - the source ID
|
|
37
|
-
* @param localId - the local ID
|
|
38
|
-
* @returns the Confluence page content property resource ID
|
|
39
|
-
*/
|
|
40
|
-
export declare const resourceIdFromConfluencePageSourceIdAndLocalId: (sourceId: string, localId: string) => string;
|
|
@@ -4,10 +4,15 @@
|
|
|
4
4
|
* @param cloudId - the cloud ID
|
|
5
5
|
* @returns the Jira work item ARI
|
|
6
6
|
*/
|
|
7
|
-
export declare const getJiraWorkItemAri: (
|
|
7
|
+
export declare const getJiraWorkItemAri: ({ cloudId, workItemId, }: {
|
|
8
|
+
cloudId: string;
|
|
9
|
+
workItemId: string;
|
|
10
|
+
}) => string;
|
|
8
11
|
/**
|
|
9
12
|
* Extracts the Jira work item ID from the Jira work item ARI
|
|
10
13
|
* @param ari - the Jira work item ARI
|
|
11
14
|
* @returns the Jira work item ID
|
|
12
15
|
*/
|
|
13
|
-
export declare const getJiraWorkItemIdFromAri: (ari:
|
|
16
|
+
export declare const getJiraWorkItemIdFromAri: ({ ari }: {
|
|
17
|
+
ari: string;
|
|
18
|
+
}) => string;
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,20 +1,19 @@
|
|
|
1
1
|
export { rebaseTransaction } from './common/rebase-transaction';
|
|
2
2
|
export { SyncBlockError } from './common/types';
|
|
3
|
-
export type { SyncBlockData, SyncBlockNode, SyncBlockProduct, BlockInstanceId, } from './common/types';
|
|
3
|
+
export type { SyncBlockData, SyncBlockNode, SyncBlockProduct, BlockInstanceId, SyncBlockAttrs, } from './common/types';
|
|
4
4
|
export { useFetchSyncBlockData, type UseFetchSyncBlockDataResult, } from './hooks/useFetchSyncBlockData';
|
|
5
5
|
export { useFetchSyncBlockTitle } from './hooks/useFetchSyncBlockTitle';
|
|
6
6
|
export { useHandleContentChanges } from './hooks/useHandleContentChanges';
|
|
7
7
|
export { generateBlockAri, generateBlockAriFromReference, getLocalIdFromBlockResourceId, } from './clients/block-service/ari';
|
|
8
|
-
export { getConfluencePageAri,
|
|
8
|
+
export { getConfluencePageAri, getPageIdAndTypeFromConfluencePageAri, } from './clients/confluence/ari';
|
|
9
9
|
export { getJiraWorkItemAri, getJiraWorkItemIdFromAri } from './clients/jira/ari';
|
|
10
|
-
export { useMemoizedBlockServiceAPIProviders } from './providers/block-service/blockServiceAPI';
|
|
11
|
-
export { createContentAPIProvidersWithDefaultKey, useMemoizedContentAPIProviders, } from './providers/confluence/confluenceContentAPI';
|
|
10
|
+
export { useMemoizedBlockServiceAPIProviders, useMemoizedBlockServiceFetchOnlyAPIProvider, } from './providers/block-service/blockServiceAPI';
|
|
12
11
|
export { fetchConfluencePageInfo } from './clients/confluence/sourceInfo';
|
|
13
12
|
export { SyncBlockProvider as SyncedBlockProvider, useMemoizedSyncedBlockProvider, } from './providers/syncBlockProvider';
|
|
14
|
-
export type { ADFFetchProvider, ADFWriteProvider, SyncBlockDataProvider, SyncBlockInstance, MediaEmojiProviderOptions, SyncedBlockRendererProviderOptions, SyncBlockRendererProviderCreator, SyncedBlockRendererDataProviders, } from './providers/types';
|
|
13
|
+
export type { ADFFetchProvider, ADFWriteProvider, SyncBlockDataProvider, SyncBlockInstance, MediaEmojiProviderOptions, SyncedBlockRendererProviderOptions, SyncBlockRendererProviderCreator, SyncedBlockRendererDataProviders, UpdateReferenceSyncBlockResult, WriteSyncBlockResult, SyncBlockParentInfo, } from './providers/types';
|
|
15
14
|
export { type ReferenceSyncBlockStoreManager } from './store-manager/referenceSyncBlockStoreManager';
|
|
16
15
|
export { SyncBlockStoreManager, useMemoizedSyncBlockStoreManager, } from './store-manager/syncBlockStoreManager';
|
|
17
16
|
export { resolveSyncBlockInstance } from './utils/resolveSyncBlockInstance';
|
|
18
|
-
export { createSyncBlockNode, convertSyncBlockPMNodeToSyncBlockData, convertSyncBlockJSONNodeToSyncBlockNode, convertPMNodesToSyncBlockNodes, getContentIdAndProductFromResourceId } from './utils/utils';
|
|
17
|
+
export { createSyncBlockNode, convertSyncBlockPMNodeToSyncBlockData, convertSyncBlockJSONNodeToSyncBlockNode, convertPMNodesToSyncBlockNodes, getContentIdAndProductFromResourceId, } from './utils/utils';
|
|
19
18
|
export { fetchErrorPayload } from './utils/errorHandling';
|
|
20
19
|
export { fetchReferences } from './providers/block-service/blockServiceAPI';
|
|
@@ -1,23 +1,34 @@
|
|
|
1
1
|
import { SyncBlockError, type ResourceId, type SyncBlockAttrs, type SyncBlockData, type SyncBlockProduct } from '../../common/types';
|
|
2
2
|
import type { ADFFetchProvider, ADFWriteProvider, DeleteSyncBlockResult, SyncBlockInstance, UpdateReferenceSyncBlockResult, WriteSyncBlockResult } from '../types';
|
|
3
3
|
export declare const fetchReferences: (documentAri: string) => Promise<SyncBlockInstance[] | SyncBlockError>;
|
|
4
|
+
interface BlockServiceADFFetchProviderProps {
|
|
5
|
+
cloudId: string;
|
|
6
|
+
}
|
|
4
7
|
/**
|
|
5
8
|
* ADFFetchProvider implementation that fetches synced block data from Block Service API
|
|
6
9
|
*/
|
|
7
10
|
declare class BlockServiceADFFetchProvider implements ADFFetchProvider {
|
|
8
|
-
private
|
|
9
|
-
constructor(
|
|
11
|
+
private cloudId;
|
|
12
|
+
constructor({ cloudId }: BlockServiceADFFetchProviderProps);
|
|
10
13
|
fetchData(resourceId: string): Promise<SyncBlockInstance>;
|
|
11
14
|
}
|
|
15
|
+
interface BlockServiceADFWriteProviderProps {
|
|
16
|
+
cloudId: string;
|
|
17
|
+
getVersion?: () => number | undefined;
|
|
18
|
+
parentAri: string;
|
|
19
|
+
parentId: string;
|
|
20
|
+
product: SyncBlockProduct;
|
|
21
|
+
}
|
|
12
22
|
/**
|
|
13
23
|
* ADFWriteProvider implementation that writes synced block data to Block Service API
|
|
14
24
|
*/
|
|
15
25
|
declare class BlockServiceADFWriteProvider implements ADFWriteProvider {
|
|
16
|
-
private
|
|
17
|
-
private
|
|
26
|
+
private cloudId;
|
|
27
|
+
private parentAri;
|
|
28
|
+
private parentId;
|
|
18
29
|
private getVersion?;
|
|
19
30
|
product: SyncBlockProduct;
|
|
20
|
-
constructor(
|
|
31
|
+
constructor({ cloudId, parentAri, parentId, product, getVersion, }: BlockServiceADFWriteProviderProps);
|
|
21
32
|
writeData(data: SyncBlockData): Promise<WriteSyncBlockResult>;
|
|
22
33
|
createData(data: SyncBlockData): Promise<WriteSyncBlockResult>;
|
|
23
34
|
deleteData(resourceId: string): Promise<DeleteSyncBlockResult>;
|
|
@@ -25,8 +36,22 @@ declare class BlockServiceADFWriteProvider implements ADFWriteProvider {
|
|
|
25
36
|
generateResourceId(): ResourceId;
|
|
26
37
|
updateReferenceData(blocks: SyncBlockAttrs[], noContent?: boolean): Promise<UpdateReferenceSyncBlockResult>;
|
|
27
38
|
}
|
|
28
|
-
|
|
39
|
+
interface BlockServiceAPIProvidersProps {
|
|
40
|
+
cloudId: string;
|
|
41
|
+
getVersion?: () => number | undefined;
|
|
42
|
+
parentAri: string;
|
|
43
|
+
parentId: string;
|
|
44
|
+
product: SyncBlockProduct;
|
|
45
|
+
}
|
|
46
|
+
export declare const useMemoizedBlockServiceAPIProviders: ({ cloudId, parentAri, parentId, product, getVersion, }: BlockServiceAPIProvidersProps) => {
|
|
29
47
|
fetchProvider: BlockServiceADFFetchProvider;
|
|
30
48
|
writeProvider: BlockServiceADFWriteProvider;
|
|
31
49
|
};
|
|
50
|
+
interface BlockServiceFetchOnlyAPIProviderProps {
|
|
51
|
+
cloudId: string;
|
|
52
|
+
}
|
|
53
|
+
export declare const useMemoizedBlockServiceFetchOnlyAPIProvider: ({ cloudId, }: BlockServiceFetchOnlyAPIProviderProps) => {
|
|
54
|
+
fetchProvider: BlockServiceADFFetchProvider;
|
|
55
|
+
writeProvider: undefined;
|
|
56
|
+
};
|
|
32
57
|
export {};
|
|
@@ -1,24 +1,21 @@
|
|
|
1
1
|
import type { RendererSyncBlockEventPayload } from '@atlaskit/editor-common/analytics';
|
|
2
2
|
import type { JSONNode } from '@atlaskit/editor-json-transformer/types';
|
|
3
3
|
import { type BlockInstanceId, type ResourceId, type SyncBlockAttrs, type SyncBlockData, type SyncBlockNode, type SyncBlockProduct } from '../common/types';
|
|
4
|
-
import { SyncBlockDataProvider, type ADFFetchProvider, type ADFWriteProvider, type DeleteSyncBlockResult, type SyncBlockInstance, type SyncBlockParentInfo, type SyncBlockSourceInfo, type SyncedBlockRendererProviderOptions, type UpdateReferenceSyncBlockResult, type WriteSyncBlockResult } from '
|
|
4
|
+
import { SyncBlockDataProvider, type ADFFetchProvider, type ADFWriteProvider, type DeleteSyncBlockResult, type SyncBlockInstance, type SyncBlockParentInfo, type SyncBlockSourceInfo, type SyncedBlockRendererProviderOptions, type UpdateReferenceSyncBlockResult, type WriteSyncBlockResult } from './types';
|
|
5
5
|
export declare class SyncBlockProvider extends SyncBlockDataProvider {
|
|
6
6
|
name: string;
|
|
7
7
|
private fetchProvider;
|
|
8
8
|
private writeProvider;
|
|
9
|
-
private sourceId;
|
|
10
9
|
private providerOptions;
|
|
11
10
|
/**
|
|
12
11
|
* Constructor for the SyncBlockProvider
|
|
13
12
|
*
|
|
14
13
|
* @param fetchProvider
|
|
15
14
|
* @param writeProvider
|
|
16
|
-
* @param sourceId
|
|
17
15
|
* @param nestedRendererDataProviders
|
|
18
16
|
*/
|
|
19
|
-
constructor(fetchProvider: ADFFetchProvider, writeProvider: ADFWriteProvider
|
|
17
|
+
constructor(fetchProvider: ADFFetchProvider, writeProvider: ADFWriteProvider | undefined);
|
|
20
18
|
setProviderOptions(providerOptions: SyncedBlockRendererProviderOptions): void;
|
|
21
|
-
getProduct(): SyncBlockProduct | undefined;
|
|
22
19
|
/**
|
|
23
20
|
* Check if the node is supported by the provider
|
|
24
21
|
*
|
|
@@ -62,12 +59,6 @@ export declare class SyncBlockProvider extends SyncBlockDataProvider {
|
|
|
62
59
|
* @returns Array of {resourceId?: string, error?: string}.
|
|
63
60
|
*/
|
|
64
61
|
deleteNodesData(resourceIds: ResourceId[]): Promise<Array<DeleteSyncBlockResult>>;
|
|
65
|
-
/**
|
|
66
|
-
* Get the source id
|
|
67
|
-
*
|
|
68
|
-
* @returns The source id
|
|
69
|
-
*/
|
|
70
|
-
getSourceId(): string;
|
|
71
62
|
/**
|
|
72
63
|
* Fetch the source info from the source id
|
|
73
64
|
*
|
|
@@ -78,7 +69,10 @@ export declare class SyncBlockProvider extends SyncBlockDataProvider {
|
|
|
78
69
|
* @returns The source info
|
|
79
70
|
*/
|
|
80
71
|
fetchSyncBlockSourceInfo(localId: BlockInstanceId, sourceAri: string, sourceProduct: SyncBlockProduct, fireAnalyticsEvent?: (payload: RendererSyncBlockEventPayload) => void): Promise<SyncBlockSourceInfo | undefined>;
|
|
81
|
-
generateResourceId(
|
|
72
|
+
generateResourceId(): {
|
|
73
|
+
localId: BlockInstanceId;
|
|
74
|
+
resourceId: ResourceId;
|
|
75
|
+
};
|
|
82
76
|
generateResourceIdForReference(sourceId: ResourceId): ResourceId;
|
|
83
77
|
/**
|
|
84
78
|
* Get the synced block renderer provider options
|
|
@@ -97,4 +91,11 @@ export declare class SyncBlockProvider extends SyncBlockDataProvider {
|
|
|
97
91
|
retrieveSyncBlockParentInfo(sourceAri: string, sourceProduct: SyncBlockProduct): SyncBlockParentInfo | undefined;
|
|
98
92
|
updateReferenceData(blocks: SyncBlockAttrs[], noContent?: boolean): Promise<UpdateReferenceSyncBlockResult>;
|
|
99
93
|
}
|
|
100
|
-
|
|
94
|
+
type UseMemoizedSyncedBlockProviderProps = {
|
|
95
|
+
fetchProvider: ADFFetchProvider;
|
|
96
|
+
getSSRData?: () => Record<string, SyncBlockInstance> | undefined;
|
|
97
|
+
providerOptions: SyncedBlockRendererProviderOptions;
|
|
98
|
+
writeProvider: ADFWriteProvider | undefined;
|
|
99
|
+
};
|
|
100
|
+
export declare const useMemoizedSyncedBlockProvider: ({ fetchProvider, writeProvider, providerOptions, getSSRData, }: UseMemoizedSyncedBlockProviderProps) => SyncBlockProvider;
|
|
101
|
+
export {};
|
|
@@ -55,7 +55,6 @@ export interface ADFWriteProvider {
|
|
|
55
55
|
* User should not be blocked by not_found error when deleting, so successful result should be returned for 404 error
|
|
56
56
|
*/
|
|
57
57
|
deleteData: (resourceId: ResourceId) => Promise<DeleteSyncBlockResult>;
|
|
58
|
-
generateResourceId: (sourceId: string, localId: string) => ResourceId;
|
|
59
58
|
generateResourceIdForReference: (sourceId: ResourceId) => ResourceId;
|
|
60
59
|
product: SyncBlockProduct;
|
|
61
60
|
updateReferenceData: (blocks: SyncBlockAttrs[], noContent?: boolean) => Promise<UpdateReferenceSyncBlockResult>;
|
|
@@ -82,19 +81,23 @@ export declare abstract class SyncBlockDataProvider extends NodeDataProvider<Syn
|
|
|
82
81
|
abstract writeNodesData(nodes: SyncBlockNode[], data: SyncBlockData[]): Promise<Array<WriteSyncBlockResult>>;
|
|
83
82
|
abstract createNodeData(data: SyncBlockData): Promise<WriteSyncBlockResult>;
|
|
84
83
|
abstract deleteNodesData(resourceIds: string[]): Promise<Array<DeleteSyncBlockResult>>;
|
|
85
|
-
abstract getSourceId(): ResourceId;
|
|
86
|
-
abstract getProduct(): SyncBlockProduct | undefined;
|
|
87
84
|
abstract fetchSyncBlockSourceInfo(localId: BlockInstanceId, sourceAri: string, sourceProduct: SyncBlockProduct, fireAnalyticsEvent?: (payload: RendererSyncBlockEventPayload) => void): Promise<SyncBlockSourceInfo | undefined>;
|
|
88
85
|
abstract setProviderOptions(providerOptions: SyncedBlockRendererProviderOptions): void;
|
|
89
86
|
abstract getSyncedBlockRendererProviderOptions(): SyncedBlockRendererProviderOptions;
|
|
90
87
|
abstract retrieveSyncBlockParentInfo(sourceAri: string, sourceProduct: SyncBlockProduct): SyncBlockParentInfo | undefined;
|
|
91
88
|
/**
|
|
92
|
-
* Generates a resource ID
|
|
89
|
+
* Generates a resource ID for source synced block.
|
|
90
|
+
* @returns The generated resource ID
|
|
91
|
+
*/
|
|
92
|
+
abstract generateResourceId(): {
|
|
93
|
+
localId: BlockInstanceId;
|
|
94
|
+
resourceId: ResourceId;
|
|
95
|
+
};
|
|
96
|
+
/**
|
|
97
|
+
* Generates a resource ID for reference synced block.
|
|
93
98
|
* @param sourceId - The source document ID (e.g., page ARI)
|
|
94
|
-
* @param localId - The local block ID (usually a UUID)
|
|
95
99
|
* @returns The generated resource ID
|
|
96
100
|
*/
|
|
97
|
-
abstract generateResourceId(sourceId: ResourceId, localId: BlockInstanceId): ResourceId;
|
|
98
101
|
abstract generateResourceIdForReference(sourceId: ResourceId): ResourceId;
|
|
99
102
|
abstract updateReferenceData(blocks: SyncBlockAttrs[], noContent?: boolean): Promise<UpdateReferenceSyncBlockResult>;
|
|
100
103
|
}
|
|
@@ -1,18 +1,28 @@
|
|
|
1
1
|
import { type SyncBlockProduct } from '../../common/types';
|
|
2
2
|
/**
|
|
3
3
|
* Generates the block ARI from the source page ARI and the source block's resource ID.
|
|
4
|
-
* @param
|
|
4
|
+
* @param cloudId - the cloudId of the block. E.G the cloudId of the confluence page, or the cloudId of the Jira instance
|
|
5
|
+
* @param parentId - the parentId of the block. E.G the pageId for a confluence page, or the issueId for a Jira work item
|
|
5
6
|
* @param resourceId - the resource ID of the block node. A randomly generated UUID
|
|
7
|
+
* @param product - the product of the block. E.G 'confluence-page', 'jira-work-item'
|
|
6
8
|
* @returns the block ARI. E.G ari:cloud:blocks:<cloudId>:synced-block/<product>/<pageId>/<resourceId>
|
|
7
9
|
*/
|
|
8
|
-
export declare const generateBlockAri: (
|
|
10
|
+
export declare const generateBlockAri: ({ cloudId, parentId, product, resourceId, }: {
|
|
11
|
+
cloudId: string;
|
|
12
|
+
parentId: string;
|
|
13
|
+
product: SyncBlockProduct;
|
|
14
|
+
resourceId: string;
|
|
15
|
+
}) => string;
|
|
9
16
|
/**
|
|
10
17
|
* Generates the block ARI from the reference synced block ARI and the resource ID
|
|
11
|
-
* @param
|
|
18
|
+
* @param cloudId - the cloudId of the block. E.G the cloudId of the confluence page, or the cloudId of the Jira instance
|
|
12
19
|
* @param resourceId - the resource ID of the reference synced block. E.G confluence-page/pageId/sourceResourceId
|
|
13
20
|
* @returns the block ARI. E.G ari:cloud:blocks:<cloudId>:synced-block/<product>/<pageId>/<resourceId>
|
|
14
21
|
*/
|
|
15
|
-
export declare const generateBlockAriFromReference: (
|
|
22
|
+
export declare const generateBlockAriFromReference: ({ cloudId, resourceId, }: {
|
|
23
|
+
cloudId: string;
|
|
24
|
+
resourceId: string;
|
|
25
|
+
}) => string;
|
|
16
26
|
/**
|
|
17
27
|
* Extracts the local ID from a block ARI.
|
|
18
28
|
* @param ari - the block ARI. E.G ari:cloud:blocks:cloudId:synced-block/localId
|
|
@@ -23,7 +23,7 @@ export declare const isBlockContentResponse: (response: BlockContentResponse | B
|
|
|
23
23
|
/**
|
|
24
24
|
* Retrieves all synced blocks referenced in a document.
|
|
25
25
|
*
|
|
26
|
-
* Calls the Block Service API
|
|
26
|
+
* Calls the Block Service GraphQL API: `blockService_getDocumentReferenceBlocks`
|
|
27
27
|
*
|
|
28
28
|
* @param documentAri - The ARI of the document to fetch synced blocks for
|
|
29
29
|
* @returns A promise containing arrays of successfully fetched blocks and any errors encountered
|
|
@@ -60,7 +60,6 @@ export declare const isBlockContentResponse: (response: BlockContentResponse | B
|
|
|
60
60
|
* ]
|
|
61
61
|
* }
|
|
62
62
|
* ```
|
|
63
|
-
* Check https://block-service.dev.atl-paas.net/ for latest API documentation.
|
|
64
63
|
*/
|
|
65
64
|
export declare const getReferenceSyncedBlocks: (documentAri: string) => Promise<ReferenceSyncedBlockResponse>;
|
|
66
65
|
export type GetSyncedBlockContentRequest = {
|
|
@@ -9,32 +9,19 @@ export type PAGE_TYPE = 'page' | 'blogpost';
|
|
|
9
9
|
* @param pageType - the type of the page
|
|
10
10
|
* @returns the Confluence page ARI
|
|
11
11
|
*/
|
|
12
|
-
export declare const getConfluencePageAri: (pageId
|
|
12
|
+
export declare const getConfluencePageAri: ({ pageId, cloudId, pageType, }: {
|
|
13
|
+
cloudId: string;
|
|
14
|
+
pageId: string;
|
|
15
|
+
pageType: PAGE_TYPE;
|
|
16
|
+
}) => string;
|
|
13
17
|
/**
|
|
14
18
|
* Extracts the page ID and type from the Confluence page ARI
|
|
15
19
|
* @param ari - the Confluence page ARI
|
|
16
20
|
* @returns the page ID and type
|
|
17
21
|
*/
|
|
18
|
-
export declare const getPageIdAndTypeFromConfluencePageAri: (ari:
|
|
22
|
+
export declare const getPageIdAndTypeFromConfluencePageAri: ({ ari, }: {
|
|
23
|
+
ari: string;
|
|
24
|
+
}) => {
|
|
19
25
|
id: string;
|
|
20
26
|
type: PAGE_TYPE;
|
|
21
27
|
};
|
|
22
|
-
/**
|
|
23
|
-
* Extracts the local ID from the Confluence page content property resource ID
|
|
24
|
-
* @param resourceId - the Confluence page content property resource ID
|
|
25
|
-
* @returns the local ID
|
|
26
|
-
*/
|
|
27
|
-
export declare const getLocalIdFromContentPropertyResourceId: (resourceId: string) => string;
|
|
28
|
-
/**
|
|
29
|
-
* Extracts the Confluence page ARI from the Confluence content property resource ID
|
|
30
|
-
* @param resourceId - the Confluence content property resource ID
|
|
31
|
-
* @returns the Confluence page ARI
|
|
32
|
-
*/
|
|
33
|
-
export declare const getPageAriFromContentPropertyResourceId: (resourceId: string) => string;
|
|
34
|
-
/**
|
|
35
|
-
* Generates the Confluence page content property resource ID from the source ID and local ID
|
|
36
|
-
* @param sourceId - the source ID
|
|
37
|
-
* @param localId - the local ID
|
|
38
|
-
* @returns the Confluence page content property resource ID
|
|
39
|
-
*/
|
|
40
|
-
export declare const resourceIdFromConfluencePageSourceIdAndLocalId: (sourceId: string, localId: string) => string;
|