@atlaskit/editor-synced-block-provider 3.2.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.
Files changed (50) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/cjs/clients/block-service/ari.js +13 -16
  3. package/dist/cjs/clients/confluence/ari.js +7 -40
  4. package/dist/cjs/clients/confluence/sourceInfo.js +3 -1
  5. package/dist/cjs/clients/jira/ari.js +5 -2
  6. package/dist/cjs/index.js +2 -27
  7. package/dist/cjs/providers/block-service/blockServiceAPI.js +71 -28
  8. package/dist/cjs/providers/syncBlockProvider.js +57 -38
  9. package/dist/cjs/store-manager/sourceSyncBlockStoreManager.js +5 -8
  10. package/dist/es2019/clients/block-service/ari.js +15 -16
  11. package/dist/es2019/clients/confluence/ari.js +11 -37
  12. package/dist/es2019/clients/confluence/sourceInfo.js +3 -1
  13. package/dist/es2019/clients/jira/ari.js +9 -2
  14. package/dist/es2019/index.js +2 -3
  15. package/dist/es2019/providers/block-service/blockServiceAPI.js +75 -28
  16. package/dist/es2019/providers/syncBlockProvider.js +45 -25
  17. package/dist/es2019/store-manager/sourceSyncBlockStoreManager.js +5 -8
  18. package/dist/esm/clients/block-service/ari.js +13 -16
  19. package/dist/esm/clients/confluence/ari.js +6 -39
  20. package/dist/esm/clients/confluence/sourceInfo.js +3 -1
  21. package/dist/esm/clients/jira/ari.js +5 -2
  22. package/dist/esm/index.js +2 -3
  23. package/dist/esm/providers/block-service/blockServiceAPI.js +70 -27
  24. package/dist/esm/providers/syncBlockProvider.js +57 -38
  25. package/dist/esm/store-manager/sourceSyncBlockStoreManager.js +4 -8
  26. package/dist/types/clients/block-service/ari.d.ts +14 -4
  27. package/dist/types/clients/confluence/ari.d.ts +8 -21
  28. package/dist/types/clients/jira/ari.d.ts +7 -2
  29. package/dist/types/index.d.ts +5 -6
  30. package/dist/types/providers/block-service/blockServiceAPI.d.ts +31 -6
  31. package/dist/types/providers/syncBlockProvider.d.ts +14 -13
  32. package/dist/types/providers/types.d.ts +9 -6
  33. package/dist/types-ts4.5/clients/block-service/ari.d.ts +14 -4
  34. package/dist/types-ts4.5/clients/confluence/ari.d.ts +8 -21
  35. package/dist/types-ts4.5/clients/jira/ari.d.ts +7 -2
  36. package/dist/types-ts4.5/index.d.ts +5 -6
  37. package/dist/types-ts4.5/providers/block-service/blockServiceAPI.d.ts +31 -6
  38. package/dist/types-ts4.5/providers/syncBlockProvider.d.ts +14 -13
  39. package/dist/types-ts4.5/providers/types.d.ts +9 -6
  40. package/package.json +1 -1
  41. package/dist/cjs/clients/confluence/contentProperty.js +0 -284
  42. package/dist/cjs/providers/confluence/confluenceContentAPI.js +0 -446
  43. package/dist/es2019/clients/confluence/contentProperty.js +0 -288
  44. package/dist/es2019/providers/confluence/confluenceContentAPI.js +0 -310
  45. package/dist/esm/clients/confluence/contentProperty.js +0 -277
  46. package/dist/esm/providers/confluence/confluenceContentAPI.js +0 -440
  47. package/dist/types/clients/confluence/contentProperty.d.ts +0 -139
  48. package/dist/types/providers/confluence/confluenceContentAPI.d.ts +0 -44
  49. package/dist/types-ts4.5/clients/confluence/contentProperty.d.ts +0 -139
  50. package/dist/types-ts4.5/providers/confluence/confluenceContentAPI.d.ts +0 -44
package/dist/esm/index.js CHANGED
@@ -10,12 +10,11 @@ export { useHandleContentChanges } from './hooks/useHandleContentChanges';
10
10
 
11
11
  // clients
12
12
  export { generateBlockAri, generateBlockAriFromReference, getLocalIdFromBlockResourceId } from './clients/block-service/ari';
13
- export { getConfluencePageAri, getLocalIdFromContentPropertyResourceId, getPageAriFromContentPropertyResourceId, getPageIdAndTypeFromConfluencePageAri, resourceIdFromConfluencePageSourceIdAndLocalId } from './clients/confluence/ari';
13
+ export { getConfluencePageAri, getPageIdAndTypeFromConfluencePageAri } from './clients/confluence/ari';
14
14
  export { getJiraWorkItemAri, getJiraWorkItemIdFromAri } from './clients/jira/ari';
15
15
 
16
16
  // providers
17
- export { useMemoizedBlockServiceAPIProviders } from './providers/block-service/blockServiceAPI';
18
- export { createContentAPIProvidersWithDefaultKey, useMemoizedContentAPIProviders } from './providers/confluence/confluenceContentAPI';
17
+ export { useMemoizedBlockServiceAPIProviders, useMemoizedBlockServiceFetchOnlyAPIProvider } from './providers/block-service/blockServiceAPI';
19
18
  export { fetchConfluencePageInfo } from './clients/confluence/sourceInfo';
20
19
  export { SyncBlockProvider as SyncedBlockProvider, useMemoizedSyncedBlockProvider } from './providers/syncBlockProvider';
21
20
 
@@ -104,14 +104,14 @@ export var fetchReferences = /*#__PURE__*/function () {
104
104
  return _ref.apply(this, arguments);
105
105
  };
106
106
  }();
107
-
108
107
  /**
109
108
  * ADFFetchProvider implementation that fetches synced block data from Block Service API
110
109
  */
111
110
  var BlockServiceADFFetchProvider = /*#__PURE__*/function () {
112
- function BlockServiceADFFetchProvider(sourceAri) {
111
+ function BlockServiceADFFetchProvider(_ref3) {
112
+ var cloudId = _ref3.cloudId;
113
113
  _classCallCheck(this, BlockServiceADFFetchProvider);
114
- this.sourceAri = sourceAri;
114
+ this.cloudId = cloudId;
115
115
  }
116
116
 
117
117
  // resourceId of the reference synced block.
@@ -124,7 +124,10 @@ var BlockServiceADFFetchProvider = /*#__PURE__*/function () {
124
124
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
125
125
  while (1) switch (_context2.prev = _context2.next) {
126
126
  case 0:
127
- blockAri = generateBlockAriFromReference(this.sourceAri, resourceId);
127
+ blockAri = generateBlockAriFromReference({
128
+ cloudId: this.cloudId,
129
+ resourceId: resourceId
130
+ });
128
131
  _context2.prev = 1;
129
132
  _context2.next = 4;
130
133
  return getSyncedBlockContent({
@@ -188,11 +191,17 @@ var BlockServiceADFFetchProvider = /*#__PURE__*/function () {
188
191
  * ADFWriteProvider implementation that writes synced block data to Block Service API
189
192
  */
190
193
  var BlockServiceADFWriteProvider = /*#__PURE__*/function () {
191
- function BlockServiceADFWriteProvider(sourceAri, product, sourceDocumentId, getVersion) {
194
+ function BlockServiceADFWriteProvider(_ref4) {
195
+ var cloudId = _ref4.cloudId,
196
+ parentAri = _ref4.parentAri,
197
+ parentId = _ref4.parentId,
198
+ product = _ref4.product,
199
+ getVersion = _ref4.getVersion;
192
200
  _classCallCheck(this, BlockServiceADFWriteProvider);
193
- this.sourceAri = sourceAri;
201
+ this.cloudId = cloudId;
202
+ this.parentAri = parentAri;
203
+ this.parentId = parentId;
194
204
  this.product = product;
195
- this.sourceDocumentId = sourceDocumentId;
196
205
  this.getVersion = getVersion;
197
206
  }
198
207
 
@@ -206,7 +215,12 @@ var BlockServiceADFWriteProvider = /*#__PURE__*/function () {
206
215
  while (1) switch (_context3.prev = _context3.next) {
207
216
  case 0:
208
217
  resourceId = data.resourceId;
209
- blockAri = generateBlockAri(this.sourceAri, resourceId, this.product);
218
+ blockAri = generateBlockAri({
219
+ cloudId: this.cloudId,
220
+ parentId: this.parentId,
221
+ product: this.product,
222
+ resourceId: resourceId
223
+ });
210
224
  stepVersion = this.getVersion ? this.getVersion() : undefined;
211
225
  _context3.prev = 3;
212
226
  _context3.next = 6;
@@ -255,14 +269,19 @@ var BlockServiceADFWriteProvider = /*#__PURE__*/function () {
255
269
  while (1) switch (_context4.prev = _context4.next) {
256
270
  case 0:
257
271
  resourceId = data.resourceId;
258
- blockAri = generateBlockAri(this.sourceAri, resourceId, this.product);
272
+ blockAri = generateBlockAri({
273
+ cloudId: this.cloudId,
274
+ parentId: this.parentId,
275
+ product: this.product,
276
+ resourceId: resourceId
277
+ });
259
278
  stepVersion = this.getVersion ? this.getVersion() : undefined;
260
279
  _context4.prev = 3;
261
280
  _context4.next = 6;
262
281
  return createSyncedBlock({
263
282
  blockAri: blockAri,
264
283
  blockInstanceId: data.blockInstanceId,
265
- sourceAri: this.sourceAri,
284
+ sourceAri: this.parentAri,
266
285
  product: this.product,
267
286
  content: JSON.stringify(data.content),
268
287
  stepVersion: stepVersion
@@ -306,7 +325,12 @@ var BlockServiceADFWriteProvider = /*#__PURE__*/function () {
306
325
  return _regeneratorRuntime.wrap(function _callee5$(_context5) {
307
326
  while (1) switch (_context5.prev = _context5.next) {
308
327
  case 0:
309
- blockAri = generateBlockAri(this.sourceAri, resourceId, this.product);
328
+ blockAri = generateBlockAri({
329
+ cloudId: this.cloudId,
330
+ parentId: this.parentId,
331
+ product: this.product,
332
+ resourceId: resourceId
333
+ });
310
334
  _context5.prev = 1;
311
335
  _context5.next = 4;
312
336
  return deleteSyncedBlock({
@@ -359,7 +383,7 @@ var BlockServiceADFWriteProvider = /*#__PURE__*/function () {
359
383
  }, {
360
384
  key: "generateResourceIdForReference",
361
385
  value: function generateResourceIdForReference(sourceId) {
362
- return "".concat(this.product, "/").concat(this.sourceDocumentId, "/").concat(sourceId);
386
+ return "".concat(this.product, "/").concat(this.parentId, "/").concat(sourceId);
363
387
  }
364
388
  }, {
365
389
  key: "generateResourceId",
@@ -377,10 +401,13 @@ var BlockServiceADFWriteProvider = /*#__PURE__*/function () {
377
401
  _context6.prev = 0;
378
402
  _context6.next = 3;
379
403
  return updateReferenceSyncedBlockOnDocument({
380
- documentAri: this.sourceAri,
404
+ documentAri: this.parentAri,
381
405
  blocks: blocks.map(function (block) {
382
406
  return {
383
- blockAri: generateBlockAriFromReference(_this.sourceAri, block.resourceId),
407
+ blockAri: generateBlockAriFromReference({
408
+ cloudId: _this.cloudId,
409
+ resourceId: block.resourceId
410
+ }),
384
411
  blockInstanceId: block.localId
385
412
  };
386
413
  }),
@@ -419,19 +446,35 @@ var BlockServiceADFWriteProvider = /*#__PURE__*/function () {
419
446
  }()
420
447
  }]);
421
448
  }();
422
- /**
423
- * Factory function to create both providers with shared configuration
424
- */
425
- var createBlockServiceAPIProviders = function createBlockServiceAPIProviders(sourceAri, product, sourceDocumentId, getVersion) {
426
- var fetchProvider = new BlockServiceADFFetchProvider(sourceAri);
427
- var writeProvider = new BlockServiceADFWriteProvider(sourceAri, product, sourceDocumentId, getVersion);
428
- return {
429
- fetchProvider: fetchProvider,
430
- writeProvider: writeProvider
431
- };
449
+ export var useMemoizedBlockServiceAPIProviders = function useMemoizedBlockServiceAPIProviders(_ref5) {
450
+ var cloudId = _ref5.cloudId,
451
+ parentAri = _ref5.parentAri,
452
+ parentId = _ref5.parentId,
453
+ product = _ref5.product,
454
+ getVersion = _ref5.getVersion;
455
+ return useMemo(function () {
456
+ return {
457
+ fetchProvider: new BlockServiceADFFetchProvider({
458
+ cloudId: cloudId
459
+ }),
460
+ writeProvider: new BlockServiceADFWriteProvider({
461
+ cloudId: cloudId,
462
+ parentAri: parentAri,
463
+ parentId: parentId,
464
+ product: product,
465
+ getVersion: getVersion
466
+ })
467
+ };
468
+ }, [cloudId, parentAri, parentId, product, getVersion]);
432
469
  };
433
- export var useMemoizedBlockServiceAPIProviders = function useMemoizedBlockServiceAPIProviders(sourceAri, product, sourceDocumentId, getVersion) {
470
+ export var useMemoizedBlockServiceFetchOnlyAPIProvider = function useMemoizedBlockServiceFetchOnlyAPIProvider(_ref6) {
471
+ var cloudId = _ref6.cloudId;
434
472
  return useMemo(function () {
435
- return createBlockServiceAPIProviders(sourceAri, product, sourceDocumentId, getVersion);
436
- }, [sourceAri, product, sourceDocumentId, getVersion]);
473
+ return {
474
+ fetchProvider: new BlockServiceADFFetchProvider({
475
+ cloudId: cloudId
476
+ }),
477
+ writeProvider: undefined
478
+ };
479
+ }, [cloudId]);
437
480
  };
@@ -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 '../providers/types';
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, sourceId) {
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
- _context.next = 2;
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 2:
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 4:
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
- _context2.next = 2;
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 2:
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 4:
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(sourceId, localId) {
252
- return this.writeProvider.generateResourceId(sourceId, localId);
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(sourceAri).id,
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(fetchProvider, writeProvider, sourceId, providerOptions, getSSRData) {
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, sourceId);
307
- }, [fetchProvider, writeProvider, sourceId]);
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
- var _this$dataProvider;
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 resourceId = this.dataProvider.generateResourceId(sourceId, localId);
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 sourceAri - the ARI of the document. E.G ari:cloud:confluence:cloudId:page/pageId
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: (sourceAri: string, resourceId: string, product: SyncBlockProduct) => string;
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 sourceAri - the ARI of the document. E.G ari:cloud:confluence:cloudId:page/pageId
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: (sourceAri: string, resourceId: string) => string;
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
@@ -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: string, cloudId: string, pageType?: PAGE_TYPE) => string;
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: string) => {
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: (workItemId: string, cloudId: string) => string;
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: string) => string;
16
+ export declare const getJiraWorkItemIdFromAri: ({ ari }: {
17
+ ari: string;
18
+ }) => string;
@@ -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, getLocalIdFromContentPropertyResourceId, getPageAriFromContentPropertyResourceId, getPageIdAndTypeFromConfluencePageAri, resourceIdFromConfluencePageSourceIdAndLocalId, } from './clients/confluence/ari';
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 sourceAri;
9
- constructor(sourceAri: string);
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 sourceAri;
17
- private sourceDocumentId;
26
+ private cloudId;
27
+ private parentAri;
28
+ private parentId;
18
29
  private getVersion?;
19
30
  product: SyncBlockProduct;
20
- constructor(sourceAri: string, product: SyncBlockProduct, sourceDocumentId: string, getVersion?: () => number | undefined);
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
- export declare const useMemoizedBlockServiceAPIProviders: (sourceAri: string, product: SyncBlockProduct, sourceDocumentId: string, getVersion?: () => number | undefined) => {
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 {};