@atlaskit/editor-synced-block-provider 2.10.5 → 2.11.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 +21 -0
- package/dist/cjs/clients/block-service/blockService.js +5 -4
- package/dist/cjs/clients/confluence/sourceInfo.js +20 -17
- package/dist/cjs/hooks/useFetchSyncBlockData.js +20 -11
- package/dist/cjs/hooks/useHandleContentChanges.js +1 -5
- package/dist/cjs/index.js +2 -2
- package/dist/cjs/providers/block-service/blockServiceAPI.js +17 -26
- package/dist/cjs/providers/confluence/confluenceContentAPI.js +0 -15
- package/dist/cjs/providers/syncBlockProvider.js +31 -41
- package/dist/cjs/store-manager/referenceSyncBlockStoreManager.js +138 -63
- package/dist/cjs/store-manager/sourceSyncBlockStoreManager.js +93 -43
- package/dist/cjs/store-manager/syncBlockStoreManager.js +3 -3
- package/dist/cjs/utils/errorHandling.js +31 -1
- package/dist/es2019/clients/block-service/blockService.js +5 -4
- package/dist/es2019/clients/confluence/sourceInfo.js +13 -8
- package/dist/es2019/hooks/useFetchSyncBlockData.js +15 -7
- package/dist/es2019/hooks/useHandleContentChanges.js +1 -5
- package/dist/es2019/index.js +1 -1
- package/dist/es2019/providers/block-service/blockServiceAPI.js +13 -20
- package/dist/es2019/providers/confluence/confluenceContentAPI.js +1 -14
- package/dist/es2019/providers/syncBlockProvider.js +31 -45
- package/dist/es2019/store-manager/referenceSyncBlockStoreManager.js +124 -49
- package/dist/es2019/store-manager/sourceSyncBlockStoreManager.js +65 -24
- package/dist/es2019/store-manager/syncBlockStoreManager.js +3 -3
- package/dist/es2019/utils/errorHandling.js +17 -1
- package/dist/esm/clients/block-service/blockService.js +5 -4
- package/dist/esm/clients/confluence/sourceInfo.js +19 -16
- package/dist/esm/hooks/useFetchSyncBlockData.js +20 -11
- package/dist/esm/hooks/useHandleContentChanges.js +1 -5
- package/dist/esm/index.js +1 -1
- package/dist/esm/providers/block-service/blockServiceAPI.js +17 -26
- package/dist/esm/providers/confluence/confluenceContentAPI.js +1 -16
- package/dist/esm/providers/syncBlockProvider.js +32 -42
- package/dist/esm/store-manager/referenceSyncBlockStoreManager.js +138 -63
- package/dist/esm/store-manager/sourceSyncBlockStoreManager.js +93 -43
- package/dist/esm/store-manager/syncBlockStoreManager.js +3 -3
- package/dist/esm/utils/errorHandling.js +30 -0
- package/dist/types/clients/block-service/blockService.d.ts +0 -2
- package/dist/types/clients/confluence/sourceInfo.d.ts +2 -1
- package/dist/types/hooks/useFetchSyncBlockData.d.ts +2 -1
- package/dist/types/index.d.ts +2 -2
- package/dist/types/providers/block-service/blockServiceAPI.d.ts +7 -5
- package/dist/types/providers/confluence/confluenceContentAPI.d.ts +2 -3
- package/dist/types/providers/syncBlockProvider.d.ts +12 -9
- package/dist/types/providers/types.d.ts +9 -9
- package/dist/types/store-manager/referenceSyncBlockStoreManager.d.ts +6 -2
- package/dist/types/store-manager/sourceSyncBlockStoreManager.d.ts +3 -1
- package/dist/types/store-manager/syncBlockStoreManager.d.ts +2 -1
- package/dist/types/utils/errorHandling.d.ts +10 -0
- package/dist/types-ts4.5/clients/block-service/blockService.d.ts +0 -2
- package/dist/types-ts4.5/clients/confluence/sourceInfo.d.ts +2 -1
- package/dist/types-ts4.5/hooks/useFetchSyncBlockData.d.ts +2 -1
- package/dist/types-ts4.5/index.d.ts +2 -2
- package/dist/types-ts4.5/providers/block-service/blockServiceAPI.d.ts +7 -5
- package/dist/types-ts4.5/providers/confluence/confluenceContentAPI.d.ts +2 -3
- package/dist/types-ts4.5/providers/syncBlockProvider.d.ts +12 -9
- package/dist/types-ts4.5/providers/types.d.ts +9 -9
- package/dist/types-ts4.5/store-manager/referenceSyncBlockStoreManager.d.ts +6 -2
- package/dist/types-ts4.5/store-manager/sourceSyncBlockStoreManager.d.ts +3 -1
- package/dist/types-ts4.5/store-manager/syncBlockStoreManager.d.ts +2 -1
- package/dist/types-ts4.5/utils/errorHandling.d.ts +10 -0
- package/package.json +2 -8
|
@@ -2,9 +2,11 @@ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
|
2
2
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
3
|
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
4
4
|
import { useCallback, useEffect, useState } from 'react';
|
|
5
|
+
import { logException } from '@atlaskit/editor-common/monitoring';
|
|
5
6
|
import { SyncBlockError } from '../common/types';
|
|
7
|
+
import { fetchErrorPayload } from '../utils/errorHandling';
|
|
6
8
|
import { createSyncBlockNode } from '../utils/utils';
|
|
7
|
-
export var useFetchSyncBlockData = function useFetchSyncBlockData(manager, resourceId, localId) {
|
|
9
|
+
export var useFetchSyncBlockData = function useFetchSyncBlockData(manager, resourceId, localId, fireAnalyticsEvent) {
|
|
8
10
|
var _useState = useState(null),
|
|
9
11
|
_useState2 = _slicedToArray(_useState, 2),
|
|
10
12
|
syncBlockInstance = _useState2[0],
|
|
@@ -24,36 +26,43 @@ export var useFetchSyncBlockData = function useFetchSyncBlockData(manager, resou
|
|
|
24
26
|
}
|
|
25
27
|
return _context.abrupt("return");
|
|
26
28
|
case 2:
|
|
29
|
+
_context.prev = 2;
|
|
27
30
|
syncBlockNode = resourceId && localId ? createSyncBlockNode(localId, resourceId) : null;
|
|
28
31
|
if (syncBlockNode) {
|
|
29
|
-
_context.next =
|
|
32
|
+
_context.next = 6;
|
|
30
33
|
break;
|
|
31
34
|
}
|
|
32
|
-
|
|
33
|
-
case
|
|
35
|
+
throw new Error('Failed to create sync block node from resourceid and localid');
|
|
36
|
+
case 6:
|
|
34
37
|
setIsLoading(true);
|
|
35
|
-
|
|
38
|
+
|
|
39
|
+
// Fetch sync block data, the `subscribeToSyncBlock` will update the state once data is fetched
|
|
36
40
|
_context.next = 9;
|
|
37
41
|
return manager.referenceManager.fetchSyncBlocksData([syncBlockNode]);
|
|
38
42
|
case 9:
|
|
39
|
-
_context.next =
|
|
43
|
+
_context.next = 16;
|
|
40
44
|
break;
|
|
41
45
|
case 11:
|
|
42
46
|
_context.prev = 11;
|
|
43
|
-
_context.t0 = _context["catch"](
|
|
47
|
+
_context.t0 = _context["catch"](2);
|
|
48
|
+
logException(_context.t0, {
|
|
49
|
+
location: 'editor-synced-block-provider/useFetchSyncBlockData'
|
|
50
|
+
});
|
|
51
|
+
fireAnalyticsEvent === null || fireAnalyticsEvent === void 0 || fireAnalyticsEvent(fetchErrorPayload(_context.t0.message));
|
|
52
|
+
|
|
44
53
|
// Set error state if fetching fails
|
|
45
54
|
setSyncBlockInstance({
|
|
46
55
|
resourceId: resourceId || '',
|
|
47
56
|
error: SyncBlockError.Errored
|
|
48
57
|
});
|
|
49
|
-
case
|
|
58
|
+
case 16:
|
|
50
59
|
setIsLoading(false);
|
|
51
|
-
case
|
|
60
|
+
case 17:
|
|
52
61
|
case "end":
|
|
53
62
|
return _context.stop();
|
|
54
63
|
}
|
|
55
|
-
}, _callee, null, [[
|
|
56
|
-
})), [isLoading, localId, manager.referenceManager, resourceId]);
|
|
64
|
+
}, _callee, null, [[2, 11]]);
|
|
65
|
+
})), [isLoading, localId, manager.referenceManager, resourceId, fireAnalyticsEvent]);
|
|
57
66
|
useEffect(function () {
|
|
58
67
|
var unsubscribe = manager.referenceManager.subscribeToSyncBlock(resourceId || '', localId || '', function (data) {
|
|
59
68
|
setSyncBlockInstance(data);
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
import { useEffect } from 'react';
|
|
2
2
|
export var useHandleContentChanges = function useHandleContentChanges(manager, syncBlockNode) {
|
|
3
3
|
useEffect(function () {
|
|
4
|
-
|
|
5
|
-
manager.sourceManager.updateSyncBlockData(syncBlockNode);
|
|
6
|
-
} catch (_unused) {
|
|
7
|
-
//TODO: EDITOR-1921 - add error analytics
|
|
8
|
-
}
|
|
4
|
+
manager.sourceManager.updateSyncBlockData(syncBlockNode);
|
|
9
5
|
}, [manager, syncBlockNode]);
|
|
10
6
|
};
|
package/dist/esm/index.js
CHANGED
|
@@ -15,7 +15,7 @@ export { getConfluencePageAri, getLocalIdFromConfluencePageAri, getPageARIFromCo
|
|
|
15
15
|
// providers
|
|
16
16
|
export { useMemoizedBlockServiceAPIProviders } from './providers/block-service/blockServiceAPI';
|
|
17
17
|
export { createContentAPIProvidersWithDefaultKey, useMemoizedContentAPIProviders } from './providers/confluence/confluenceContentAPI';
|
|
18
|
-
export {
|
|
18
|
+
export { fetchConfluencePageInfo } from './clients/confluence/sourceInfo';
|
|
19
19
|
export { SyncBlockProvider as SyncedBlockProvider, useMemoizedSyncedBlockProvider } from './providers/syncBlockProvider';
|
|
20
20
|
// store managers
|
|
21
21
|
export { ReferenceSyncBlockStoreManager } from './store-manager/referenceSyncBlockStoreManager';
|
|
@@ -89,33 +89,22 @@ var BlockServiceADFFetchProvider = /*#__PURE__*/function () {
|
|
|
89
89
|
}
|
|
90
90
|
return fetchData;
|
|
91
91
|
}()
|
|
92
|
-
}, {
|
|
93
|
-
key: "retrieveSourceInfoFetchData",
|
|
94
|
-
value: function retrieveSourceInfoFetchData(resourceId, pageARI) {
|
|
95
|
-
var sourceLocalId;
|
|
96
|
-
try {
|
|
97
|
-
sourceLocalId = getLocalIdFromBlockResourceId(resourceId);
|
|
98
|
-
} catch (error) {
|
|
99
|
-
// EDITOR-1921: log analytic here, safe to continue
|
|
100
|
-
}
|
|
101
|
-
return {
|
|
102
|
-
pageARI: pageARI,
|
|
103
|
-
sourceLocalId: sourceLocalId
|
|
104
|
-
};
|
|
105
|
-
}
|
|
106
92
|
}]);
|
|
107
93
|
}();
|
|
108
94
|
/**
|
|
109
95
|
* ADFWriteProvider implementation that writes synced block data to Block Service API
|
|
110
96
|
*/
|
|
111
97
|
var BlockServiceADFWriteProvider = /*#__PURE__*/function () {
|
|
112
|
-
function BlockServiceADFWriteProvider() {
|
|
98
|
+
function BlockServiceADFWriteProvider(sourceAri, product) {
|
|
113
99
|
_classCallCheck(this, BlockServiceADFWriteProvider);
|
|
100
|
+
this.sourceAri = sourceAri;
|
|
101
|
+
this.product = product;
|
|
114
102
|
}
|
|
103
|
+
|
|
104
|
+
// it will first try to update and if it can't (404) then it will try to create
|
|
115
105
|
return _createClass(BlockServiceADFWriteProvider, [{
|
|
116
106
|
key: "writeData",
|
|
117
|
-
value:
|
|
118
|
-
function () {
|
|
107
|
+
value: function () {
|
|
119
108
|
var _writeData = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(data) {
|
|
120
109
|
var resourceId;
|
|
121
110
|
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
@@ -147,8 +136,8 @@ var BlockServiceADFWriteProvider = /*#__PURE__*/function () {
|
|
|
147
136
|
return createSyncedBlock({
|
|
148
137
|
blockAri: resourceId,
|
|
149
138
|
blockInstanceId: data.blockInstanceId,
|
|
150
|
-
sourceAri:
|
|
151
|
-
product:
|
|
139
|
+
sourceAri: this.sourceAri,
|
|
140
|
+
product: this.product,
|
|
152
141
|
content: JSON.stringify(data.content)
|
|
153
142
|
});
|
|
154
143
|
case 13:
|
|
@@ -168,7 +157,7 @@ var BlockServiceADFWriteProvider = /*#__PURE__*/function () {
|
|
|
168
157
|
case "end":
|
|
169
158
|
return _context2.stop();
|
|
170
159
|
}
|
|
171
|
-
}, _callee2,
|
|
160
|
+
}, _callee2, this, [[1, 7]]);
|
|
172
161
|
}));
|
|
173
162
|
function writeData(_x2) {
|
|
174
163
|
return _writeData.apply(this, arguments);
|
|
@@ -224,22 +213,24 @@ var BlockServiceADFWriteProvider = /*#__PURE__*/function () {
|
|
|
224
213
|
}()
|
|
225
214
|
}, {
|
|
226
215
|
key: "generateResourceId",
|
|
227
|
-
value: function generateResourceId(
|
|
228
|
-
return blockResourceIdFromSourceAndLocalId(
|
|
216
|
+
value: function generateResourceId(sourceAri, localId) {
|
|
217
|
+
return blockResourceIdFromSourceAndLocalId(sourceAri, localId);
|
|
229
218
|
}
|
|
230
219
|
}]);
|
|
231
220
|
}();
|
|
232
221
|
/**
|
|
233
222
|
* Factory function to create both providers with shared configuration
|
|
234
223
|
*/
|
|
235
|
-
var createBlockServiceAPIProviders = function createBlockServiceAPIProviders() {
|
|
224
|
+
var createBlockServiceAPIProviders = function createBlockServiceAPIProviders(sourceAri, product) {
|
|
236
225
|
var fetchProvider = new BlockServiceADFFetchProvider();
|
|
237
|
-
var writeProvider = new BlockServiceADFWriteProvider();
|
|
226
|
+
var writeProvider = new BlockServiceADFWriteProvider(sourceAri, product);
|
|
238
227
|
return {
|
|
239
228
|
fetchProvider: fetchProvider,
|
|
240
229
|
writeProvider: writeProvider
|
|
241
230
|
};
|
|
242
231
|
};
|
|
243
|
-
export var useMemoizedBlockServiceAPIProviders = function useMemoizedBlockServiceAPIProviders() {
|
|
244
|
-
return useMemo(
|
|
232
|
+
export var useMemoizedBlockServiceAPIProviders = function useMemoizedBlockServiceAPIProviders(sourceAri, product) {
|
|
233
|
+
return useMemo(function () {
|
|
234
|
+
return createBlockServiceAPIProviders(sourceAri, product);
|
|
235
|
+
}, [sourceAri, product]);
|
|
245
236
|
};
|
|
@@ -7,7 +7,7 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
|
|
|
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
8
|
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
9
9
|
import { useMemo } from 'react';
|
|
10
|
-
import { getConfluencePageAri,
|
|
10
|
+
import { getConfluencePageAri, getLocalIdFromConfluencePageAri, getPageIdAndTypeFromConfluencePageAri, resourceIdFromConfluencePageSourceIdAndLocalId } from '../../clients/confluence/ari';
|
|
11
11
|
import { getContentProperty, createContentProperty, updateContentProperty, deleteContentProperty } from '../../clients/confluence/contentProperty';
|
|
12
12
|
import { isBlogPageType } from '../../clients/confluence/utils';
|
|
13
13
|
import { SyncBlockError } from '../../common/types';
|
|
@@ -140,21 +140,6 @@ var ConfluenceADFFetchProvider = /*#__PURE__*/function () {
|
|
|
140
140
|
}
|
|
141
141
|
return fetchData;
|
|
142
142
|
}()
|
|
143
|
-
}, {
|
|
144
|
-
key: "retrieveSourceInfoFetchData",
|
|
145
|
-
value: function retrieveSourceInfoFetchData(resourceId) {
|
|
146
|
-
var pageARI = getPageARIFromContentPropertyResourceId(resourceId);
|
|
147
|
-
var sourceLocalId;
|
|
148
|
-
try {
|
|
149
|
-
sourceLocalId = getLocalIdFromConfluencePageAri(resourceId);
|
|
150
|
-
} catch (error) {
|
|
151
|
-
// EDITOR-1921: log analytic here, safe to continue
|
|
152
|
-
}
|
|
153
|
-
return {
|
|
154
|
-
pageARI: pageARI,
|
|
155
|
-
sourceLocalId: sourceLocalId
|
|
156
|
-
};
|
|
157
|
-
}
|
|
158
143
|
}]);
|
|
159
144
|
}();
|
|
160
145
|
/**
|
|
@@ -11,7 +11,7 @@ function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstruct
|
|
|
11
11
|
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
12
12
|
import { useMemo } from 'react';
|
|
13
13
|
import { getPageIdAndTypeFromConfluencePageAri } from '../clients/confluence/ari';
|
|
14
|
-
import {
|
|
14
|
+
import { fetchConfluencePageInfo } from '../clients/confluence/sourceInfo';
|
|
15
15
|
import { SyncBlockError } from '../common/types';
|
|
16
16
|
import { SyncBlockDataProvider } from '../providers/types';
|
|
17
17
|
export var SyncBlockProvider = /*#__PURE__*/function (_SyncBlockDataProvide) {
|
|
@@ -84,7 +84,7 @@ export var SyncBlockProvider = /*#__PURE__*/function (_SyncBlockDataProvide) {
|
|
|
84
84
|
return data;
|
|
85
85
|
}, function () {
|
|
86
86
|
return {
|
|
87
|
-
|
|
87
|
+
error: SyncBlockError.Errored,
|
|
88
88
|
resourceId: resourceId
|
|
89
89
|
};
|
|
90
90
|
});
|
|
@@ -202,34 +202,28 @@ export var SyncBlockProvider = /*#__PURE__*/function (_SyncBlockDataProvide) {
|
|
|
202
202
|
}
|
|
203
203
|
|
|
204
204
|
/**
|
|
205
|
-
*
|
|
205
|
+
* Fetch the source info from the source id
|
|
206
206
|
*
|
|
207
|
-
* @param
|
|
207
|
+
* @param params
|
|
208
|
+
* @param params.sourceAri - The source ARI
|
|
209
|
+
* @param params.sourceProduct - The source product. e.g. 'confluence-page', 'jira-work-item'
|
|
208
210
|
*
|
|
209
211
|
* @returns The source info
|
|
210
212
|
*/
|
|
211
213
|
}, {
|
|
212
|
-
key: "
|
|
213
|
-
value: function
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
sourceLocalId = fetchData.sourceLocalId;
|
|
225
|
-
} catch (error) {
|
|
226
|
-
return Promise.reject(error);
|
|
227
|
-
}
|
|
214
|
+
key: "fetchSyncBlockSourceInfo",
|
|
215
|
+
value: function fetchSyncBlockSourceInfo(localId, sourceAri, sourceProduct, fireAnalyticsEvent) {
|
|
216
|
+
if (!sourceAri || !sourceProduct) {
|
|
217
|
+
return Promise.reject(new Error('Source ari or source product is undefined'));
|
|
218
|
+
}
|
|
219
|
+
switch (sourceProduct) {
|
|
220
|
+
case 'confluence-page':
|
|
221
|
+
return fetchConfluencePageInfo(sourceAri, localId, fireAnalyticsEvent);
|
|
222
|
+
case 'jira-work-item':
|
|
223
|
+
return Promise.reject(new Error('Jira work item source product not supported'));
|
|
224
|
+
default:
|
|
225
|
+
return Promise.reject(new Error("".concat(sourceProduct, " source product not supported")));
|
|
228
226
|
}
|
|
229
|
-
|
|
230
|
-
// TODO: EDITOR-3312 - based on the source sync block product,
|
|
231
|
-
// execute fetchConfluenceSourceInfo or fetchJiraItemSourceInfo or similar...
|
|
232
|
-
return pageARI ? fetchConfluenceSourceInfo(pageARI, sourceLocalId) : Promise.resolve(undefined);
|
|
233
227
|
}
|
|
234
228
|
}, {
|
|
235
229
|
key: "generateResourceId",
|
|
@@ -251,32 +245,28 @@ export var SyncBlockProvider = /*#__PURE__*/function (_SyncBlockDataProvide) {
|
|
|
251
245
|
/**
|
|
252
246
|
* Retrieve the parent info for the sync block
|
|
253
247
|
*
|
|
254
|
-
* @param
|
|
255
|
-
* @param
|
|
248
|
+
* @param sourceAri - The source ARI
|
|
249
|
+
* @param sourceProduct - The source product. e.g. 'confluence-page', 'jira-work-item'
|
|
256
250
|
*
|
|
257
251
|
* @returns The parent info for the sync block
|
|
258
252
|
*/
|
|
259
253
|
}, {
|
|
260
254
|
key: "retrieveSyncBlockParentInfo",
|
|
261
|
-
value: function retrieveSyncBlockParentInfo(
|
|
262
|
-
if (!
|
|
255
|
+
value: function retrieveSyncBlockParentInfo(sourceAri, sourceProduct) {
|
|
256
|
+
if (!sourceAri || !sourceProduct) {
|
|
263
257
|
return undefined;
|
|
264
258
|
}
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
259
|
+
switch (sourceProduct) {
|
|
260
|
+
case 'confluence-page':
|
|
261
|
+
return {
|
|
262
|
+
contentId: getPageIdAndTypeFromConfluencePageAri(sourceAri).id,
|
|
263
|
+
contentProduct: sourceProduct
|
|
264
|
+
};
|
|
265
|
+
case 'jira-work-item':
|
|
266
|
+
throw new Error('Jira work item source product not supported');
|
|
267
|
+
default:
|
|
268
|
+
throw new Error("".concat(sourceProduct, " source product not supported"));
|
|
270
269
|
}
|
|
271
|
-
|
|
272
|
-
// TODO: EDITOR-3312 - based on the source sync block product,
|
|
273
|
-
// execute getPageIdAndTypeFromConfluencePageAri or getJiraItemIdAndTypeFromJiraItemAri or similar...
|
|
274
|
-
var _getPageIdAndTypeFrom = getPageIdAndTypeFromConfluencePageAri(sourceAri),
|
|
275
|
-
contentId = _getPageIdAndTypeFrom.id;
|
|
276
|
-
return {
|
|
277
|
-
contentId: contentId,
|
|
278
|
-
contentProduct: product
|
|
279
|
-
};
|
|
280
270
|
}
|
|
281
271
|
}]);
|
|
282
272
|
}(SyncBlockDataProvider);
|