@atlaskit/editor-synced-block-provider 3.2.0 → 3.2.2

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 (55) hide show
  1. package/CHANGELOG.md +14 -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 +22 -23
  7. package/dist/cjs/providers/block-service/blockServiceAPI.js +89 -26
  8. package/dist/cjs/providers/syncBlockProvider.js +82 -39
  9. package/dist/cjs/store-manager/sourceSyncBlockStoreManager.js +5 -8
  10. package/dist/cjs/store-manager/syncBlockStoreManager.js +12 -2
  11. package/dist/es2019/clients/block-service/ari.js +15 -16
  12. package/dist/es2019/clients/confluence/ari.js +11 -37
  13. package/dist/es2019/clients/confluence/sourceInfo.js +3 -1
  14. package/dist/es2019/clients/jira/ari.js +9 -2
  15. package/dist/es2019/index.js +4 -5
  16. package/dist/es2019/providers/block-service/blockServiceAPI.js +92 -27
  17. package/dist/es2019/providers/syncBlockProvider.js +71 -25
  18. package/dist/es2019/store-manager/sourceSyncBlockStoreManager.js +5 -8
  19. package/dist/es2019/store-manager/syncBlockStoreManager.js +12 -1
  20. package/dist/esm/clients/block-service/ari.js +13 -16
  21. package/dist/esm/clients/confluence/ari.js +6 -39
  22. package/dist/esm/clients/confluence/sourceInfo.js +3 -1
  23. package/dist/esm/clients/jira/ari.js +5 -2
  24. package/dist/esm/index.js +4 -5
  25. package/dist/esm/providers/block-service/blockServiceAPI.js +88 -25
  26. package/dist/esm/providers/syncBlockProvider.js +81 -38
  27. package/dist/esm/store-manager/sourceSyncBlockStoreManager.js +4 -8
  28. package/dist/esm/store-manager/syncBlockStoreManager.js +11 -1
  29. package/dist/types/clients/block-service/ari.d.ts +14 -4
  30. package/dist/types/clients/confluence/ari.d.ts +8 -21
  31. package/dist/types/clients/jira/ari.d.ts +7 -2
  32. package/dist/types/index.d.ts +7 -8
  33. package/dist/types/providers/block-service/blockServiceAPI.d.ts +39 -6
  34. package/dist/types/providers/syncBlockProvider.d.ts +15 -13
  35. package/dist/types/providers/types.d.ts +9 -6
  36. package/dist/types/store-manager/syncBlockStoreManager.d.ts +4 -0
  37. package/dist/types-ts4.5/clients/block-service/ari.d.ts +14 -4
  38. package/dist/types-ts4.5/clients/confluence/ari.d.ts +8 -21
  39. package/dist/types-ts4.5/clients/jira/ari.d.ts +7 -2
  40. package/dist/types-ts4.5/index.d.ts +7 -8
  41. package/dist/types-ts4.5/providers/block-service/blockServiceAPI.d.ts +39 -6
  42. package/dist/types-ts4.5/providers/syncBlockProvider.d.ts +15 -13
  43. package/dist/types-ts4.5/providers/types.d.ts +9 -6
  44. package/dist/types-ts4.5/store-manager/syncBlockStoreManager.d.ts +4 -0
  45. package/package.json +1 -1
  46. package/dist/cjs/clients/confluence/contentProperty.js +0 -284
  47. package/dist/cjs/providers/confluence/confluenceContentAPI.js +0 -446
  48. package/dist/es2019/clients/confluence/contentProperty.js +0 -288
  49. package/dist/es2019/providers/confluence/confluenceContentAPI.js +0 -310
  50. package/dist/esm/clients/confluence/contentProperty.js +0 -277
  51. package/dist/esm/providers/confluence/confluenceContentAPI.js +0 -440
  52. package/dist/types/clients/confluence/contentProperty.d.ts +0 -139
  53. package/dist/types/providers/confluence/confluenceContentAPI.d.ts +0 -44
  54. package/dist/types-ts4.5/clients/confluence/contentProperty.d.ts +0 -139
  55. package/dist/types-ts4.5/providers/confluence/confluenceContentAPI.d.ts +0 -44
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.useMemoizedSyncedBlockProvider = exports.SyncBlockProvider = void 0;
7
+ exports.useMemoizedSyncedBlockProvider = exports.createAndInitializeSyncedBlockProvider = exports.SyncBlockProvider = void 0;
8
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
10
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
@@ -18,28 +18,24 @@ var _react = require("react");
18
18
  var _ari = require("../clients/confluence/ari");
19
19
  var _sourceInfo = require("../clients/confluence/sourceInfo");
20
20
  var _types = require("../common/types");
21
- var _types2 = require("../providers/types");
21
+ var _types2 = require("./types");
22
22
  function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
23
23
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
24
24
  var SyncBlockProvider = exports.SyncBlockProvider = /*#__PURE__*/function (_SyncBlockDataProvide) {
25
- // the source document ARI; that the source sync block is on.
26
-
27
25
  /**
28
26
  * Constructor for the SyncBlockProvider
29
27
  *
30
28
  * @param fetchProvider
31
29
  * @param writeProvider
32
- * @param sourceId
33
30
  * @param nestedRendererDataProviders
34
31
  */
35
- function SyncBlockProvider(fetchProvider, writeProvider, sourceId) {
32
+ function SyncBlockProvider(fetchProvider, writeProvider) {
36
33
  var _this;
37
34
  (0, _classCallCheck2.default)(this, SyncBlockProvider);
38
35
  _this = _callSuper(this, SyncBlockProvider);
39
36
  (0, _defineProperty2.default)(_this, "name", 'syncBlockProvider');
40
37
  _this.fetchProvider = fetchProvider;
41
38
  _this.writeProvider = writeProvider;
42
- _this.sourceId = sourceId;
43
39
  _this.providerOptions = {};
44
40
  return _this;
45
41
  }
@@ -49,11 +45,6 @@ var SyncBlockProvider = exports.SyncBlockProvider = /*#__PURE__*/function (_Sync
49
45
  value: function setProviderOptions(providerOptions) {
50
46
  this.providerOptions = providerOptions;
51
47
  }
52
- }, {
53
- key: "getProduct",
54
- value: function getProduct() {
55
- return this.writeProvider.product;
56
- }
57
48
 
58
49
  /**
59
50
  * Check if the node is supported by the provider
@@ -132,14 +123,24 @@ var SyncBlockProvider = exports.SyncBlockProvider = /*#__PURE__*/function (_Sync
132
123
  return _regenerator.default.wrap(function _callee$(_context) {
133
124
  while (1) switch (_context.prev = _context.next) {
134
125
  case 0:
135
- _context.next = 2;
126
+ if (this.writeProvider) {
127
+ _context.next = 2;
128
+ break;
129
+ }
130
+ return _context.abrupt("return", Promise.reject(new Error('Write provider not set')));
131
+ case 2:
132
+ _context.next = 4;
136
133
  return Promise.allSettled(nodes.map(function (_node, index) {
134
+ var _this3$writeProvider;
135
+ if (!_this3.writeProvider) {
136
+ return Promise.reject('Write provider not set');
137
+ }
137
138
  if (!data[index].content) {
138
139
  return Promise.reject('No Synced Block content to write');
139
140
  }
140
- return _this3.writeProvider.writeData(data[index]);
141
+ return (_this3$writeProvider = _this3.writeProvider) === null || _this3$writeProvider === void 0 ? void 0 : _this3$writeProvider.writeData(data[index]);
141
142
  }));
142
- case 2:
143
+ case 4:
143
144
  results = _context.sent;
144
145
  return _context.abrupt("return", results.map(function (result) {
145
146
  if (result.status === 'fulfilled') {
@@ -150,11 +151,11 @@ var SyncBlockProvider = exports.SyncBlockProvider = /*#__PURE__*/function (_Sync
150
151
  };
151
152
  }
152
153
  }));
153
- case 4:
154
+ case 6:
154
155
  case "end":
155
156
  return _context.stop();
156
157
  }
157
- }, _callee);
158
+ }, _callee, this);
158
159
  }));
159
160
  function writeNodesData(_x, _x2) {
160
161
  return _writeNodesData.apply(this, arguments);
@@ -164,6 +165,9 @@ var SyncBlockProvider = exports.SyncBlockProvider = /*#__PURE__*/function (_Sync
164
165
  }, {
165
166
  key: "createNodeData",
166
167
  value: function createNodeData(data) {
168
+ if (!this.writeProvider) {
169
+ return Promise.reject(new Error('Write provider not set'));
170
+ }
167
171
  return this.writeProvider.createData(data).then(function (result) {
168
172
  return result;
169
173
  }, function (error) {
@@ -189,11 +193,20 @@ var SyncBlockProvider = exports.SyncBlockProvider = /*#__PURE__*/function (_Sync
189
193
  return _regenerator.default.wrap(function _callee2$(_context2) {
190
194
  while (1) switch (_context2.prev = _context2.next) {
191
195
  case 0:
192
- _context2.next = 2;
196
+ if (this.writeProvider) {
197
+ _context2.next = 2;
198
+ break;
199
+ }
200
+ return _context2.abrupt("return", Promise.reject(new Error('Write provider not set')));
201
+ case 2:
202
+ _context2.next = 4;
193
203
  return Promise.allSettled(resourceIds.map(function (resourceId) {
204
+ if (!_this4.writeProvider) {
205
+ return Promise.reject('Write provider not set');
206
+ }
194
207
  return _this4.writeProvider.deleteData(resourceId);
195
208
  }));
196
- case 2:
209
+ case 4:
197
210
  results = _context2.sent;
198
211
  return _context2.abrupt("return", results.map(function (result, index) {
199
212
  if (result.status === 'fulfilled') {
@@ -206,29 +219,17 @@ var SyncBlockProvider = exports.SyncBlockProvider = /*#__PURE__*/function (_Sync
206
219
  };
207
220
  }
208
221
  }));
209
- case 4:
222
+ case 6:
210
223
  case "end":
211
224
  return _context2.stop();
212
225
  }
213
- }, _callee2);
226
+ }, _callee2, this);
214
227
  }));
215
228
  function deleteNodesData(_x3) {
216
229
  return _deleteNodesData.apply(this, arguments);
217
230
  }
218
231
  return deleteNodesData;
219
232
  }()
220
- /**
221
- * Get the source id
222
- *
223
- * @returns The source id
224
- */
225
- )
226
- }, {
227
- key: "getSourceId",
228
- value: function getSourceId() {
229
- return this.sourceId;
230
- }
231
-
232
233
  /**
233
234
  * Fetch the source info from the source id
234
235
  *
@@ -238,6 +239,7 @@ var SyncBlockProvider = exports.SyncBlockProvider = /*#__PURE__*/function (_Sync
238
239
  *
239
240
  * @returns The source info
240
241
  */
242
+ )
241
243
  }, {
242
244
  key: "fetchSyncBlockSourceInfo",
243
245
  value: function fetchSyncBlockSourceInfo(localId, sourceAri, sourceProduct, fireAnalyticsEvent) {
@@ -255,12 +257,20 @@ var SyncBlockProvider = exports.SyncBlockProvider = /*#__PURE__*/function (_Sync
255
257
  }
256
258
  }, {
257
259
  key: "generateResourceId",
258
- value: function generateResourceId(sourceId, localId) {
259
- return this.writeProvider.generateResourceId(sourceId, localId);
260
+ value: function generateResourceId() {
261
+ var localId = crypto.randomUUID();
262
+ var resourceId = crypto.randomUUID();
263
+ return {
264
+ localId: localId,
265
+ resourceId: resourceId
266
+ };
260
267
  }
261
268
  }, {
262
269
  key: "generateResourceIdForReference",
263
270
  value: function generateResourceIdForReference(sourceId) {
271
+ if (!this.writeProvider) {
272
+ throw new Error('Write provider not set');
273
+ }
264
274
  return this.writeProvider.generateResourceIdForReference(sourceId);
265
275
  }
266
276
 
@@ -292,7 +302,9 @@ var SyncBlockProvider = exports.SyncBlockProvider = /*#__PURE__*/function (_Sync
292
302
  switch (sourceProduct) {
293
303
  case 'confluence-page':
294
304
  return {
295
- contentId: (0, _ari.getPageIdAndTypeFromConfluencePageAri)(sourceAri).id,
305
+ contentId: (0, _ari.getPageIdAndTypeFromConfluencePageAri)({
306
+ ari: sourceAri
307
+ }).id,
296
308
  contentProduct: sourceProduct
297
309
  };
298
310
  case 'jira-work-item':
@@ -304,14 +316,45 @@ var SyncBlockProvider = exports.SyncBlockProvider = /*#__PURE__*/function (_Sync
304
316
  }, {
305
317
  key: "updateReferenceData",
306
318
  value: function updateReferenceData(blocks, noContent) {
319
+ if (!this.writeProvider) {
320
+ throw new Error('Write provider not set');
321
+ }
307
322
  return this.writeProvider.updateReferenceData(blocks, noContent);
308
323
  }
309
324
  }]);
310
325
  }(_types2.SyncBlockDataProvider);
311
- var useMemoizedSyncedBlockProvider = exports.useMemoizedSyncedBlockProvider = function useMemoizedSyncedBlockProvider(fetchProvider, writeProvider, sourceId, providerOptions, getSSRData) {
326
+ var createSyncedBlockProvider = function createSyncedBlockProvider(_ref) {
327
+ var fetchProvider = _ref.fetchProvider,
328
+ writeProvider = _ref.writeProvider;
329
+ return new SyncBlockProvider(fetchProvider, writeProvider);
330
+ };
331
+ var createAndInitializeSyncedBlockProvider = exports.createAndInitializeSyncedBlockProvider = function createAndInitializeSyncedBlockProvider(_ref2) {
332
+ var fetchProvider = _ref2.fetchProvider,
333
+ writeProvider = _ref2.writeProvider,
334
+ providerOptions = _ref2.providerOptions,
335
+ getSSRData = _ref2.getSSRData;
336
+ var syncBlockProvider = createSyncedBlockProvider({
337
+ fetchProvider: fetchProvider,
338
+ writeProvider: writeProvider
339
+ });
340
+ syncBlockProvider.setProviderOptions(providerOptions);
341
+ var ssrData = getSSRData ? getSSRData() : undefined;
342
+ if (ssrData) {
343
+ syncBlockProvider.setSSRData(ssrData);
344
+ }
345
+ return syncBlockProvider;
346
+ };
347
+ var useMemoizedSyncedBlockProvider = exports.useMemoizedSyncedBlockProvider = function useMemoizedSyncedBlockProvider(_ref3) {
348
+ var fetchProvider = _ref3.fetchProvider,
349
+ writeProvider = _ref3.writeProvider,
350
+ providerOptions = _ref3.providerOptions,
351
+ getSSRData = _ref3.getSSRData;
312
352
  var syncBlockProvider = (0, _react.useMemo)(function () {
313
- return new SyncBlockProvider(fetchProvider, writeProvider, sourceId);
314
- }, [fetchProvider, writeProvider, sourceId]);
353
+ return createSyncedBlockProvider({
354
+ fetchProvider: fetchProvider,
355
+ writeProvider: writeProvider
356
+ });
357
+ }, [fetchProvider, writeProvider]);
315
358
  syncBlockProvider.setProviderOptions(providerOptions);
316
359
  var ssrData = getSSRData ? getSSRData() : undefined;
317
360
  if (ssrData) {
@@ -10,13 +10,12 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
10
10
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
11
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
12
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
- var _uuid = _interopRequireDefault(require("uuid"));
14
13
  var _monitoring = require("@atlaskit/editor-common/monitoring");
15
14
  var _types = require("../common/types");
16
15
  var _errorHandling = require("../utils/errorHandling");
17
16
  var _utils = require("../utils/utils");
18
17
  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; }
19
- 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) { (0, _defineProperty2.default)(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; } // eslint-disable-next-line @atlaskit/platform/prefer-crypto-random-uuid -- Use crypto.randomUUID instead
18
+ 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) { (0, _defineProperty2.default)(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; }
20
19
  // A store manager responsible for the lifecycle and state management of source sync blocks in an editor instance.
21
20
  // Designed to manage local in-memory state and synchronize with an external data provider.
22
21
  // Supports create, flush, and delete operations for source sync blocks.
@@ -237,14 +236,12 @@ var SourceSyncBlockStoreManager = exports.SourceSyncBlockStoreManager = /*#__PUR
237
236
  }, {
238
237
  key: "generateBodiedSyncBlockAttrs",
239
238
  value: function generateBodiedSyncBlockAttrs() {
240
- var _this$dataProvider;
241
- // eslint-disable-next-line @atlaskit/platform/prefer-crypto-random-uuid -- Use crypto.randomUUID instead
242
- var localId = (0, _uuid.default)();
243
- var sourceId = (_this$dataProvider = this.dataProvider) === null || _this$dataProvider === void 0 ? void 0 : _this$dataProvider.getSourceId();
244
- if (!this.dataProvider || !sourceId) {
239
+ if (!this.dataProvider) {
245
240
  throw new Error('Data provider not set or source id not set');
246
241
  }
247
- var resourceId = this.dataProvider.generateResourceId(sourceId, localId);
242
+ var _this$dataProvider$ge = this.dataProvider.generateResourceId(),
243
+ resourceId = _this$dataProvider$ge.resourceId,
244
+ localId = _this$dataProvider$ge.localId;
248
245
  return {
249
246
  resourceId: resourceId,
250
247
  localId: localId
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.useMemoizedSyncBlockStoreManager = exports.SyncBlockStoreManager = void 0;
7
+ exports.useMemoizedSyncBlockStoreManager = exports.createAndInitializeSyncBlockStoreManager = exports.SyncBlockStoreManager = void 0;
8
8
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
9
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
10
  var _react = require("react");
@@ -47,9 +47,19 @@ var SyncBlockStoreManager = exports.SyncBlockStoreManager = /*#__PURE__*/functio
47
47
  }
48
48
  }]);
49
49
  }();
50
+ var createSyncBlockStoreManager = function createSyncBlockStoreManager(dataProvider) {
51
+ return new SyncBlockStoreManager(dataProvider);
52
+ };
53
+ var createAndInitializeSyncBlockStoreManager = exports.createAndInitializeSyncBlockStoreManager = function createAndInitializeSyncBlockStoreManager(_ref) {
54
+ var dataProvider = _ref.dataProvider,
55
+ fireAnalyticsEvent = _ref.fireAnalyticsEvent;
56
+ var syncBlockStoreManager = createSyncBlockStoreManager(dataProvider);
57
+ syncBlockStoreManager.setFireAnalyticsEvent(fireAnalyticsEvent);
58
+ return syncBlockStoreManager;
59
+ };
50
60
  var useMemoizedSyncBlockStoreManager = exports.useMemoizedSyncBlockStoreManager = function useMemoizedSyncBlockStoreManager(dataProvider, fireAnalyticsEvent) {
51
61
  var syncBlockStoreManager = (0, _react.useMemo)(function () {
52
- var syncBlockStoreManager = new SyncBlockStoreManager(dataProvider);
62
+ var syncBlockStoreManager = createSyncBlockStoreManager(dataProvider);
53
63
  return syncBlockStoreManager;
54
64
  }, [dataProvider]);
55
65
  syncBlockStoreManager.setFireAnalyticsEvent(fireAnalyticsEvent);
@@ -2,32 +2,31 @@
2
2
 
3
3
  /**
4
4
  * Generates the block ARI from the source page ARI and the source block's resource ID.
5
- * @param sourceAri - the ARI of the document. E.G ari:cloud:confluence:cloudId:page/pageId
5
+ * @param cloudId - the cloudId of the block. E.G the cloudId of the confluence page, or the cloudId of the Jira instance
6
+ * @param parentId - the parentId of the block. E.G the pageId for a confluence page, or the issueId for a Jira work item
6
7
  * @param resourceId - the resource ID of the block node. A randomly generated UUID
8
+ * @param product - the product of the block. E.G 'confluence-page', 'jira-work-item'
7
9
  * @returns the block ARI. E.G ari:cloud:blocks:<cloudId>:synced-block/<product>/<pageId>/<resourceId>
8
10
  */
9
- export const generateBlockAri = (sourceAri, resourceId, product) => {
10
- const match = sourceAri.match(/ari:cloud:confluence:([^:]+):(page|blogpost)\/(\d+)/);
11
- if (!(match !== null && match !== void 0 && match[1])) {
12
- throw new Error(`Invalid source ARI: ${sourceAri}`);
13
- }
14
- const cloudId = match[1];
15
- const pageId = match[3];
16
- return `ari:cloud:blocks:${cloudId}:synced-block/${product}/${pageId}/${resourceId}`;
11
+ export const generateBlockAri = ({
12
+ cloudId,
13
+ parentId,
14
+ product,
15
+ resourceId
16
+ }) => {
17
+ return `ari:cloud:blocks:${cloudId}:synced-block/${product}/${parentId}/${resourceId}`;
17
18
  };
18
19
 
19
20
  /**
20
21
  * Generates the block ARI from the reference synced block ARI and the resource ID
21
- * @param sourceAri - the ARI of the document. E.G ari:cloud:confluence:cloudId:page/pageId
22
+ * @param cloudId - the cloudId of the block. E.G the cloudId of the confluence page, or the cloudId of the Jira instance
22
23
  * @param resourceId - the resource ID of the reference synced block. E.G confluence-page/pageId/sourceResourceId
23
24
  * @returns the block ARI. E.G ari:cloud:blocks:<cloudId>:synced-block/<product>/<pageId>/<resourceId>
24
25
  */
25
- export const generateBlockAriFromReference = (sourceAri, resourceId) => {
26
- const match = sourceAri.match(/ari:cloud:confluence:([^:]+):(page|blogpost)\/(\d+)/);
27
- if (!(match !== null && match !== void 0 && match[1])) {
28
- throw new Error(`Invalid source ARI: ${sourceAri}`);
29
- }
30
- const cloudId = match[1];
26
+ export const generateBlockAriFromReference = ({
27
+ cloudId,
28
+ resourceId
29
+ }) => {
31
30
  return `ari:cloud:blocks:${cloudId}:synced-block/${resourceId}`;
32
31
  };
33
32
 
@@ -11,14 +11,22 @@
11
11
  * @param pageType - the type of the page
12
12
  * @returns the Confluence page ARI
13
13
  */
14
- export const getConfluencePageAri = (pageId, cloudId, pageType = 'page') => `ari:cloud:confluence:${cloudId}:${pageType}/${pageId}`;
14
+ export const getConfluencePageAri = ({
15
+ pageId,
16
+ cloudId,
17
+ pageType
18
+ }) => {
19
+ return `ari:cloud:confluence:${cloudId}:${pageType}/${pageId}`;
20
+ };
15
21
 
16
22
  /**
17
23
  * Extracts the page ID and type from the Confluence page ARI
18
24
  * @param ari - the Confluence page ARI
19
25
  * @returns the page ID and type
20
26
  */
21
- export const getPageIdAndTypeFromConfluencePageAri = ari => {
27
+ export const getPageIdAndTypeFromConfluencePageAri = ({
28
+ ari
29
+ }) => {
22
30
  const match = ari.match(/ari:cloud:confluence:[^:]+:(page|blogpost)\/(\d+)/);
23
31
  if (match !== null && match !== void 0 && match[2]) {
24
32
  return {
@@ -27,38 +35,4 @@ export const getPageIdAndTypeFromConfluencePageAri = ari => {
27
35
  };
28
36
  }
29
37
  throw new Error(`Invalid page ARI: ${ari}`);
30
- };
31
-
32
- /**
33
- * Extracts the local ID from the Confluence page content property resource ID
34
- * @param resourceId - the Confluence page content property resource ID
35
- * @returns the local ID
36
- */
37
- export const getLocalIdFromContentPropertyResourceId = resourceId => {
38
- const match = resourceId.match(/ari:cloud:confluence:[^:]+:(page|blogpost)\/\d+\/([a-zA-Z0-9-]+)/);
39
- if (match !== null && match !== void 0 && match[2]) {
40
- return match[2];
41
- }
42
- throw new Error(`Invalid resourceId: ${resourceId}`);
43
- };
44
-
45
- /**
46
- * Extracts the Confluence page ARI from the Confluence content property resource ID
47
- * @param resourceId - the Confluence content property resource ID
48
- * @returns the Confluence page ARI
49
- */
50
- export const getPageAriFromContentPropertyResourceId = resourceId => {
51
- const match = resourceId.match(/(ari:cloud:confluence:[^:]+:(page|blogpost)\/\d+)\/([a-zA-Z0-9-]+)$/);
52
- if (match !== null && match !== void 0 && match[1]) {
53
- return match[1];
54
- }
55
- throw new Error(`Invalid resourceId: ${resourceId}`);
56
- };
57
-
58
- /**
59
- * Generates the Confluence page content property resource ID from the source ID and local ID
60
- * @param sourceId - the source ID
61
- * @param localId - the local ID
62
- * @returns the Confluence page content property resource ID
63
- */
64
- export const resourceIdFromConfluencePageSourceIdAndLocalId = (sourceId, localId) => `${sourceId}/${localId}`;
38
+ };
@@ -60,7 +60,9 @@ export const fetchConfluencePageInfo = async (pageAri, localId, fireAnalyticsEve
60
60
  var _response$data, _response$data$conten, _response$data$conten2, _contentData$space;
61
61
  const {
62
62
  type: pageType
63
- } = getPageIdAndTypeFromConfluencePageAri(pageAri);
63
+ } = getPageIdAndTypeFromConfluencePageAri({
64
+ ari: pageAri
65
+ });
64
66
  const response = await getConfluenceSourceInfo(pageAri);
65
67
  const contentData = (_response$data = response.data) === null || _response$data === void 0 ? void 0 : (_response$data$conten = _response$data.content) === null || _response$data$conten === void 0 ? void 0 : (_response$data$conten2 = _response$data$conten.nodes) === null || _response$data$conten2 === void 0 ? void 0 : _response$data$conten2[0];
66
68
  const title = contentData === null || contentData === void 0 ? void 0 : contentData.title;
@@ -6,14 +6,21 @@
6
6
  * @param cloudId - the cloud ID
7
7
  * @returns the Jira work item ARI
8
8
  */
9
- export const getJiraWorkItemAri = (workItemId, cloudId) => `ari:cloud:jira:${cloudId}:issue/${workItemId}`;
9
+ export const getJiraWorkItemAri = ({
10
+ cloudId,
11
+ workItemId
12
+ }) => {
13
+ return `ari:cloud:jira:${cloudId}:issue/${workItemId}`;
14
+ };
10
15
 
11
16
  /**
12
17
  * Extracts the Jira work item ID from the Jira work item ARI
13
18
  * @param ari - the Jira work item ARI
14
19
  * @returns the Jira work item ID
15
20
  */
16
- export const getJiraWorkItemIdFromAri = ari => {
21
+ export const getJiraWorkItemIdFromAri = ({
22
+ ari
23
+ }) => {
17
24
  const match = ari.match(/ari:cloud:jira:([^:]+):issue\/(\d+)/);
18
25
  if (match !== null && match !== void 0 && match[2]) {
19
26
  return match[2];
@@ -10,18 +10,17 @@ 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 { createBlockServiceAPIProviders, createBlockServiceFetchOnlyAPIProvider, useMemoizedBlockServiceAPIProviders, useMemoizedBlockServiceFetchOnlyAPIProvider } from './providers/block-service/blockServiceAPI';
19
18
  export { fetchConfluencePageInfo } from './clients/confluence/sourceInfo';
20
- export { SyncBlockProvider as SyncedBlockProvider, useMemoizedSyncedBlockProvider } from './providers/syncBlockProvider';
19
+ export { SyncBlockProvider as SyncedBlockProvider, createAndInitializeSyncedBlockProvider, useMemoizedSyncedBlockProvider } from './providers/syncBlockProvider';
21
20
 
22
21
  // store managers
23
22
 
24
- export { SyncBlockStoreManager, useMemoizedSyncBlockStoreManager } from './store-manager/syncBlockStoreManager';
23
+ export { SyncBlockStoreManager, createAndInitializeSyncBlockStoreManager, useMemoizedSyncBlockStoreManager } from './store-manager/syncBlockStoreManager';
25
24
 
26
25
  // utils
27
26
  export { resolveSyncBlockInstance } from './utils/resolveSyncBlockInstance';