@atlaskit/editor-synced-block-provider 3.6.0 → 3.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -0
- package/dist/cjs/clients/block-service/ari.js +12 -1
- package/dist/cjs/clients/block-service/blockService.js +35 -2
- package/dist/cjs/clients/confluence/sourceInfo.js +109 -52
- package/dist/cjs/providers/block-service/blockServiceAPI.js +195 -125
- package/dist/cjs/providers/syncBlockProvider.js +83 -14
- package/dist/cjs/store-manager/referenceSyncBlockStoreManager.js +60 -17
- package/dist/cjs/store-manager/sourceSyncBlockStoreManager.js +17 -0
- package/dist/cjs/store-manager/syncBlockStoreManager.js +121 -0
- package/dist/cjs/utils/errorHandling.js +4 -1
- package/dist/es2019/clients/block-service/ari.js +11 -0
- package/dist/es2019/clients/block-service/blockService.js +12 -1
- package/dist/es2019/clients/confluence/sourceInfo.js +64 -29
- package/dist/es2019/providers/block-service/blockServiceAPI.js +45 -2
- package/dist/es2019/providers/syncBlockProvider.js +37 -5
- package/dist/es2019/store-manager/referenceSyncBlockStoreManager.js +61 -18
- package/dist/es2019/store-manager/sourceSyncBlockStoreManager.js +16 -1
- package/dist/es2019/store-manager/syncBlockStoreManager.js +64 -0
- package/dist/es2019/utils/errorHandling.js +2 -1
- package/dist/esm/clients/block-service/ari.js +11 -0
- package/dist/esm/clients/block-service/blockService.js +34 -1
- package/dist/esm/clients/confluence/sourceInfo.js +109 -52
- package/dist/esm/providers/block-service/blockServiceAPI.js +195 -125
- package/dist/esm/providers/syncBlockProvider.js +81 -12
- package/dist/esm/store-manager/referenceSyncBlockStoreManager.js +60 -17
- package/dist/esm/store-manager/sourceSyncBlockStoreManager.js +18 -1
- package/dist/esm/store-manager/syncBlockStoreManager.js +121 -0
- package/dist/esm/utils/errorHandling.js +3 -0
- package/dist/types/clients/block-service/ari.d.ts +1 -0
- package/dist/types/clients/block-service/blockService.d.ts +15 -5
- package/dist/types/clients/confluence/sourceInfo.d.ts +2 -2
- package/dist/types/common/types.d.ts +25 -0
- package/dist/types/index.d.ts +2 -2
- package/dist/types/providers/block-service/blockServiceAPI.d.ts +3 -2
- package/dist/types/providers/syncBlockProvider.d.ts +3 -2
- package/dist/types/providers/types.d.ts +16 -3
- package/dist/types/store-manager/referenceSyncBlockStoreManager.d.ts +3 -2
- package/dist/types/store-manager/sourceSyncBlockStoreManager.d.ts +3 -2
- package/dist/types/store-manager/syncBlockStoreManager.d.ts +4 -0
- package/dist/types/utils/errorHandling.d.ts +1 -0
- package/dist/types-ts4.5/clients/block-service/ari.d.ts +1 -0
- package/dist/types-ts4.5/clients/block-service/blockService.d.ts +15 -5
- package/dist/types-ts4.5/clients/confluence/sourceInfo.d.ts +2 -2
- package/dist/types-ts4.5/common/types.d.ts +25 -0
- package/dist/types-ts4.5/index.d.ts +2 -2
- package/dist/types-ts4.5/providers/block-service/blockServiceAPI.d.ts +3 -2
- package/dist/types-ts4.5/providers/syncBlockProvider.d.ts +3 -2
- package/dist/types-ts4.5/providers/types.d.ts +16 -3
- package/dist/types-ts4.5/store-manager/referenceSyncBlockStoreManager.d.ts +3 -2
- package/dist/types-ts4.5/store-manager/sourceSyncBlockStoreManager.d.ts +3 -2
- package/dist/types-ts4.5/store-manager/syncBlockStoreManager.d.ts +4 -0
- package/dist/types-ts4.5/utils/errorHandling.d.ts +1 -0
- package/package.json +1 -1
|
@@ -16,10 +16,13 @@ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits
|
|
|
16
16
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
17
17
|
var _react = require("react");
|
|
18
18
|
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
19
|
-
var _ari = require("../clients/
|
|
19
|
+
var _ari = require("../clients/block-service/ari");
|
|
20
|
+
var _ari2 = require("../clients/confluence/ari");
|
|
20
21
|
var _sourceInfo = require("../clients/confluence/sourceInfo");
|
|
21
22
|
var _types = require("../common/types");
|
|
22
23
|
var _types2 = require("./types");
|
|
24
|
+
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; }
|
|
25
|
+
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; }
|
|
23
26
|
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)); }
|
|
24
27
|
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
25
28
|
var SyncBlockProvider = exports.SyncBlockProvider = /*#__PURE__*/function (_SyncBlockDataProvide) {
|
|
@@ -286,19 +289,77 @@ var SyncBlockProvider = exports.SyncBlockProvider = /*#__PURE__*/function (_Sync
|
|
|
286
289
|
)
|
|
287
290
|
}, {
|
|
288
291
|
key: "fetchSyncBlockSourceInfo",
|
|
289
|
-
value: function
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
292
|
+
value: (function () {
|
|
293
|
+
var _fetchSyncBlockSourceInfo = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(localId, sourceAri, sourceProduct, fireAnalyticsEvent) {
|
|
294
|
+
var hasAccess,
|
|
295
|
+
urlType,
|
|
296
|
+
ari,
|
|
297
|
+
product,
|
|
298
|
+
_this$writeProvider,
|
|
299
|
+
sourceInfo,
|
|
300
|
+
_this$writeProvider2,
|
|
301
|
+
_args4 = arguments;
|
|
302
|
+
return _regenerator.default.wrap(function _callee4$(_context4) {
|
|
303
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
304
|
+
case 0:
|
|
305
|
+
hasAccess = _args4.length > 4 && _args4[4] !== undefined ? _args4[4] : true;
|
|
306
|
+
urlType = _args4.length > 5 && _args4[5] !== undefined ? _args4[5] : 'edit';
|
|
307
|
+
ari = sourceAri, product = sourceProduct;
|
|
308
|
+
if ((0, _platformFeatureFlags.fg)('platform_synced_block_dogfooding')) {
|
|
309
|
+
ari = sourceAri !== null && sourceAri !== void 0 ? sourceAri : (_this$writeProvider = this.writeProvider) === null || _this$writeProvider === void 0 ? void 0 : _this$writeProvider.parentAri;
|
|
310
|
+
product = sourceProduct !== null && sourceProduct !== void 0 ? sourceProduct : (0, _ari.getProductFromSourceAri)(ari);
|
|
311
|
+
}
|
|
312
|
+
if (!(!ari || !product)) {
|
|
313
|
+
_context4.next = 6;
|
|
314
|
+
break;
|
|
315
|
+
}
|
|
316
|
+
return _context4.abrupt("return", Promise.reject(new Error('Source ari or source product is undefined')));
|
|
317
|
+
case 6:
|
|
318
|
+
_context4.t0 = product;
|
|
319
|
+
_context4.next = _context4.t0 === 'confluence-page' ? 9 : _context4.t0 === 'jira-work-item' ? 19 : 22;
|
|
320
|
+
break;
|
|
321
|
+
case 9:
|
|
322
|
+
_context4.next = 11;
|
|
323
|
+
return (0, _sourceInfo.fetchConfluencePageInfo)(ari, hasAccess, urlType, localId, fireAnalyticsEvent);
|
|
324
|
+
case 11:
|
|
325
|
+
sourceInfo = _context4.sent;
|
|
326
|
+
if (!(0, _platformFeatureFlags.fg)('platform_synced_block_dogfooding')) {
|
|
327
|
+
_context4.next = 18;
|
|
328
|
+
break;
|
|
329
|
+
}
|
|
330
|
+
if (sourceInfo) {
|
|
331
|
+
_context4.next = 15;
|
|
332
|
+
break;
|
|
333
|
+
}
|
|
334
|
+
return _context4.abrupt("return", Promise.resolve(undefined));
|
|
335
|
+
case 15:
|
|
336
|
+
return _context4.abrupt("return", _objectSpread(_objectSpread({}, sourceInfo), {}, {
|
|
337
|
+
onSamePage: ((_this$writeProvider2 = this.writeProvider) === null || _this$writeProvider2 === void 0 ? void 0 : _this$writeProvider2.parentAri) === ari,
|
|
338
|
+
productType: product
|
|
339
|
+
}));
|
|
340
|
+
case 18:
|
|
341
|
+
return _context4.abrupt("return", sourceInfo);
|
|
342
|
+
case 19:
|
|
343
|
+
if (!(0, _platformFeatureFlags.fg)('platform_synced_block_dogfooding')) {
|
|
344
|
+
_context4.next = 21;
|
|
345
|
+
break;
|
|
346
|
+
}
|
|
347
|
+
return _context4.abrupt("return", Promise.resolve(undefined));
|
|
348
|
+
case 21:
|
|
349
|
+
return _context4.abrupt("return", Promise.reject(new Error('Jira work item source product not supported')));
|
|
350
|
+
case 22:
|
|
351
|
+
return _context4.abrupt("return", Promise.reject(new Error("".concat(product, " source product not supported"))));
|
|
352
|
+
case 23:
|
|
353
|
+
case "end":
|
|
354
|
+
return _context4.stop();
|
|
355
|
+
}
|
|
356
|
+
}, _callee4, this);
|
|
357
|
+
}));
|
|
358
|
+
function fetchSyncBlockSourceInfo(_x5, _x6, _x7, _x8) {
|
|
359
|
+
return _fetchSyncBlockSourceInfo.apply(this, arguments);
|
|
300
360
|
}
|
|
301
|
-
|
|
361
|
+
return fetchSyncBlockSourceInfo;
|
|
362
|
+
}())
|
|
302
363
|
}, {
|
|
303
364
|
key: "generateResourceId",
|
|
304
365
|
value: function generateResourceId() {
|
|
@@ -346,7 +407,7 @@ var SyncBlockProvider = exports.SyncBlockProvider = /*#__PURE__*/function (_Sync
|
|
|
346
407
|
switch (sourceProduct) {
|
|
347
408
|
case 'confluence-page':
|
|
348
409
|
return {
|
|
349
|
-
contentId: (0,
|
|
410
|
+
contentId: (0, _ari2.getPageIdAndTypeFromConfluencePageAri)({
|
|
350
411
|
ari: sourceAri
|
|
351
412
|
}).id,
|
|
352
413
|
contentProduct: sourceProduct
|
|
@@ -365,6 +426,14 @@ var SyncBlockProvider = exports.SyncBlockProvider = /*#__PURE__*/function (_Sync
|
|
|
365
426
|
}
|
|
366
427
|
return this.writeProvider.updateReferenceData(blocks, noContent);
|
|
367
428
|
}
|
|
429
|
+
}, {
|
|
430
|
+
key: "fetchReferences",
|
|
431
|
+
value: function fetchReferences(resourceId, isSource) {
|
|
432
|
+
if (!this.fetchProvider) {
|
|
433
|
+
throw new Error('Fetch provider not set');
|
|
434
|
+
}
|
|
435
|
+
return this.fetchProvider.fetchReferences(isSource ? this.generateResourceIdForReference(resourceId) : resourceId);
|
|
436
|
+
}
|
|
368
437
|
}]);
|
|
369
438
|
}(_types2.SyncBlockDataProvider);
|
|
370
439
|
var createSyncedBlockProvider = function createSyncedBlockProvider(_ref) {
|
|
@@ -47,6 +47,7 @@ var ReferenceSyncBlockStoreManager = exports.ReferenceSyncBlockStoreManager = /*
|
|
|
47
47
|
this.titleSubscriptions = new Map();
|
|
48
48
|
this.dataProvider = dataProvider;
|
|
49
49
|
this.syncBlockFetchDataRequests = new Map();
|
|
50
|
+
this.syncBlockSourceInfoRequestsOld = new Map();
|
|
50
51
|
this.syncBlockSourceInfoRequests = new Map();
|
|
51
52
|
this.providerFactories = new Map();
|
|
52
53
|
this.pendingCacheDeletions = new Map();
|
|
@@ -185,7 +186,6 @@ var ReferenceSyncBlockStoreManager = exports.ReferenceSyncBlockStoreManager = /*
|
|
|
185
186
|
value: function fetchSyncBlockSourceInfo(resourceId) {
|
|
186
187
|
var _this = this;
|
|
187
188
|
try {
|
|
188
|
-
var _existingSyncBlock$da, _existingSyncBlock$da2;
|
|
189
189
|
if (!resourceId || !this.dataProvider) {
|
|
190
190
|
// make sure experience has been started before throwing error
|
|
191
191
|
if ((0, _platformFeatureFlags.fg)('platform_synced_block_dogfooding')) {
|
|
@@ -194,8 +194,13 @@ var ReferenceSyncBlockStoreManager = exports.ReferenceSyncBlockStoreManager = /*
|
|
|
194
194
|
}
|
|
195
195
|
throw new Error('Data provider or resourceId not set');
|
|
196
196
|
}
|
|
197
|
-
if (
|
|
198
|
-
|
|
197
|
+
if ((0, _platformFeatureFlags.fg)('platform_synced_block_dogfooding')) {
|
|
198
|
+
var existingRequest = this.syncBlockSourceInfoRequests.get(resourceId);
|
|
199
|
+
if (existingRequest) {
|
|
200
|
+
return existingRequest;
|
|
201
|
+
}
|
|
202
|
+
} else if (this.syncBlockSourceInfoRequestsOld.get(resourceId)) {
|
|
203
|
+
return Promise.resolve(undefined);
|
|
199
204
|
}
|
|
200
205
|
var existingSyncBlock = this.getFromCache(resourceId);
|
|
201
206
|
if (!existingSyncBlock) {
|
|
@@ -205,10 +210,28 @@ var ReferenceSyncBlockStoreManager = exports.ReferenceSyncBlockStoreManager = /*
|
|
|
205
210
|
}
|
|
206
211
|
throw new Error('No existing sync block to fetch source info for');
|
|
207
212
|
}
|
|
208
|
-
|
|
213
|
+
var _ref = existingSyncBlock.data || {},
|
|
214
|
+
sourceAri = _ref.sourceAri,
|
|
215
|
+
product = _ref.product,
|
|
216
|
+
blockInstanceId = _ref.blockInstanceId,
|
|
217
|
+
sourceURL = _ref.sourceURL,
|
|
218
|
+
sourceTitle = _ref.sourceTitle,
|
|
219
|
+
onSamePage = _ref.onSamePage,
|
|
220
|
+
sourceSubType = _ref.sourceSubType;
|
|
209
221
|
// skip if source URL and title are already present
|
|
210
|
-
if (
|
|
211
|
-
|
|
222
|
+
if (sourceURL && sourceTitle) {
|
|
223
|
+
if ((0, _platformFeatureFlags.fg)('platform_synced_block_dogfooding')) {
|
|
224
|
+
return Promise.resolve({
|
|
225
|
+
title: sourceTitle,
|
|
226
|
+
url: sourceURL,
|
|
227
|
+
subType: sourceSubType,
|
|
228
|
+
sourceAri: sourceAri || '',
|
|
229
|
+
onSamePage: onSamePage,
|
|
230
|
+
productType: product
|
|
231
|
+
});
|
|
232
|
+
} else {
|
|
233
|
+
return Promise.resolve(undefined);
|
|
234
|
+
}
|
|
212
235
|
}
|
|
213
236
|
|
|
214
237
|
// only start experience if there is data to fetch
|
|
@@ -216,10 +239,6 @@ var ReferenceSyncBlockStoreManager = exports.ReferenceSyncBlockStoreManager = /*
|
|
|
216
239
|
var _this$fetchSourceInfo3;
|
|
217
240
|
(_this$fetchSourceInfo3 = this.fetchSourceInfoExperience) === null || _this$fetchSourceInfo3 === void 0 || _this$fetchSourceInfo3.start({});
|
|
218
241
|
}
|
|
219
|
-
var _ref = existingSyncBlock.data || {},
|
|
220
|
-
sourceAri = _ref.sourceAri,
|
|
221
|
-
product = _ref.product,
|
|
222
|
-
blockInstanceId = _ref.blockInstanceId;
|
|
223
242
|
if (!sourceAri || !product || !blockInstanceId) {
|
|
224
243
|
if ((0, _platformFeatureFlags.fg)('platform_synced_block_dogfooding')) {
|
|
225
244
|
var _this$fetchSourceInfo4;
|
|
@@ -230,10 +249,9 @@ var ReferenceSyncBlockStoreManager = exports.ReferenceSyncBlockStoreManager = /*
|
|
|
230
249
|
var _this$fireAnalyticsEv2;
|
|
231
250
|
(_this$fireAnalyticsEv2 = this.fireAnalyticsEvent) === null || _this$fireAnalyticsEv2 === void 0 || _this$fireAnalyticsEv2.call(this, (0, _errorHandling.getSourceInfoErrorPayload)('SourceAri, product or blockInstanceId missing'));
|
|
232
251
|
}
|
|
233
|
-
return;
|
|
252
|
+
return Promise.resolve(undefined);
|
|
234
253
|
}
|
|
235
|
-
this.
|
|
236
|
-
this.dataProvider.fetchSyncBlockSourceInfo(blockInstanceId, sourceAri, product, this.fireAnalyticsEvent).then(function (sourceInfo) {
|
|
254
|
+
var sourceInfoPromise = this.dataProvider.fetchSyncBlockSourceInfo(blockInstanceId, sourceAri, product, this.fireAnalyticsEvent).then(function (sourceInfo) {
|
|
237
255
|
if (!sourceInfo) {
|
|
238
256
|
if ((0, _platformFeatureFlags.fg)('platform_synced_block_dogfooding')) {
|
|
239
257
|
var _this$fetchSourceInfo5;
|
|
@@ -241,7 +259,7 @@ var ReferenceSyncBlockStoreManager = exports.ReferenceSyncBlockStoreManager = /*
|
|
|
241
259
|
reason: 'No source info returned'
|
|
242
260
|
});
|
|
243
261
|
}
|
|
244
|
-
return;
|
|
262
|
+
return undefined;
|
|
245
263
|
}
|
|
246
264
|
_this.updateCacheWithSourceInfo(resourceId, sourceInfo);
|
|
247
265
|
if (sourceInfo.title) {
|
|
@@ -257,6 +275,7 @@ var ReferenceSyncBlockStoreManager = exports.ReferenceSyncBlockStoreManager = /*
|
|
|
257
275
|
reason: 'Missing title or url'
|
|
258
276
|
});
|
|
259
277
|
}
|
|
278
|
+
return sourceInfo;
|
|
260
279
|
}
|
|
261
280
|
}).catch(function (error) {
|
|
262
281
|
if ((0, _platformFeatureFlags.fg)('platform_synced_block_dogfooding')) {
|
|
@@ -268,9 +287,20 @@ var ReferenceSyncBlockStoreManager = exports.ReferenceSyncBlockStoreManager = /*
|
|
|
268
287
|
var _this$fireAnalyticsEv3;
|
|
269
288
|
(_this$fireAnalyticsEv3 = _this.fireAnalyticsEvent) === null || _this$fireAnalyticsEv3 === void 0 || _this$fireAnalyticsEv3.call(_this, (0, _errorHandling.getSourceInfoErrorPayload)(error.message));
|
|
270
289
|
}
|
|
290
|
+
return undefined;
|
|
271
291
|
}).finally(function () {
|
|
272
|
-
|
|
292
|
+
if ((0, _platformFeatureFlags.fg)('platform_synced_block_dogfooding')) {
|
|
293
|
+
_this.syncBlockSourceInfoRequests.delete(resourceId);
|
|
294
|
+
} else {
|
|
295
|
+
_this.syncBlockSourceInfoRequestsOld.delete(resourceId);
|
|
296
|
+
}
|
|
273
297
|
});
|
|
298
|
+
if ((0, _platformFeatureFlags.fg)('platform_synced_block_dogfooding')) {
|
|
299
|
+
this.syncBlockSourceInfoRequests.set(resourceId, sourceInfoPromise);
|
|
300
|
+
return sourceInfoPromise;
|
|
301
|
+
} else {
|
|
302
|
+
this.syncBlockSourceInfoRequestsOld.set(resourceId, true);
|
|
303
|
+
}
|
|
274
304
|
} catch (error) {
|
|
275
305
|
(0, _monitoring.logException)(error, {
|
|
276
306
|
location: 'editor-synced-block-provider/referenceSyncBlockStoreManager'
|
|
@@ -285,6 +315,7 @@ var ReferenceSyncBlockStoreManager = exports.ReferenceSyncBlockStoreManager = /*
|
|
|
285
315
|
(_this$fireAnalyticsEv4 = this.fireAnalyticsEvent) === null || _this$fireAnalyticsEv4 === void 0 || _this$fireAnalyticsEv4.call(this, (0, _errorHandling.getSourceInfoErrorPayload)(error.message));
|
|
286
316
|
}
|
|
287
317
|
}
|
|
318
|
+
return Promise.resolve(undefined);
|
|
288
319
|
}
|
|
289
320
|
|
|
290
321
|
/**
|
|
@@ -417,7 +448,9 @@ var ReferenceSyncBlockStoreManager = exports.ReferenceSyncBlockStoreManager = /*
|
|
|
417
448
|
existingSyncBlock.data.sourceURL = sourceInfo === null || sourceInfo === void 0 ? void 0 : sourceInfo.url;
|
|
418
449
|
existingSyncBlock.data = _objectSpread(_objectSpread({}, existingSyncBlock.data), {}, {
|
|
419
450
|
sourceURL: sourceInfo === null || sourceInfo === void 0 ? void 0 : sourceInfo.url,
|
|
420
|
-
sourceTitle: sourceInfo === null || sourceInfo === void 0 ? void 0 : sourceInfo.title
|
|
451
|
+
sourceTitle: sourceInfo === null || sourceInfo === void 0 ? void 0 : sourceInfo.title,
|
|
452
|
+
onSamePage: sourceInfo === null || sourceInfo === void 0 ? void 0 : sourceInfo.onSamePage,
|
|
453
|
+
sourceSubType: sourceInfo === null || sourceInfo === void 0 ? void 0 : sourceInfo.subType
|
|
421
454
|
});
|
|
422
455
|
this.updateCache(existingSyncBlock);
|
|
423
456
|
}
|
|
@@ -696,7 +729,8 @@ var ReferenceSyncBlockStoreManager = exports.ReferenceSyncBlockStoreManager = /*
|
|
|
696
729
|
}
|
|
697
730
|
var hasMediaProvider = providerFactory.hasProvider('mediaProvider');
|
|
698
731
|
var hasEmojiProvider = providerFactory.hasProvider('emojiProvider');
|
|
699
|
-
|
|
732
|
+
var hasCardProvider = providerFactory.hasProvider('cardProvider');
|
|
733
|
+
if (hasMediaProvider && hasEmojiProvider && hasCardProvider) {
|
|
700
734
|
return;
|
|
701
735
|
}
|
|
702
736
|
var syncBlock = this.getFromCache(resourceId);
|
|
@@ -733,6 +767,14 @@ var ReferenceSyncBlockStoreManager = exports.ReferenceSyncBlockStoreManager = /*
|
|
|
733
767
|
}
|
|
734
768
|
}
|
|
735
769
|
}
|
|
770
|
+
if (!hasCardProvider) {
|
|
771
|
+
if (providerCreator.createSmartLinkProvider) {
|
|
772
|
+
var smartLinkProvider = providerCreator.createSmartLinkProvider();
|
|
773
|
+
if (smartLinkProvider) {
|
|
774
|
+
providerFactory.setProvider('cardProvider', smartLinkProvider);
|
|
775
|
+
}
|
|
776
|
+
}
|
|
777
|
+
}
|
|
736
778
|
}
|
|
737
779
|
|
|
738
780
|
/**
|
|
@@ -850,6 +892,7 @@ var ReferenceSyncBlockStoreManager = exports.ReferenceSyncBlockStoreManager = /*
|
|
|
850
892
|
this.subscriptions.clear();
|
|
851
893
|
this.titleSubscriptions.clear();
|
|
852
894
|
this.syncBlockFetchDataRequests.clear();
|
|
895
|
+
this.syncBlockSourceInfoRequestsOld.clear();
|
|
853
896
|
this.syncBlockSourceInfoRequests.clear();
|
|
854
897
|
this.providerFactories.clear();
|
|
855
898
|
this.isRefreshingSubscriptions = false;
|
|
@@ -578,6 +578,23 @@ var SourceSyncBlockStoreManager = exports.SourceSyncBlockStoreManager = /*#__PUR
|
|
|
578
578
|
}
|
|
579
579
|
return deleteSyncBlocksWithConfirmation;
|
|
580
580
|
}())
|
|
581
|
+
}, {
|
|
582
|
+
key: "getSyncBlockSourceInfo",
|
|
583
|
+
value: function getSyncBlockSourceInfo(localId) {
|
|
584
|
+
try {
|
|
585
|
+
if (!this.dataProvider) {
|
|
586
|
+
throw new Error('Data provider not set');
|
|
587
|
+
}
|
|
588
|
+
return this.dataProvider.fetchSyncBlockSourceInfo(localId, undefined, undefined, this.fireAnalyticsEvent);
|
|
589
|
+
} catch (error) {
|
|
590
|
+
var _this$fireAnalyticsEv5;
|
|
591
|
+
(0, _monitoring.logException)(error, {
|
|
592
|
+
location: 'editor-synced-block-provider/sourceSyncBlockStoreManager'
|
|
593
|
+
});
|
|
594
|
+
(_this$fireAnalyticsEv5 = this.fireAnalyticsEvent) === null || _this$fireAnalyticsEv5 === void 0 || _this$fireAnalyticsEv5.call(this, (0, _errorHandling.getSourceInfoErrorPayload)(error.message));
|
|
595
|
+
return Promise.resolve(undefined);
|
|
596
|
+
}
|
|
597
|
+
}
|
|
581
598
|
}, {
|
|
582
599
|
key: "destroy",
|
|
583
600
|
value: function destroy() {
|
|
@@ -5,11 +5,20 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.useMemoizedSyncBlockStoreManager = exports.SyncBlockStoreManager = void 0;
|
|
8
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
8
11
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
9
12
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
10
13
|
var _react = require("react");
|
|
14
|
+
var _monitoring = require("@atlaskit/editor-common/monitoring");
|
|
15
|
+
var _ari = require("../clients/block-service/ari");
|
|
16
|
+
var _types = require("../common/types");
|
|
17
|
+
var _errorHandling = require("../utils/errorHandling");
|
|
11
18
|
var _referenceSyncBlockStoreManager = require("./referenceSyncBlockStoreManager");
|
|
12
19
|
var _sourceSyncBlockStoreManager = require("./sourceSyncBlockStoreManager");
|
|
20
|
+
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; }
|
|
21
|
+
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; }
|
|
13
22
|
// A parent store manager responsible for the lifecycle and state management of sync blocks in an editor instance.
|
|
14
23
|
// Contains two child store managers: ReferenceSyncBlockStoreManager and SourceSyncBlockStoreManager.
|
|
15
24
|
// ReferenceSyncBlockStoreManager is responsible for the lifecycle and state management of reference sync blocks in an editor instance.
|
|
@@ -22,10 +31,122 @@ var SyncBlockStoreManager = exports.SyncBlockStoreManager = /*#__PURE__*/functio
|
|
|
22
31
|
// we can pass the source manager as a parameter to the reference manager constructor
|
|
23
32
|
this.sourceSyncBlockStoreManager = new _sourceSyncBlockStoreManager.SourceSyncBlockStoreManager(dataProvider);
|
|
24
33
|
this.referenceSyncBlockStoreManager = new _referenceSyncBlockStoreManager.ReferenceSyncBlockStoreManager(dataProvider);
|
|
34
|
+
this.dataProvider = dataProvider;
|
|
25
35
|
}
|
|
26
36
|
return (0, _createClass2.default)(SyncBlockStoreManager, [{
|
|
37
|
+
key: "fetchReferencesSourceInfo",
|
|
38
|
+
value: function () {
|
|
39
|
+
var _fetchReferencesSourceInfo = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(resourceId, blockInstanceId, isSourceSyncBlock) {
|
|
40
|
+
var _this = this;
|
|
41
|
+
var _response$references, response, sourceInfoPromises, sourceInfos, sourceSyncBlockData, _this$fireAnalyticsEv;
|
|
42
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
43
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
44
|
+
case 0:
|
|
45
|
+
_context2.prev = 0;
|
|
46
|
+
if (this.dataProvider) {
|
|
47
|
+
_context2.next = 3;
|
|
48
|
+
break;
|
|
49
|
+
}
|
|
50
|
+
throw new Error('Data provider not set');
|
|
51
|
+
case 3:
|
|
52
|
+
_context2.next = 5;
|
|
53
|
+
return this.dataProvider.fetchReferences(resourceId, isSourceSyncBlock);
|
|
54
|
+
case 5:
|
|
55
|
+
response = _context2.sent;
|
|
56
|
+
if (!response.error) {
|
|
57
|
+
_context2.next = 8;
|
|
58
|
+
break;
|
|
59
|
+
}
|
|
60
|
+
return _context2.abrupt("return", {
|
|
61
|
+
error: response.error
|
|
62
|
+
});
|
|
63
|
+
case 8:
|
|
64
|
+
if (!(!response.references || ((_response$references = response.references) === null || _response$references === void 0 ? void 0 : _response$references.length) === 0)) {
|
|
65
|
+
_context2.next = 10;
|
|
66
|
+
break;
|
|
67
|
+
}
|
|
68
|
+
return _context2.abrupt("return", isSourceSyncBlock ? {
|
|
69
|
+
references: []
|
|
70
|
+
} : {
|
|
71
|
+
error: _types.SyncBlockError.Errored
|
|
72
|
+
});
|
|
73
|
+
case 10:
|
|
74
|
+
sourceInfoPromises = response.references.map( /*#__PURE__*/function () {
|
|
75
|
+
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(reference) {
|
|
76
|
+
var _this$dataProvider;
|
|
77
|
+
var sourceInfo;
|
|
78
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
79
|
+
while (1) switch (_context.prev = _context.next) {
|
|
80
|
+
case 0:
|
|
81
|
+
_context.next = 2;
|
|
82
|
+
return (_this$dataProvider = _this.dataProvider) === null || _this$dataProvider === void 0 ? void 0 : _this$dataProvider.fetchSyncBlockSourceInfo(blockInstanceId, reference.documentAri, (0, _ari.getProductFromSourceAri)(reference.documentAri), _this.fireAnalyticsEvent, reference.hasAccess, 'view');
|
|
83
|
+
case 2:
|
|
84
|
+
sourceInfo = _context.sent;
|
|
85
|
+
if (sourceInfo) {
|
|
86
|
+
_context.next = 5;
|
|
87
|
+
break;
|
|
88
|
+
}
|
|
89
|
+
return _context.abrupt("return", undefined);
|
|
90
|
+
case 5:
|
|
91
|
+
return _context.abrupt("return", _objectSpread(_objectSpread({}, sourceInfo), {}, {
|
|
92
|
+
onSamePage: reference.onSamePage,
|
|
93
|
+
hasAccess: reference.hasAccess,
|
|
94
|
+
productType: sourceInfo.productType
|
|
95
|
+
}));
|
|
96
|
+
case 6:
|
|
97
|
+
case "end":
|
|
98
|
+
return _context.stop();
|
|
99
|
+
}
|
|
100
|
+
}, _callee);
|
|
101
|
+
}));
|
|
102
|
+
return function (_x4) {
|
|
103
|
+
return _ref.apply(this, arguments);
|
|
104
|
+
};
|
|
105
|
+
}());
|
|
106
|
+
_context2.next = 13;
|
|
107
|
+
return Promise.all(sourceInfoPromises);
|
|
108
|
+
case 13:
|
|
109
|
+
sourceInfos = _context2.sent;
|
|
110
|
+
_context2.next = 16;
|
|
111
|
+
return isSourceSyncBlock ? this.sourceSyncBlockStoreManager.getSyncBlockSourceInfo(blockInstanceId) : this.referenceSyncBlockStoreManager.fetchSyncBlockSourceInfo(resourceId);
|
|
112
|
+
case 16:
|
|
113
|
+
sourceSyncBlockData = _context2.sent;
|
|
114
|
+
if (sourceSyncBlockData) {
|
|
115
|
+
sourceInfos.push(_objectSpread(_objectSpread({}, sourceSyncBlockData), {}, {
|
|
116
|
+
onSamePage: Boolean(sourceSyncBlockData === null || sourceSyncBlockData === void 0 ? void 0 : sourceSyncBlockData.onSamePage),
|
|
117
|
+
hasAccess: true,
|
|
118
|
+
isSource: true,
|
|
119
|
+
productType: sourceSyncBlockData === null || sourceSyncBlockData === void 0 ? void 0 : sourceSyncBlockData.productType
|
|
120
|
+
}));
|
|
121
|
+
}
|
|
122
|
+
return _context2.abrupt("return", {
|
|
123
|
+
references: sourceInfos
|
|
124
|
+
});
|
|
125
|
+
case 21:
|
|
126
|
+
_context2.prev = 21;
|
|
127
|
+
_context2.t0 = _context2["catch"](0);
|
|
128
|
+
(0, _monitoring.logException)(_context2.t0, {
|
|
129
|
+
location: 'editor-synced-block-provider/syncBlockStoreManager'
|
|
130
|
+
});
|
|
131
|
+
(_this$fireAnalyticsEv = this.fireAnalyticsEvent) === null || _this$fireAnalyticsEv === void 0 || _this$fireAnalyticsEv.call(this, (0, _errorHandling.fetchReferencesErrorPayload)(_context2.t0.message));
|
|
132
|
+
return _context2.abrupt("return", {
|
|
133
|
+
error: _types.SyncBlockError.Errored
|
|
134
|
+
});
|
|
135
|
+
case 26:
|
|
136
|
+
case "end":
|
|
137
|
+
return _context2.stop();
|
|
138
|
+
}
|
|
139
|
+
}, _callee2, this, [[0, 21]]);
|
|
140
|
+
}));
|
|
141
|
+
function fetchReferencesSourceInfo(_x, _x2, _x3) {
|
|
142
|
+
return _fetchReferencesSourceInfo.apply(this, arguments);
|
|
143
|
+
}
|
|
144
|
+
return fetchReferencesSourceInfo;
|
|
145
|
+
}()
|
|
146
|
+
}, {
|
|
27
147
|
key: "setFireAnalyticsEvent",
|
|
28
148
|
value: function setFireAnalyticsEvent(fireAnalyticsEvent) {
|
|
149
|
+
this.fireAnalyticsEvent = fireAnalyticsEvent;
|
|
29
150
|
this.referenceSyncBlockStoreManager.setFireAnalyticsEvent(fireAnalyticsEvent);
|
|
30
151
|
this.sourceSyncBlockStoreManager.setFireAnalyticsEvent(fireAnalyticsEvent);
|
|
31
152
|
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.updateReferenceErrorPayload = exports.updateErrorPayload = exports.updateCacheErrorPayload = exports.stringifyError = exports.getSourceInfoErrorPayload = exports.getErrorPayload = exports.fetchErrorPayload = exports.deleteErrorPayload = exports.createErrorPayload = void 0;
|
|
6
|
+
exports.updateReferenceErrorPayload = exports.updateErrorPayload = exports.updateCacheErrorPayload = exports.stringifyError = exports.getSourceInfoErrorPayload = exports.getErrorPayload = exports.fetchReferencesErrorPayload = exports.fetchErrorPayload = exports.deleteErrorPayload = exports.createErrorPayload = void 0;
|
|
7
7
|
var _analytics = require("@atlaskit/editor-common/analytics");
|
|
8
8
|
var stringifyError = exports.stringifyError = function stringifyError(error) {
|
|
9
9
|
try {
|
|
@@ -43,4 +43,7 @@ var deleteErrorPayload = exports.deleteErrorPayload = function deleteErrorPayloa
|
|
|
43
43
|
};
|
|
44
44
|
var updateCacheErrorPayload = exports.updateCacheErrorPayload = function updateCacheErrorPayload(error) {
|
|
45
45
|
return getErrorPayload(_analytics.ACTION_SUBJECT_ID.SYNCED_BLOCK_UPDATE_CACHE, error);
|
|
46
|
+
};
|
|
47
|
+
var fetchReferencesErrorPayload = exports.fetchReferencesErrorPayload = function fetchReferencesErrorPayload(error) {
|
|
48
|
+
return getErrorPayload(_analytics.ACTION_SUBJECT_ID.SYNCED_BLOCK_FETCH_REFERENCES, error);
|
|
46
49
|
};
|
|
@@ -41,4 +41,15 @@ export const getLocalIdFromBlockResourceId = ari => {
|
|
|
41
41
|
return match[1];
|
|
42
42
|
}
|
|
43
43
|
throw new Error(`Invalid page ARI: ${ari}`);
|
|
44
|
+
};
|
|
45
|
+
export const getProductFromSourceAri = ari => {
|
|
46
|
+
const jiraMatch = ari === null || ari === void 0 ? void 0 : ari.search(/ari:cloud:jira:.*/);
|
|
47
|
+
if (jiraMatch !== -1) {
|
|
48
|
+
return 'jira-work-item';
|
|
49
|
+
}
|
|
50
|
+
const confluenceMatch = ari === null || ari === void 0 ? void 0 : ari.search(/ari:cloud:confluence:.*/);
|
|
51
|
+
if (confluenceMatch !== -1) {
|
|
52
|
+
return 'confluence-page';
|
|
53
|
+
}
|
|
54
|
+
return undefined;
|
|
44
55
|
};
|
|
@@ -116,7 +116,6 @@ export const getSyncedBlockContent = async ({
|
|
|
116
116
|
}
|
|
117
117
|
return await response.json();
|
|
118
118
|
};
|
|
119
|
-
;
|
|
120
119
|
|
|
121
120
|
/**
|
|
122
121
|
* Batch retrieves multiple synced blocks by their ARIs.
|
|
@@ -218,4 +217,16 @@ export const updateReferenceSyncedBlockOnDocument = async ({
|
|
|
218
217
|
if (!noContent) {
|
|
219
218
|
return await response.json();
|
|
220
219
|
}
|
|
220
|
+
};
|
|
221
|
+
export const getReferenceSyncedBlocksByBlockAri = async ({
|
|
222
|
+
blockAri
|
|
223
|
+
}) => {
|
|
224
|
+
const response = await fetchWithRetry(`${BLOCK_SERVICE_API_URL}/reference/batch-retrieve/${encodeURIComponent(blockAri)}`, {
|
|
225
|
+
method: 'GET',
|
|
226
|
+
headers: COMMON_HEADERS
|
|
227
|
+
});
|
|
228
|
+
if (!response.ok) {
|
|
229
|
+
throw new BlockError(response.status);
|
|
230
|
+
}
|
|
231
|
+
return await response.json();
|
|
221
232
|
};
|
|
@@ -56,6 +56,31 @@ const getConfluenceSourceInfo = async ari => {
|
|
|
56
56
|
}
|
|
57
57
|
return await response.json();
|
|
58
58
|
};
|
|
59
|
+
const resolveNoAccessPageInfo = async ari => {
|
|
60
|
+
const response = await fetch('/gateway/api/object-resolver/resolve/ari', {
|
|
61
|
+
method: 'POST',
|
|
62
|
+
headers: {
|
|
63
|
+
'Content-Type': 'application/json',
|
|
64
|
+
Accept: 'application/json'
|
|
65
|
+
},
|
|
66
|
+
body: JSON.stringify({
|
|
67
|
+
ari
|
|
68
|
+
})
|
|
69
|
+
});
|
|
70
|
+
if (response.ok) {
|
|
71
|
+
var _payload$data, _payload$data2;
|
|
72
|
+
const payload = await response.json();
|
|
73
|
+
const url = payload === null || payload === void 0 ? void 0 : (_payload$data = payload.data) === null || _payload$data === void 0 ? void 0 : _payload$data.url;
|
|
74
|
+
const title = payload === null || payload === void 0 ? void 0 : (_payload$data2 = payload.data) === null || _payload$data2 === void 0 ? void 0 : _payload$data2.name;
|
|
75
|
+
return {
|
|
76
|
+
url: typeof url === 'string' ? url : undefined,
|
|
77
|
+
title: typeof title === 'string' ? title : undefined,
|
|
78
|
+
sourceAri: ari
|
|
79
|
+
};
|
|
80
|
+
} else {
|
|
81
|
+
throw new Error(`Failed to resolve ari: ${response.statusText}`);
|
|
82
|
+
}
|
|
83
|
+
};
|
|
59
84
|
export const fetchConfluencePageInfoOld = async (pageAri, localId, fireAnalyticsEvent) => {
|
|
60
85
|
try {
|
|
61
86
|
var _response$data, _response$data$conten, _response$data$conten2, _contentData$space;
|
|
@@ -86,7 +111,8 @@ export const fetchConfluencePageInfoOld = async (pageAri, localId, fireAnalytics
|
|
|
86
111
|
}
|
|
87
112
|
return Promise.resolve({
|
|
88
113
|
title,
|
|
89
|
-
url
|
|
114
|
+
url,
|
|
115
|
+
sourceAri: pageAri
|
|
90
116
|
});
|
|
91
117
|
} catch (error) {
|
|
92
118
|
logException(error, {
|
|
@@ -96,35 +122,44 @@ export const fetchConfluencePageInfoOld = async (pageAri, localId, fireAnalytics
|
|
|
96
122
|
return Promise.resolve(undefined);
|
|
97
123
|
}
|
|
98
124
|
};
|
|
99
|
-
export const fetchConfluencePageInfoNew = async (pageAri, localId) => {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
125
|
+
export const fetchConfluencePageInfoNew = async (pageAri, hasAccess, urlType, localId) => {
|
|
126
|
+
if (hasAccess) {
|
|
127
|
+
var _response$data2, _response$data2$conte, _response$data2$conte2, _contentData$space2;
|
|
128
|
+
const {
|
|
129
|
+
type: pageType
|
|
130
|
+
} = getPageIdAndTypeFromConfluencePageAri({
|
|
131
|
+
ari: pageAri
|
|
132
|
+
});
|
|
133
|
+
const response = await getConfluenceSourceInfo(pageAri);
|
|
134
|
+
const contentData = (_response$data2 = response.data) === null || _response$data2 === void 0 ? void 0 : (_response$data2$conte = _response$data2.content) === null || _response$data2$conte === void 0 ? void 0 : (_response$data2$conte2 = _response$data2$conte.nodes) === null || _response$data2$conte2 === void 0 ? void 0 : _response$data2$conte2[0];
|
|
135
|
+
const {
|
|
136
|
+
title,
|
|
137
|
+
subType
|
|
138
|
+
} = contentData || {};
|
|
139
|
+
let url;
|
|
140
|
+
const {
|
|
141
|
+
base
|
|
142
|
+
} = (contentData === null || contentData === void 0 ? void 0 : contentData.links) || {};
|
|
143
|
+
if (base && contentData !== null && contentData !== void 0 && (_contentData$space2 = contentData.space) !== null && _contentData$space2 !== void 0 && _contentData$space2.key && contentData !== null && contentData !== void 0 && contentData.id) {
|
|
144
|
+
if (isBlogPageType(pageType)) {
|
|
145
|
+
url = `${base}/spaces/${contentData.space.key}/blog${urlType === 'edit' ? '/edit-v2' : ''}/${contentData.id}`;
|
|
146
|
+
} else if (contentData.subType === 'live') {
|
|
147
|
+
url = `${base}/spaces/${contentData.space.key}/pages/${contentData.id}`;
|
|
148
|
+
} else {
|
|
149
|
+
url = `${base}/spaces/${contentData.space.key}/pages${urlType === 'edit' ? '/edit-v2' : ''}/${contentData.id}`;
|
|
150
|
+
}
|
|
120
151
|
}
|
|
152
|
+
url = url && localId ? `${url}#block-${localId}` : url;
|
|
153
|
+
return Promise.resolve({
|
|
154
|
+
title,
|
|
155
|
+
url,
|
|
156
|
+
sourceAri: pageAri,
|
|
157
|
+
subType
|
|
158
|
+
});
|
|
159
|
+
} else {
|
|
160
|
+
return await resolveNoAccessPageInfo(pageAri);
|
|
121
161
|
}
|
|
122
|
-
url = url && localId ? `${url}#block-${localId}` : url;
|
|
123
|
-
return Promise.resolve({
|
|
124
|
-
title,
|
|
125
|
-
url
|
|
126
|
-
});
|
|
127
162
|
};
|
|
128
|
-
export const fetchConfluencePageInfo = async (pageAri, localId, fireAnalyticsEvent) => {
|
|
129
|
-
return fg('platform_synced_block_dogfooding') ? await fetchConfluencePageInfoNew(pageAri, localId) : await fetchConfluencePageInfoOld(pageAri, localId, fireAnalyticsEvent);
|
|
163
|
+
export const fetchConfluencePageInfo = async (pageAri, hasAccess, urlType, localId, fireAnalyticsEvent) => {
|
|
164
|
+
return fg('platform_synced_block_dogfooding') ? await fetchConfluencePageInfoNew(pageAri, hasAccess, urlType, localId) : await fetchConfluencePageInfoOld(pageAri, localId, fireAnalyticsEvent);
|
|
130
165
|
};
|