@atlaskit/editor-synced-block-provider 2.12.1 → 2.12.3
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 +17 -0
- package/dist/cjs/clients/block-service/blockService.js +6 -5
- package/dist/cjs/clients/confluence/contentProperty.js +4 -3
- package/dist/cjs/clients/confluence/sourceInfo.js +2 -1
- package/dist/cjs/common/types.js +5 -0
- package/dist/cjs/providers/block-service/blockServiceAPI.js +81 -37
- package/dist/cjs/providers/confluence/confluenceContentAPI.js +80 -42
- package/dist/cjs/providers/syncBlockProvider.js +13 -2
- package/dist/cjs/store-manager/referenceSyncBlockStoreManager.js +4 -6
- package/dist/cjs/store-manager/sourceSyncBlockStoreManager.js +10 -12
- package/dist/cjs/utils/resolveSyncBlockInstance.js +8 -4
- package/dist/cjs/utils/retry.js +66 -0
- package/dist/cjs/utils/utils.js +1 -10
- package/dist/es2019/clients/block-service/blockService.js +6 -5
- package/dist/es2019/clients/confluence/contentProperty.js +4 -3
- package/dist/es2019/clients/confluence/sourceInfo.js +2 -1
- package/dist/es2019/common/types.js +5 -0
- package/dist/es2019/providers/block-service/blockServiceAPI.js +43 -15
- package/dist/es2019/providers/confluence/confluenceContentAPI.js +35 -10
- package/dist/es2019/providers/syncBlockProvider.js +5 -0
- package/dist/es2019/store-manager/referenceSyncBlockStoreManager.js +4 -6
- package/dist/es2019/store-manager/sourceSyncBlockStoreManager.js +11 -13
- package/dist/es2019/utils/resolveSyncBlockInstance.js +8 -4
- package/dist/es2019/utils/retry.js +26 -0
- package/dist/es2019/utils/utils.js +0 -9
- package/dist/esm/clients/block-service/blockService.js +6 -5
- package/dist/esm/clients/confluence/contentProperty.js +4 -3
- package/dist/esm/clients/confluence/sourceInfo.js +2 -1
- package/dist/esm/common/types.js +5 -0
- package/dist/esm/providers/block-service/blockServiceAPI.js +81 -37
- package/dist/esm/providers/confluence/confluenceContentAPI.js +80 -42
- package/dist/esm/providers/syncBlockProvider.js +13 -2
- package/dist/esm/store-manager/referenceSyncBlockStoreManager.js +4 -6
- package/dist/esm/store-manager/sourceSyncBlockStoreManager.js +11 -13
- package/dist/esm/utils/resolveSyncBlockInstance.js +8 -4
- package/dist/esm/utils/retry.js +60 -0
- package/dist/esm/utils/utils.js +0 -9
- package/dist/types/common/types.d.ts +4 -0
- package/dist/types/providers/block-service/blockServiceAPI.d.ts +1 -0
- package/dist/types/providers/confluence/confluenceContentAPI.d.ts +1 -0
- package/dist/types/providers/syncBlockProvider.d.ts +1 -0
- package/dist/types/providers/types.d.ts +2 -0
- package/dist/types/utils/retry.d.ts +1 -0
- package/dist/types/utils/utils.d.ts +0 -1
- package/dist/types-ts4.5/common/types.d.ts +4 -0
- package/dist/types-ts4.5/providers/block-service/blockServiceAPI.d.ts +1 -0
- package/dist/types-ts4.5/providers/confluence/confluenceContentAPI.d.ts +1 -0
- package/dist/types-ts4.5/providers/syncBlockProvider.d.ts +1 -0
- package/dist/types-ts4.5/providers/types.d.ts +2 -0
- package/dist/types-ts4.5/utils/retry.d.ts +1 -0
- package/dist/types-ts4.5/utils/utils.d.ts +0 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# @atlaskit/editor-synced-block-provider
|
|
2
2
|
|
|
3
|
+
## 2.12.3
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`707c3960baedb`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/707c3960baedb) -
|
|
8
|
+
EDITOR-1923 retry api requests on rate limited for sync block provider
|
|
9
|
+
- Updated dependencies
|
|
10
|
+
|
|
11
|
+
## 2.12.2
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- [`fd932d0fad4a5`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/fd932d0fad4a5) -
|
|
16
|
+
[ux] EDITOR-3693 separate sync block creation and update into different provider calls
|
|
17
|
+
- [`1f90e6ac4a228`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/1f90e6ac4a228) -
|
|
18
|
+
[ux] EDITOR-3662 fix sync block error merging logic to retain old information on error
|
|
19
|
+
|
|
3
20
|
## 2.12.1
|
|
4
21
|
|
|
5
22
|
### Patch Changes
|
|
@@ -13,6 +13,7 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
|
|
|
13
13
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
14
14
|
var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
|
|
15
15
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
16
|
+
var _retry = require("../../utils/retry");
|
|
16
17
|
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)); }
|
|
17
18
|
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
18
19
|
var isBlockContentResponse = exports.isBlockContentResponse = function isBlockContentResponse(response) {
|
|
@@ -69,7 +70,7 @@ var getReferenceSyncedBlocks = exports.getReferenceSyncedBlocks = /*#__PURE__*/f
|
|
|
69
70
|
while (1) switch (_context.prev = _context.next) {
|
|
70
71
|
case 0:
|
|
71
72
|
_context.next = 2;
|
|
72
|
-
return
|
|
73
|
+
return (0, _retry.fetchWithRetry)("".concat(BLOCK_SERVICE_API_URL, "/block/document/reference/").concat(encodeURIComponent(documentAri)), {
|
|
73
74
|
method: 'GET',
|
|
74
75
|
headers: COMMON_HEADERS
|
|
75
76
|
});
|
|
@@ -119,7 +120,7 @@ var getSyncedBlockContent = exports.getSyncedBlockContent = /*#__PURE__*/functio
|
|
|
119
120
|
case 0:
|
|
120
121
|
blockAri = _ref2.blockAri;
|
|
121
122
|
_context2.next = 3;
|
|
122
|
-
return
|
|
123
|
+
return (0, _retry.fetchWithRetry)("".concat(BLOCK_SERVICE_API_URL, "/block/").concat(encodeURIComponent(blockAri)), {
|
|
123
124
|
method: 'GET',
|
|
124
125
|
headers: COMMON_HEADERS
|
|
125
126
|
});
|
|
@@ -153,7 +154,7 @@ var deleteSyncedBlock = exports.deleteSyncedBlock = /*#__PURE__*/function () {
|
|
|
153
154
|
case 0:
|
|
154
155
|
blockAri = _ref4.blockAri;
|
|
155
156
|
_context3.next = 3;
|
|
156
|
-
return
|
|
157
|
+
return (0, _retry.fetchWithRetry)("".concat(BLOCK_SERVICE_API_URL, "/block/").concat(encodeURIComponent(blockAri)), {
|
|
157
158
|
method: 'DELETE',
|
|
158
159
|
headers: COMMON_HEADERS
|
|
159
160
|
});
|
|
@@ -182,7 +183,7 @@ var updateSyncedBlock = exports.updateSyncedBlock = /*#__PURE__*/function () {
|
|
|
182
183
|
case 0:
|
|
183
184
|
blockAri = _ref6.blockAri, content = _ref6.content;
|
|
184
185
|
_context4.next = 3;
|
|
185
|
-
return
|
|
186
|
+
return (0, _retry.fetchWithRetry)("".concat(BLOCK_SERVICE_API_URL, "/block/").concat(encodeURIComponent(blockAri)), {
|
|
186
187
|
method: 'PUT',
|
|
187
188
|
headers: COMMON_HEADERS,
|
|
188
189
|
body: JSON.stringify({
|
|
@@ -214,7 +215,7 @@ var createSyncedBlock = exports.createSyncedBlock = /*#__PURE__*/function () {
|
|
|
214
215
|
case 0:
|
|
215
216
|
blockAri = _ref8.blockAri, blockInstanceId = _ref8.blockInstanceId, sourceAri = _ref8.sourceAri, product = _ref8.product, content = _ref8.content;
|
|
216
217
|
_context5.next = 3;
|
|
217
|
-
return
|
|
218
|
+
return (0, _retry.fetchWithRetry)("".concat(BLOCK_SERVICE_API_URL, "/block"), {
|
|
218
219
|
method: 'POST',
|
|
219
220
|
headers: COMMON_HEADERS,
|
|
220
221
|
body: JSON.stringify({
|
|
@@ -8,6 +8,7 @@ exports.updateContentProperty = exports.getContentProperty = exports.deleteConte
|
|
|
8
8
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
9
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
10
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
11
|
+
var _retry = require("../../utils/retry");
|
|
11
12
|
var _ari = require("./ari");
|
|
12
13
|
var _utils = require("./utils");
|
|
13
14
|
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; }
|
|
@@ -95,7 +96,7 @@ var getContentProperty = exports.getContentProperty = /*#__PURE__*/function () {
|
|
|
95
96
|
}
|
|
96
97
|
};
|
|
97
98
|
_context.next = 6;
|
|
98
|
-
return
|
|
99
|
+
return (0, _retry.fetchWithRetry)(GRAPHQL_ENDPOINT, {
|
|
99
100
|
method: 'POST',
|
|
100
101
|
headers: _objectSpread(_objectSpread({}, COMMON_HEADERS), AGG_HEADERS),
|
|
101
102
|
body: JSON.stringify(bodyData)
|
|
@@ -204,7 +205,7 @@ var createContentProperty = exports.createContentProperty = /*#__PURE__*/functio
|
|
|
204
205
|
}
|
|
205
206
|
};
|
|
206
207
|
_context3.next = 6;
|
|
207
|
-
return
|
|
208
|
+
return (0, _retry.fetchWithRetry)(GRAPHQL_ENDPOINT, {
|
|
208
209
|
method: 'POST',
|
|
209
210
|
headers: _objectSpread(_objectSpread({}, COMMON_HEADERS), AGG_HEADERS),
|
|
210
211
|
body: JSON.stringify(bodyData)
|
|
@@ -254,7 +255,7 @@ var deleteContentProperty = exports.deleteContentProperty = /*#__PURE__*/functio
|
|
|
254
255
|
}
|
|
255
256
|
};
|
|
256
257
|
_context4.next = 6;
|
|
257
|
-
return
|
|
258
|
+
return (0, _retry.fetchWithRetry)(GRAPHQL_ENDPOINT, {
|
|
258
259
|
method: 'POST',
|
|
259
260
|
headers: _objectSpread(_objectSpread({}, COMMON_HEADERS), AGG_HEADERS),
|
|
260
261
|
body: JSON.stringify(bodyData)
|
|
@@ -10,6 +10,7 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
10
10
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
11
11
|
var _monitoring = require("@atlaskit/editor-common/monitoring");
|
|
12
12
|
var _errorHandling = require("../../utils/errorHandling");
|
|
13
|
+
var _retry = require("../../utils/retry");
|
|
13
14
|
var _ari = require("./ari");
|
|
14
15
|
var _utils = require("./utils");
|
|
15
16
|
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; }
|
|
@@ -43,7 +44,7 @@ var getConfluenceSourceInfo = /*#__PURE__*/function () {
|
|
|
43
44
|
}
|
|
44
45
|
};
|
|
45
46
|
_context.next = 3;
|
|
46
|
-
return
|
|
47
|
+
return (0, _retry.fetchWithRetry)(GRAPHQL_ENDPOINT, {
|
|
47
48
|
method: 'POST',
|
|
48
49
|
headers: _objectSpread(_objectSpread({}, COMMON_HEADERS), AGG_HEADERS),
|
|
49
50
|
body: JSON.stringify(bodyData)
|
package/dist/cjs/common/types.js
CHANGED
|
@@ -8,6 +8,11 @@ var SyncBlockError = exports.SyncBlockError = /*#__PURE__*/function (SyncBlockEr
|
|
|
8
8
|
SyncBlockError["Errored"] = "errored";
|
|
9
9
|
SyncBlockError["NotFound"] = "not_found";
|
|
10
10
|
SyncBlockError["Forbidden"] = "forbidden";
|
|
11
|
+
SyncBlockError["InvalidRequest"] = "invalid_request";
|
|
12
|
+
SyncBlockError["RateLimited"] = "rate_limited";
|
|
13
|
+
SyncBlockError["Conflict"] = "conflict";
|
|
14
|
+
// attempt to create block that already exists
|
|
15
|
+
SyncBlockError["ServerError"] = "server_error";
|
|
11
16
|
SyncBlockError["InvalidContent"] = "invalid_content"; // content is not a valid JSON
|
|
12
17
|
return SyncBlockError;
|
|
13
18
|
}({});
|
|
@@ -17,10 +17,21 @@ var _types = require("../../common/types");
|
|
|
17
17
|
var _errorHandling = require("../../utils/errorHandling");
|
|
18
18
|
var mapBlockError = function mapBlockError(error) {
|
|
19
19
|
switch (error.status) {
|
|
20
|
+
case 400:
|
|
21
|
+
case 401:
|
|
22
|
+
return _types.SyncBlockError.InvalidRequest;
|
|
20
23
|
case 403:
|
|
21
24
|
return _types.SyncBlockError.Forbidden;
|
|
22
25
|
case 404:
|
|
23
26
|
return _types.SyncBlockError.NotFound;
|
|
27
|
+
case 409:
|
|
28
|
+
return _types.SyncBlockError.Conflict;
|
|
29
|
+
case 429:
|
|
30
|
+
return _types.SyncBlockError.RateLimited;
|
|
31
|
+
case 500:
|
|
32
|
+
case 503:
|
|
33
|
+
case 504:
|
|
34
|
+
return _types.SyncBlockError.ServerError;
|
|
24
35
|
}
|
|
25
36
|
return _types.SyncBlockError.Errored;
|
|
26
37
|
};
|
|
@@ -210,88 +221,121 @@ var BlockServiceADFWriteProvider = /*#__PURE__*/function () {
|
|
|
210
221
|
_context3.prev = 7;
|
|
211
222
|
_context3.t0 = _context3["catch"](1);
|
|
212
223
|
if (!(_context3.t0 instanceof _blockService.BlockError)) {
|
|
213
|
-
_context3.next =
|
|
224
|
+
_context3.next = 11;
|
|
214
225
|
break;
|
|
215
226
|
}
|
|
216
|
-
if (!(_context3.t0.status === 404)) {
|
|
217
|
-
_context3.next = 15;
|
|
218
|
-
break;
|
|
219
|
-
}
|
|
220
|
-
_context3.next = 13;
|
|
221
|
-
return (0, _blockService.createSyncedBlock)({
|
|
222
|
-
blockAri: resourceId,
|
|
223
|
-
blockInstanceId: data.blockInstanceId,
|
|
224
|
-
sourceAri: this.sourceAri,
|
|
225
|
-
product: this.product,
|
|
226
|
-
content: JSON.stringify(data.content)
|
|
227
|
-
});
|
|
228
|
-
case 13:
|
|
229
|
-
_context3.next = 16;
|
|
230
|
-
break;
|
|
231
|
-
case 15:
|
|
232
227
|
return _context3.abrupt("return", {
|
|
233
228
|
error: mapBlockError(_context3.t0),
|
|
234
229
|
resourceId: resourceId
|
|
235
230
|
});
|
|
236
|
-
case
|
|
231
|
+
case 11:
|
|
237
232
|
return _context3.abrupt("return", {
|
|
238
233
|
error: (0, _errorHandling.stringifyError)(_context3.t0),
|
|
239
234
|
resourceId: resourceId
|
|
240
235
|
});
|
|
241
|
-
case
|
|
236
|
+
case 12:
|
|
242
237
|
case "end":
|
|
243
238
|
return _context3.stop();
|
|
244
239
|
}
|
|
245
|
-
}, _callee3,
|
|
240
|
+
}, _callee3, null, [[1, 7]]);
|
|
246
241
|
}));
|
|
247
242
|
function writeData(_x3) {
|
|
248
243
|
return _writeData.apply(this, arguments);
|
|
249
244
|
}
|
|
250
245
|
return writeData;
|
|
251
|
-
}()
|
|
246
|
+
}()
|
|
252
247
|
}, {
|
|
253
|
-
key: "
|
|
248
|
+
key: "createData",
|
|
254
249
|
value: function () {
|
|
255
|
-
var
|
|
250
|
+
var _createData = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(data) {
|
|
251
|
+
var resourceId;
|
|
256
252
|
return _regenerator.default.wrap(function _callee4$(_context4) {
|
|
257
253
|
while (1) switch (_context4.prev = _context4.next) {
|
|
258
254
|
case 0:
|
|
259
|
-
|
|
260
|
-
_context4.
|
|
255
|
+
resourceId = data.resourceId;
|
|
256
|
+
_context4.prev = 1;
|
|
257
|
+
_context4.next = 4;
|
|
258
|
+
return (0, _blockService.createSyncedBlock)({
|
|
259
|
+
blockAri: resourceId,
|
|
260
|
+
blockInstanceId: data.blockInstanceId,
|
|
261
|
+
sourceAri: this.sourceAri,
|
|
262
|
+
product: this.product,
|
|
263
|
+
content: JSON.stringify(data.content)
|
|
264
|
+
});
|
|
265
|
+
case 4:
|
|
266
|
+
return _context4.abrupt("return", {
|
|
267
|
+
resourceId: resourceId
|
|
268
|
+
});
|
|
269
|
+
case 7:
|
|
270
|
+
_context4.prev = 7;
|
|
271
|
+
_context4.t0 = _context4["catch"](1);
|
|
272
|
+
if (!(_context4.t0 instanceof _blockService.BlockError)) {
|
|
273
|
+
_context4.next = 11;
|
|
274
|
+
break;
|
|
275
|
+
}
|
|
276
|
+
return _context4.abrupt("return", {
|
|
277
|
+
error: mapBlockError(_context4.t0),
|
|
278
|
+
resourceId: resourceId
|
|
279
|
+
});
|
|
280
|
+
case 11:
|
|
281
|
+
return _context4.abrupt("return", {
|
|
282
|
+
error: (0, _errorHandling.stringifyError)(_context4.t0),
|
|
283
|
+
resourceId: resourceId
|
|
284
|
+
});
|
|
285
|
+
case 12:
|
|
286
|
+
case "end":
|
|
287
|
+
return _context4.stop();
|
|
288
|
+
}
|
|
289
|
+
}, _callee4, this, [[1, 7]]);
|
|
290
|
+
}));
|
|
291
|
+
function createData(_x4) {
|
|
292
|
+
return _createData.apply(this, arguments);
|
|
293
|
+
}
|
|
294
|
+
return createData;
|
|
295
|
+
}() // soft deletes the source synced block
|
|
296
|
+
}, {
|
|
297
|
+
key: "deleteData",
|
|
298
|
+
value: function () {
|
|
299
|
+
var _deleteData = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5(resourceId) {
|
|
300
|
+
return _regenerator.default.wrap(function _callee5$(_context5) {
|
|
301
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
302
|
+
case 0:
|
|
303
|
+
_context5.prev = 0;
|
|
304
|
+
_context5.next = 3;
|
|
261
305
|
return (0, _blockService.deleteSyncedBlock)({
|
|
262
306
|
blockAri: resourceId
|
|
263
307
|
});
|
|
264
308
|
case 3:
|
|
265
|
-
return
|
|
309
|
+
return _context5.abrupt("return", {
|
|
266
310
|
resourceId: resourceId,
|
|
267
311
|
success: true,
|
|
268
312
|
error: undefined
|
|
269
313
|
});
|
|
270
314
|
case 6:
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
if (!(
|
|
274
|
-
|
|
315
|
+
_context5.prev = 6;
|
|
316
|
+
_context5.t0 = _context5["catch"](0);
|
|
317
|
+
if (!(_context5.t0 instanceof _blockService.BlockError)) {
|
|
318
|
+
_context5.next = 10;
|
|
275
319
|
break;
|
|
276
320
|
}
|
|
277
|
-
return
|
|
321
|
+
return _context5.abrupt("return", {
|
|
278
322
|
resourceId: resourceId,
|
|
279
323
|
success: false,
|
|
280
|
-
error: mapBlockError(
|
|
324
|
+
error: mapBlockError(_context5.t0)
|
|
281
325
|
});
|
|
282
326
|
case 10:
|
|
283
|
-
return
|
|
327
|
+
return _context5.abrupt("return", {
|
|
284
328
|
resourceId: resourceId,
|
|
285
329
|
success: false,
|
|
286
|
-
error: (0, _errorHandling.stringifyError)(
|
|
330
|
+
error: (0, _errorHandling.stringifyError)(_context5.t0)
|
|
287
331
|
});
|
|
288
332
|
case 11:
|
|
289
333
|
case "end":
|
|
290
|
-
return
|
|
334
|
+
return _context5.stop();
|
|
291
335
|
}
|
|
292
|
-
},
|
|
336
|
+
}, _callee5, null, [[0, 6]]);
|
|
293
337
|
}));
|
|
294
|
-
function deleteData(
|
|
338
|
+
function deleteData(_x5) {
|
|
295
339
|
return _deleteData.apply(this, arguments);
|
|
296
340
|
}
|
|
297
341
|
return deleteData;
|
|
@@ -260,37 +260,23 @@ var ConfluenceADFWriteProvider = /*#__PURE__*/function () {
|
|
|
260
260
|
resourceId: resourceId
|
|
261
261
|
});
|
|
262
262
|
case 23:
|
|
263
|
-
if (updateResult) {
|
|
264
|
-
_context3.next = 27;
|
|
265
|
-
break;
|
|
266
|
-
}
|
|
267
|
-
return _context3.abrupt("return", this.createNewContentProperty(pageId, key, syncBlockDataWithSourceDocumentAri, pageType).then(function () {
|
|
268
|
-
return {
|
|
269
|
-
resourceId: resourceId
|
|
270
|
-
};
|
|
271
|
-
}, function (error) {
|
|
272
|
-
return {
|
|
273
|
-
error: error
|
|
274
|
-
};
|
|
275
|
-
}));
|
|
276
|
-
case 27:
|
|
277
263
|
return _context3.abrupt("return", {
|
|
278
264
|
error: "Failed to update ".concat(pageType, " content property")
|
|
279
265
|
});
|
|
280
|
-
case
|
|
281
|
-
_context3.next =
|
|
266
|
+
case 24:
|
|
267
|
+
_context3.next = 29;
|
|
282
268
|
break;
|
|
283
|
-
case
|
|
284
|
-
_context3.prev =
|
|
269
|
+
case 26:
|
|
270
|
+
_context3.prev = 26;
|
|
285
271
|
_context3.t1 = _context3["catch"](9);
|
|
286
272
|
return _context3.abrupt("return", {
|
|
287
273
|
error: "Failed to write ".concat(pageType)
|
|
288
274
|
});
|
|
289
|
-
case
|
|
275
|
+
case 29:
|
|
290
276
|
case "end":
|
|
291
277
|
return _context3.stop();
|
|
292
278
|
}
|
|
293
|
-
}, _callee3, this, [[1, 5], [9,
|
|
279
|
+
}, _callee3, this, [[1, 5], [9, 26]]);
|
|
294
280
|
}));
|
|
295
281
|
function writeData(_x6) {
|
|
296
282
|
return _writeData.apply(this, arguments);
|
|
@@ -298,28 +284,80 @@ var ConfluenceADFWriteProvider = /*#__PURE__*/function () {
|
|
|
298
284
|
return writeData;
|
|
299
285
|
}()
|
|
300
286
|
}, {
|
|
301
|
-
key: "
|
|
287
|
+
key: "createData",
|
|
302
288
|
value: function () {
|
|
303
|
-
var
|
|
304
|
-
var
|
|
289
|
+
var _createData = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(syncBlockData) {
|
|
290
|
+
var match, resourceId, _match2, pageId, pageType, localId, key, sourceAri, syncBlockDataWithSourceDocumentAri;
|
|
305
291
|
return _regenerator.default.wrap(function _callee4$(_context4) {
|
|
306
292
|
while (1) switch (_context4.prev = _context4.next) {
|
|
307
293
|
case 0:
|
|
308
|
-
|
|
294
|
+
resourceId = syncBlockData.resourceId;
|
|
295
|
+
_context4.prev = 1;
|
|
309
296
|
match = (0, _ari.getPageIdAndTypeFromConfluencePageAri)(resourceId);
|
|
310
|
-
_context4.next =
|
|
297
|
+
_context4.next = 8;
|
|
311
298
|
break;
|
|
312
|
-
case
|
|
313
|
-
_context4.prev =
|
|
314
|
-
_context4.t0 = _context4["catch"](
|
|
299
|
+
case 5:
|
|
300
|
+
_context4.prev = 5;
|
|
301
|
+
_context4.t0 = _context4["catch"](1);
|
|
302
|
+
return _context4.abrupt("return", {
|
|
303
|
+
error: (0, _errorHandling.stringifyError)(_context4.t0)
|
|
304
|
+
});
|
|
305
|
+
case 8:
|
|
306
|
+
_match2 = match, pageId = _match2.id, pageType = _match2.type;
|
|
307
|
+
_context4.prev = 9;
|
|
308
|
+
localId = (0, _ari.getLocalIdFromConfluencePageAri)(resourceId);
|
|
309
|
+
key = getContentPropertyKey(this.config.contentPropertyKey, localId);
|
|
310
|
+
sourceAri = (0, _ari.getConfluencePageAri)(pageId, this.config.cloudId, pageType);
|
|
311
|
+
syncBlockDataWithSourceDocumentAri = _objectSpread(_objectSpread({}, syncBlockData), {}, {
|
|
312
|
+
product: 'confluence-page',
|
|
313
|
+
sourceAri: sourceAri
|
|
314
|
+
});
|
|
315
|
+
_context4.next = 16;
|
|
316
|
+
return this.createNewContentProperty(pageId, key, syncBlockDataWithSourceDocumentAri, pageType);
|
|
317
|
+
case 16:
|
|
315
318
|
return _context4.abrupt("return", {
|
|
319
|
+
resourceId: resourceId
|
|
320
|
+
});
|
|
321
|
+
case 19:
|
|
322
|
+
_context4.prev = 19;
|
|
323
|
+
_context4.t1 = _context4["catch"](9);
|
|
324
|
+
return _context4.abrupt("return", Promise.resolve({
|
|
325
|
+
error: (0, _errorHandling.stringifyError)(_context4.t1)
|
|
326
|
+
}));
|
|
327
|
+
case 22:
|
|
328
|
+
case "end":
|
|
329
|
+
return _context4.stop();
|
|
330
|
+
}
|
|
331
|
+
}, _callee4, this, [[1, 5], [9, 19]]);
|
|
332
|
+
}));
|
|
333
|
+
function createData(_x7) {
|
|
334
|
+
return _createData.apply(this, arguments);
|
|
335
|
+
}
|
|
336
|
+
return createData;
|
|
337
|
+
}()
|
|
338
|
+
}, {
|
|
339
|
+
key: "deleteData",
|
|
340
|
+
value: function () {
|
|
341
|
+
var _deleteData = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5(resourceId) {
|
|
342
|
+
var deletePayload, deleteResult, match, _match3, pageId, pageType, localId, key, options, _stringifyError;
|
|
343
|
+
return _regenerator.default.wrap(function _callee5$(_context5) {
|
|
344
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
345
|
+
case 0:
|
|
346
|
+
_context5.prev = 0;
|
|
347
|
+
match = (0, _ari.getPageIdAndTypeFromConfluencePageAri)(resourceId);
|
|
348
|
+
_context5.next = 7;
|
|
349
|
+
break;
|
|
350
|
+
case 4:
|
|
351
|
+
_context5.prev = 4;
|
|
352
|
+
_context5.t0 = _context5["catch"](0);
|
|
353
|
+
return _context5.abrupt("return", {
|
|
316
354
|
resourceId: resourceId,
|
|
317
355
|
success: false,
|
|
318
|
-
error: (0, _errorHandling.stringifyError)(
|
|
356
|
+
error: (0, _errorHandling.stringifyError)(_context5.t0)
|
|
319
357
|
});
|
|
320
358
|
case 7:
|
|
321
|
-
|
|
322
|
-
|
|
359
|
+
_match3 = match, pageId = _match3.id, pageType = _match3.type;
|
|
360
|
+
_context5.prev = 8;
|
|
323
361
|
localId = (0, _ari.getLocalIdFromConfluencePageAri)(resourceId);
|
|
324
362
|
key = getContentPropertyKey(this.config.contentPropertyKey, localId);
|
|
325
363
|
options = {
|
|
@@ -328,34 +366,34 @@ var ConfluenceADFWriteProvider = /*#__PURE__*/function () {
|
|
|
328
366
|
cloudId: this.config.cloudId,
|
|
329
367
|
pageType: pageType
|
|
330
368
|
};
|
|
331
|
-
|
|
369
|
+
_context5.next = 14;
|
|
332
370
|
return (0, _contentProperty3.deleteContentProperty)(options);
|
|
333
371
|
case 14:
|
|
334
|
-
deletePayload =
|
|
372
|
+
deletePayload = _context5.sent;
|
|
335
373
|
deleteResult = (0, _utils.isBlogPageType)(pageType) ? deletePayload.data.confluence.deleteBlogPostProperty : deletePayload.data.confluence.deletePageProperty;
|
|
336
|
-
|
|
374
|
+
_context5.next = 21;
|
|
337
375
|
break;
|
|
338
376
|
case 18:
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
return
|
|
377
|
+
_context5.prev = 18;
|
|
378
|
+
_context5.t1 = _context5["catch"](8);
|
|
379
|
+
return _context5.abrupt("return", {
|
|
342
380
|
resourceId: resourceId,
|
|
343
381
|
success: false,
|
|
344
|
-
error: (_stringifyError = (0, _errorHandling.stringifyError)(
|
|
382
|
+
error: (_stringifyError = (0, _errorHandling.stringifyError)(_context5.t1)) !== null && _stringifyError !== void 0 ? _stringifyError : "Fail to delete ".concat(pageType, " content property")
|
|
345
383
|
});
|
|
346
384
|
case 21:
|
|
347
|
-
return
|
|
385
|
+
return _context5.abrupt("return", {
|
|
348
386
|
resourceId: resourceId,
|
|
349
387
|
success: deleteResult.success,
|
|
350
388
|
error: deleteResult.errors.join()
|
|
351
389
|
});
|
|
352
390
|
case 22:
|
|
353
391
|
case "end":
|
|
354
|
-
return
|
|
392
|
+
return _context5.stop();
|
|
355
393
|
}
|
|
356
|
-
},
|
|
394
|
+
}, _callee5, this, [[0, 4], [8, 18]]);
|
|
357
395
|
}));
|
|
358
|
-
function deleteData(
|
|
396
|
+
function deleteData(_x8) {
|
|
359
397
|
return _deleteData.apply(this, arguments);
|
|
360
398
|
}
|
|
361
399
|
return deleteData;
|
|
@@ -150,7 +150,19 @@ var SyncBlockProvider = exports.SyncBlockProvider = /*#__PURE__*/function (_Sync
|
|
|
150
150
|
return _writeNodesData.apply(this, arguments);
|
|
151
151
|
}
|
|
152
152
|
return writeNodesData;
|
|
153
|
-
}()
|
|
153
|
+
}())
|
|
154
|
+
}, {
|
|
155
|
+
key: "createNodeData",
|
|
156
|
+
value: function createNodeData(data) {
|
|
157
|
+
return this.writeProvider.createData(data).then(function (result) {
|
|
158
|
+
return result;
|
|
159
|
+
}, function (error) {
|
|
160
|
+
return {
|
|
161
|
+
error: error
|
|
162
|
+
};
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
|
|
154
166
|
/**
|
|
155
167
|
* Delete the data from the write provider
|
|
156
168
|
*
|
|
@@ -158,7 +170,6 @@ var SyncBlockProvider = exports.SyncBlockProvider = /*#__PURE__*/function (_Sync
|
|
|
158
170
|
*
|
|
159
171
|
* @returns Array of {resourceId?: string, error?: string}.
|
|
160
172
|
*/
|
|
161
|
-
)
|
|
162
173
|
}, {
|
|
163
174
|
key: "deleteNodesData",
|
|
164
175
|
value: (function () {
|
|
@@ -233,17 +233,15 @@ var ReferenceSyncBlockStoreManager = exports.ReferenceSyncBlockStoreManager = /*
|
|
|
233
233
|
(_this2$fireAnalyticsE = _this2.fireAnalyticsEvent) === null || _this2$fireAnalyticsE === void 0 || _this2$fireAnalyticsE.call(_this2, (0, _errorHandling.fetchErrorPayload)(syncBlockInstance.error || 'Returned sync block instance does not have resource id'));
|
|
234
234
|
return;
|
|
235
235
|
}
|
|
236
|
+
var existingSyncBlock = _this2.getFromCache(syncBlockInstance.resourceId);
|
|
237
|
+
var resolvedSyncBlockInstance = existingSyncBlock ? (0, _resolveSyncBlockInstance.resolveSyncBlockInstance)(existingSyncBlock, syncBlockInstance) : syncBlockInstance;
|
|
238
|
+
_this2.updateCache(resolvedSyncBlockInstance);
|
|
239
|
+
resolvedData.push(resolvedSyncBlockInstance);
|
|
236
240
|
if (syncBlockInstance.error) {
|
|
237
241
|
var _this2$fireAnalyticsE2;
|
|
238
242
|
(_this2$fireAnalyticsE2 = _this2.fireAnalyticsEvent) === null || _this2$fireAnalyticsE2 === void 0 || _this2$fireAnalyticsE2.call(_this2, (0, _errorHandling.fetchErrorPayload)(syncBlockInstance.error));
|
|
239
|
-
_this2.updateCache(syncBlockInstance);
|
|
240
|
-
resolvedData.push(syncBlockInstance);
|
|
241
243
|
return;
|
|
242
244
|
}
|
|
243
|
-
var existingSyncBlock = _this2.getFromCache(syncBlockInstance.resourceId);
|
|
244
|
-
var resolvedSyncBlockInstance = existingSyncBlock ? (0, _resolveSyncBlockInstance.resolveSyncBlockInstance)(existingSyncBlock, syncBlockInstance) : syncBlockInstance;
|
|
245
|
-
_this2.updateCache(resolvedSyncBlockInstance);
|
|
246
|
-
resolvedData.push(resolvedSyncBlockInstance);
|
|
247
245
|
_this2.fetchSyncBlockSourceInfo(resolvedSyncBlockInstance.resourceId);
|
|
248
246
|
});
|
|
249
247
|
return _context3.abrupt("return", [].concat(resolvedData, blocksWithNotFoundError));
|
|
@@ -240,21 +240,19 @@ var SourceSyncBlockStoreManager = exports.SourceSyncBlockStoreManager = /*#__PUR
|
|
|
240
240
|
}
|
|
241
241
|
var resourceId = attrs.resourceId,
|
|
242
242
|
blockInstanceId = attrs.localId;
|
|
243
|
-
this.dataProvider.
|
|
243
|
+
this.dataProvider.createNodeData({
|
|
244
244
|
content: [],
|
|
245
245
|
blockInstanceId: blockInstanceId,
|
|
246
246
|
resourceId: resourceId
|
|
247
|
-
}
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
}
|
|
257
|
-
});
|
|
247
|
+
}).then(function (result) {
|
|
248
|
+
var resourceId = result.resourceId;
|
|
249
|
+
if (resourceId) {
|
|
250
|
+
_this4.commitPendingCreation(true);
|
|
251
|
+
} else {
|
|
252
|
+
var _this4$fireAnalyticsE;
|
|
253
|
+
_this4.commitPendingCreation(false);
|
|
254
|
+
(_this4$fireAnalyticsE = _this4.fireAnalyticsEvent) === null || _this4$fireAnalyticsE === void 0 || _this4$fireAnalyticsE.call(_this4, (0, _errorHandling.createErrorPayload)(result.error || 'Failed to create bodied sync block'));
|
|
255
|
+
}
|
|
258
256
|
}).catch(function (error) {
|
|
259
257
|
var _this4$fireAnalyticsE2;
|
|
260
258
|
_this4.commitPendingCreation(false);
|
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.resolveSyncBlockInstance = void 0;
|
|
8
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
+
var _types = require("../common/types");
|
|
9
10
|
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; }
|
|
10
11
|
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; }
|
|
11
12
|
/**
|
|
@@ -20,13 +21,16 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
20
21
|
*/
|
|
21
22
|
var resolveSyncBlockInstance = exports.resolveSyncBlockInstance = function resolveSyncBlockInstance(oldResult, newResult) {
|
|
22
23
|
var _newResult$data, _oldResult$data, _newResult$data2, _oldResult$data2;
|
|
23
|
-
// if the old result has no data, we
|
|
24
|
+
// if the old result has no data, we simply return the new result
|
|
24
25
|
if (!oldResult.data) {
|
|
25
26
|
return newResult;
|
|
26
27
|
} else if (!newResult.data) {
|
|
27
|
-
//
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
// return the old result if there was an error, e.g. network error, but not if not found or forbidden
|
|
29
|
+
if (newResult.error === _types.SyncBlockError.NotFound || newResult.error === _types.SyncBlockError.Forbidden) {
|
|
30
|
+
return newResult;
|
|
31
|
+
} else {
|
|
32
|
+
return oldResult;
|
|
33
|
+
}
|
|
30
34
|
}
|
|
31
35
|
|
|
32
36
|
// otherwise, we merge the two results, preserving the sourceURL and sourceTitle from the old result if it exists
|