@atlaskit/media-client 28.0.8 → 28.2.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/client/file-fetcher/error.js +11 -3
- package/dist/cjs/client/file-fetcher/index.js +29 -11
- package/dist/cjs/client/media-store/MediaStore.js +11 -11
- package/dist/cjs/models/media.js +4 -1
- package/dist/cjs/utils/createFileDataLoader.js +43 -10
- package/dist/cjs/utils/mobileUpload/error.js +6 -2
- package/dist/cjs/utils/mobileUpload/helpers.js +6 -3
- package/dist/cjs/utils/request/errors.js +4 -0
- package/dist/es2019/client/file-fetcher/error.js +8 -2
- package/dist/es2019/client/file-fetcher/index.js +42 -17
- package/dist/es2019/client/media-store/MediaStore.js +2 -2
- package/dist/es2019/models/media.js +3 -0
- package/dist/es2019/utils/createFileDataLoader.js +34 -5
- package/dist/es2019/utils/mobileUpload/error.js +6 -2
- package/dist/es2019/utils/mobileUpload/helpers.js +6 -3
- package/dist/es2019/utils/request/errors.js +5 -1
- package/dist/esm/client/file-fetcher/error.js +11 -3
- package/dist/esm/client/file-fetcher/index.js +30 -12
- package/dist/esm/client/media-store/MediaStore.js +11 -11
- package/dist/esm/models/media.js +3 -0
- package/dist/esm/utils/createFileDataLoader.js +43 -10
- package/dist/esm/utils/mobileUpload/error.js +6 -2
- package/dist/esm/utils/mobileUpload/helpers.js +6 -3
- package/dist/esm/utils/request/errors.js +4 -0
- package/dist/types/client/file-fetcher/error.d.ts +7 -0
- package/dist/types/client/media-store/MediaStore.d.ts +1 -1
- package/dist/types/client/media-store/index.d.ts +1 -1
- package/dist/types/client/media-store/types.d.ts +7 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/models/media.d.ts +7 -0
- package/dist/types/utils/createFileDataLoader.d.ts +4 -4
- package/dist/types/utils/mobileUpload/error.d.ts +7 -0
- package/dist/types/utils/request/errors.d.ts +3 -0
- package/dist/types-ts4.5/client/file-fetcher/error.d.ts +7 -0
- package/dist/types-ts4.5/client/media-store/MediaStore.d.ts +1 -1
- package/dist/types-ts4.5/client/media-store/index.d.ts +1 -1
- package/dist/types-ts4.5/client/media-store/types.d.ts +7 -1
- package/dist/types-ts4.5/index.d.ts +1 -1
- package/dist/types-ts4.5/models/media.d.ts +7 -0
- package/dist/types-ts4.5/utils/createFileDataLoader.d.ts +4 -4
- package/dist/types-ts4.5/utils/mobileUpload/error.d.ts +7 -0
- package/dist/types-ts4.5/utils/request/errors.d.ts +3 -0
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# @atlaskit/media-client
|
|
2
2
|
|
|
3
|
+
## 28.2.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`6099ac032dd30`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/6099ac032dd30) -
|
|
8
|
+
Added viewerOptions to override file preview renderer in media components
|
|
9
|
+
|
|
10
|
+
## 28.1.0
|
|
11
|
+
|
|
12
|
+
### Minor Changes
|
|
13
|
+
|
|
14
|
+
- [#156454](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/156454)
|
|
15
|
+
[`cfba72d9716f0`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/cfba72d9716f0) -
|
|
16
|
+
Logs trace context for metadata error events
|
|
17
|
+
|
|
3
18
|
## 28.0.8
|
|
4
19
|
|
|
5
20
|
### Patch Changes
|
|
@@ -6,12 +6,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.FileFetcherError = void 0;
|
|
8
8
|
exports.isFileFetcherError = isFileFetcherError;
|
|
9
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
10
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
10
11
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
11
12
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
12
13
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
13
14
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
14
15
|
var _errors = require("../../models/errors");
|
|
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; }
|
|
17
|
+
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; }
|
|
15
18
|
function _createSuper(t) { var r = _isNativeReflectConstruct(); return function () { var e, o = (0, _getPrototypeOf2.default)(t); if (r) { var s = (0, _getPrototypeOf2.default)(this).constructor; e = Reflect.construct(o, arguments, s); } else e = o.apply(this, arguments); return (0, _possibleConstructorReturn2.default)(this, e); }; }
|
|
16
19
|
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
17
20
|
var FileFetcherError = exports.FileFetcherError = /*#__PURE__*/function (_BaseMediaClientError) {
|
|
@@ -34,13 +37,18 @@ var FileFetcherError = exports.FileFetcherError = /*#__PURE__*/function (_BaseMe
|
|
|
34
37
|
_this$metadata = this.metadata,
|
|
35
38
|
_this$metadata2 = _this$metadata === void 0 ? {} : _this$metadata,
|
|
36
39
|
collectionName = _this$metadata2.collectionName,
|
|
37
|
-
occurrenceKey = _this$metadata2.occurrenceKey
|
|
38
|
-
|
|
40
|
+
occurrenceKey = _this$metadata2.occurrenceKey,
|
|
41
|
+
traceContext = _this$metadata2.traceContext;
|
|
42
|
+
return _objectSpread({
|
|
39
43
|
reason: reason,
|
|
40
44
|
id: id,
|
|
41
45
|
collectionName: collectionName,
|
|
42
46
|
occurrenceKey: occurrenceKey
|
|
43
|
-
}
|
|
47
|
+
}, traceContext && {
|
|
48
|
+
metadata: {
|
|
49
|
+
traceContext: traceContext
|
|
50
|
+
}
|
|
51
|
+
});
|
|
44
52
|
}
|
|
45
53
|
}]);
|
|
46
54
|
return FileFetcherError;
|
|
@@ -19,6 +19,7 @@ Object.defineProperty(exports, "isFileFetcherError", {
|
|
|
19
19
|
});
|
|
20
20
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
21
21
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
22
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
22
23
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
23
24
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
24
25
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
@@ -29,6 +30,7 @@ var _mediaCore = require("@atlaskit/media-core");
|
|
|
29
30
|
var _downloadUrl = require("@atlaskit/media-common/downloadUrl");
|
|
30
31
|
var _mediaStore = require("../media-store");
|
|
31
32
|
var _fileState2 = require("../../models/file-state");
|
|
33
|
+
var _media = require("../../models/media");
|
|
32
34
|
var _error = require("./error");
|
|
33
35
|
var _uploader = require("../../uploader");
|
|
34
36
|
var _fileStreamsCache = require("../../file-streams-cache");
|
|
@@ -47,6 +49,8 @@ var _shouldFetchRemoteFileStates = require("../../utils/shouldFetchRemoteFileSta
|
|
|
47
49
|
var _polling = require("../../utils/polling");
|
|
48
50
|
var _detectEmptyFile = require("../../utils/detectEmptyFile");
|
|
49
51
|
var _mediaState = require("@atlaskit/media-state");
|
|
52
|
+
var _excluded = ["metadata"],
|
|
53
|
+
_excluded2 = ["metadata"];
|
|
50
54
|
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; }
|
|
51
55
|
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; }
|
|
52
56
|
var FileFetcherImpl = exports.FileFetcherImpl = /*#__PURE__*/function () {
|
|
@@ -55,6 +59,10 @@ var FileFetcherImpl = exports.FileFetcherImpl = /*#__PURE__*/function () {
|
|
|
55
59
|
var store = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _mediaState.mediaStore;
|
|
56
60
|
(0, _classCallCheck2.default)(this, FileFetcherImpl);
|
|
57
61
|
(0, _defineProperty2.default)(this, "getErrorFileState", function (error, id, occurrenceKey) {
|
|
62
|
+
var _error$attributes;
|
|
63
|
+
var _ref = (_error$attributes = error === null || error === void 0 ? void 0 : error.attributes) !== null && _error$attributes !== void 0 ? _error$attributes : {},
|
|
64
|
+
metadata = _ref.metadata,
|
|
65
|
+
attributes = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
58
66
|
return typeof error === 'string' ? {
|
|
59
67
|
status: 'error',
|
|
60
68
|
id: id,
|
|
@@ -65,7 +73,9 @@ var FileFetcherImpl = exports.FileFetcherImpl = /*#__PURE__*/function () {
|
|
|
65
73
|
status: 'error',
|
|
66
74
|
id: id,
|
|
67
75
|
reason: error === null || error === void 0 ? void 0 : error.reason,
|
|
68
|
-
details:
|
|
76
|
+
details: _objectSpread(_objectSpread({}, attributes), (metadata === null || metadata === void 0 ? void 0 : metadata.traceContext) && {
|
|
77
|
+
metadata: metadata
|
|
78
|
+
}),
|
|
69
79
|
occurrenceKey: occurrenceKey,
|
|
70
80
|
message: error === null || error === void 0 ? void 0 : error.message
|
|
71
81
|
};
|
|
@@ -96,13 +106,14 @@ var FileFetcherImpl = exports.FileFetcherImpl = /*#__PURE__*/function () {
|
|
|
96
106
|
});
|
|
97
107
|
case 2:
|
|
98
108
|
response = _context.sent;
|
|
99
|
-
if (response) {
|
|
109
|
+
if (!(0, _media.isNotFoundMediaItemDetails)(response)) {
|
|
100
110
|
_context.next = 5;
|
|
101
111
|
break;
|
|
102
112
|
}
|
|
103
113
|
throw new _error.FileFetcherError('emptyItems', id, {
|
|
104
114
|
collectionName: collectionName,
|
|
105
|
-
occurrenceKey: occurrenceKey
|
|
115
|
+
occurrenceKey: occurrenceKey,
|
|
116
|
+
traceContext: response.metadataTraceContext
|
|
106
117
|
});
|
|
107
118
|
case 5:
|
|
108
119
|
if (!(0, _detectEmptyFile.isEmptyFile)(response)) {
|
|
@@ -111,7 +122,8 @@ var FileFetcherImpl = exports.FileFetcherImpl = /*#__PURE__*/function () {
|
|
|
111
122
|
}
|
|
112
123
|
throw new _error.FileFetcherError('zeroVersionFile', id, {
|
|
113
124
|
collectionName: collectionName,
|
|
114
|
-
occurrenceKey: occurrenceKey
|
|
125
|
+
occurrenceKey: occurrenceKey,
|
|
126
|
+
traceContext: response.metadataTraceContext
|
|
115
127
|
});
|
|
116
128
|
case 7:
|
|
117
129
|
fileState = (0, _fileState2.mapMediaItemToFileState)(id, response);
|
|
@@ -179,18 +191,24 @@ var FileFetcherImpl = exports.FileFetcherImpl = /*#__PURE__*/function () {
|
|
|
179
191
|
var collectionName = options.collectionName,
|
|
180
192
|
occurrenceKey = options.occurrenceKey;
|
|
181
193
|
if (!(0, _uuidValidate.default)(id)) {
|
|
194
|
+
var _err$attributes;
|
|
182
195
|
var subject = (0, _createMediaSubject.createMediaSubject)();
|
|
183
196
|
var err = new _error.FileFetcherError('invalidFileId', id, {
|
|
184
197
|
collectionName: collectionName,
|
|
185
198
|
occurrenceKey: occurrenceKey
|
|
186
199
|
});
|
|
200
|
+
var _ref3 = (_err$attributes = err === null || err === void 0 ? void 0 : err.attributes) !== null && _err$attributes !== void 0 ? _err$attributes : {},
|
|
201
|
+
metadata = _ref3.metadata,
|
|
202
|
+
attributes = (0, _objectWithoutProperties2.default)(_ref3, _excluded2);
|
|
187
203
|
var errorFileState = {
|
|
188
204
|
status: 'error',
|
|
189
205
|
id: id,
|
|
190
206
|
reason: err === null || err === void 0 ? void 0 : err.reason,
|
|
191
207
|
message: err === null || err === void 0 ? void 0 : err.message,
|
|
192
208
|
occurrenceKey: occurrenceKey,
|
|
193
|
-
details:
|
|
209
|
+
details: _objectSpread(_objectSpread({}, attributes), (metadata === null || metadata === void 0 ? void 0 : metadata.traceContext) && {
|
|
210
|
+
metadata: metadata
|
|
211
|
+
})
|
|
194
212
|
};
|
|
195
213
|
subject.error(err);
|
|
196
214
|
this.setFileState(id, errorFileState);
|
|
@@ -232,8 +250,8 @@ var FileFetcherImpl = exports.FileFetcherImpl = /*#__PURE__*/function () {
|
|
|
232
250
|
descriptors: descriptors
|
|
233
251
|
}, {
|
|
234
252
|
collection: collection
|
|
235
|
-
}, traceContext).then(function (
|
|
236
|
-
var data =
|
|
253
|
+
}, traceContext).then(function (_ref4) {
|
|
254
|
+
var data = _ref4.data;
|
|
237
255
|
return data;
|
|
238
256
|
});
|
|
239
257
|
}
|
|
@@ -274,7 +292,7 @@ var FileFetcherImpl = exports.FileFetcherImpl = /*#__PURE__*/function () {
|
|
|
274
292
|
return undefined;
|
|
275
293
|
});
|
|
276
294
|
preview = new Promise( /*#__PURE__*/function () {
|
|
277
|
-
var
|
|
295
|
+
var _ref5 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(resolve, reject) {
|
|
278
296
|
var blob;
|
|
279
297
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
280
298
|
while (1) switch (_context2.prev = _context2.next) {
|
|
@@ -297,7 +315,7 @@ var FileFetcherImpl = exports.FileFetcherImpl = /*#__PURE__*/function () {
|
|
|
297
315
|
}, _callee2);
|
|
298
316
|
}));
|
|
299
317
|
return function (_x4, _x5) {
|
|
300
|
-
return
|
|
318
|
+
return _ref5.apply(this, arguments);
|
|
301
319
|
};
|
|
302
320
|
}());
|
|
303
321
|
name = url.split('/').pop() || ''; // we create a initial fileState with the minimum info that we have at this point
|
|
@@ -316,7 +334,7 @@ var FileFetcherImpl = exports.FileFetcherImpl = /*#__PURE__*/function () {
|
|
|
316
334
|
(0, _fileStreamsCache.getFileStreamsCache)().set(id, subject);
|
|
317
335
|
this.setFileState(id, fileState);
|
|
318
336
|
return _context4.abrupt("return", new Promise( /*#__PURE__*/function () {
|
|
319
|
-
var
|
|
337
|
+
var _ref6 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(resolve, reject) {
|
|
320
338
|
var blob, type, size, file, mediaType, dimensions;
|
|
321
339
|
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
322
340
|
while (1) switch (_context3.prev = _context3.next) {
|
|
@@ -377,7 +395,7 @@ var FileFetcherImpl = exports.FileFetcherImpl = /*#__PURE__*/function () {
|
|
|
377
395
|
}, _callee3, null, [[10, 16]]);
|
|
378
396
|
}));
|
|
379
397
|
return function (_x6, _x7) {
|
|
380
|
-
return
|
|
398
|
+
return _ref6.apply(this, arguments);
|
|
381
399
|
};
|
|
382
400
|
}()));
|
|
383
401
|
case 11:
|
|
@@ -308,7 +308,7 @@ var MediaStore = exports.MediaStore = /*#__PURE__*/function () {
|
|
|
308
308
|
}, {
|
|
309
309
|
key: "getFileBinary",
|
|
310
310
|
value: function () {
|
|
311
|
-
var _getFileBinary = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5(id, collectionName) {
|
|
311
|
+
var _getFileBinary = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5(id, collectionName, abortController) {
|
|
312
312
|
var maxAge,
|
|
313
313
|
headers,
|
|
314
314
|
binaryEndpoint,
|
|
@@ -318,7 +318,7 @@ var MediaStore = exports.MediaStore = /*#__PURE__*/function () {
|
|
|
318
318
|
return _regenerator.default.wrap(function _callee5$(_context5) {
|
|
319
319
|
while (1) switch (_context5.prev = _context5.next) {
|
|
320
320
|
case 0:
|
|
321
|
-
maxAge = _args5.length >
|
|
321
|
+
maxAge = _args5.length > 3 && _args5[3] !== undefined ? _args5[3] : _constants.FILE_CACHE_MAX_AGE;
|
|
322
322
|
headers = {};
|
|
323
323
|
binaryEndpoint = cdnFeatureFlag('binary');
|
|
324
324
|
metadata = {
|
|
@@ -335,14 +335,14 @@ var MediaStore = exports.MediaStore = /*#__PURE__*/function () {
|
|
|
335
335
|
'max-age': "".concat(maxAge)
|
|
336
336
|
}
|
|
337
337
|
});
|
|
338
|
-
return _context5.abrupt("return", this.request("/file/".concat(id, "/").concat(binaryEndpoint), options,
|
|
338
|
+
return _context5.abrupt("return", this.request("/file/".concat(id, "/").concat(binaryEndpoint), options, abortController, true).then((0, _helpers.createMapResponseToBlob)(metadata)));
|
|
339
339
|
case 6:
|
|
340
340
|
case "end":
|
|
341
341
|
return _context5.stop();
|
|
342
342
|
}
|
|
343
343
|
}, _callee5, this);
|
|
344
344
|
}));
|
|
345
|
-
function getFileBinary(_x14, _x15) {
|
|
345
|
+
function getFileBinary(_x14, _x15, _x16) {
|
|
346
346
|
return _getFileBinary.apply(this, arguments);
|
|
347
347
|
}
|
|
348
348
|
return getFileBinary;
|
|
@@ -382,7 +382,7 @@ var MediaStore = exports.MediaStore = /*#__PURE__*/function () {
|
|
|
382
382
|
}
|
|
383
383
|
}, _callee6, this);
|
|
384
384
|
}));
|
|
385
|
-
function getFileBinaryURL(
|
|
385
|
+
function getFileBinaryURL(_x17, _x18) {
|
|
386
386
|
return _getFileBinaryURL.apply(this, arguments);
|
|
387
387
|
}
|
|
388
388
|
return getFileBinaryURL;
|
|
@@ -422,7 +422,7 @@ var MediaStore = exports.MediaStore = /*#__PURE__*/function () {
|
|
|
422
422
|
}
|
|
423
423
|
}, _callee7, this);
|
|
424
424
|
}));
|
|
425
|
-
function getArtifactURL(
|
|
425
|
+
function getArtifactURL(_x19, _x20, _x21) {
|
|
426
426
|
return _getArtifactURL.apply(this, arguments);
|
|
427
427
|
}
|
|
428
428
|
return getArtifactURL;
|
|
@@ -462,7 +462,7 @@ var MediaStore = exports.MediaStore = /*#__PURE__*/function () {
|
|
|
462
462
|
}
|
|
463
463
|
}, _callee8, this);
|
|
464
464
|
}));
|
|
465
|
-
function getImage(
|
|
465
|
+
function getImage(_x22, _x23, _x24, _x25, _x26) {
|
|
466
466
|
return _getImage.apply(this, arguments);
|
|
467
467
|
}
|
|
468
468
|
return getImage;
|
|
@@ -503,7 +503,7 @@ var MediaStore = exports.MediaStore = /*#__PURE__*/function () {
|
|
|
503
503
|
}
|
|
504
504
|
}, _callee9, this);
|
|
505
505
|
}));
|
|
506
|
-
function getItems(
|
|
506
|
+
function getItems(_x27, _x28, _x29) {
|
|
507
507
|
return _getItems.apply(this, arguments);
|
|
508
508
|
}
|
|
509
509
|
return getItems;
|
|
@@ -534,7 +534,7 @@ var MediaStore = exports.MediaStore = /*#__PURE__*/function () {
|
|
|
534
534
|
}
|
|
535
535
|
}, _callee10, this);
|
|
536
536
|
}));
|
|
537
|
-
function getImageMetadata(
|
|
537
|
+
function getImageMetadata(_x30, _x31, _x32) {
|
|
538
538
|
return _getImageMetadata.apply(this, arguments);
|
|
539
539
|
}
|
|
540
540
|
return getImageMetadata;
|
|
@@ -567,7 +567,7 @@ var MediaStore = exports.MediaStore = /*#__PURE__*/function () {
|
|
|
567
567
|
}
|
|
568
568
|
}, _callee11, this);
|
|
569
569
|
}));
|
|
570
|
-
function appendChunksToUpload(
|
|
570
|
+
function appendChunksToUpload(_x33, _x34, _x35, _x36) {
|
|
571
571
|
return _appendChunksToUpload.apply(this, arguments);
|
|
572
572
|
}
|
|
573
573
|
return appendChunksToUpload;
|
|
@@ -662,7 +662,7 @@ var MediaStore = exports.MediaStore = /*#__PURE__*/function () {
|
|
|
662
662
|
}
|
|
663
663
|
}, _callee12, this);
|
|
664
664
|
}));
|
|
665
|
-
function request(
|
|
665
|
+
function request(_x37) {
|
|
666
666
|
return _request2.apply(this, arguments);
|
|
667
667
|
}
|
|
668
668
|
return request;
|
package/dist/cjs/models/media.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.isPreviewableType = exports.DATA_UNIT = void 0;
|
|
6
|
+
exports.isPreviewableType = exports.isNotFoundMediaItemDetails = exports.DATA_UNIT = void 0;
|
|
7
7
|
// Warning! You can't add new media file processing status!
|
|
8
8
|
// See packages/media/media-core/src/__tests__/cache-backward-compatibility.spec.ts
|
|
9
9
|
|
|
@@ -11,6 +11,9 @@ var isPreviewableType = exports.isPreviewableType = function isPreviewableType(t
|
|
|
11
11
|
var defaultPreviewableTypes = ['audio', 'video', 'image', 'doc'];
|
|
12
12
|
return defaultPreviewableTypes.indexOf(type) > -1;
|
|
13
13
|
};
|
|
14
|
+
var isNotFoundMediaItemDetails = exports.isNotFoundMediaItemDetails = function isNotFoundMediaItemDetails(itemDetails) {
|
|
15
|
+
return 'type' in itemDetails && itemDetails.type === 'not-found';
|
|
16
|
+
};
|
|
14
17
|
var DATA_UNIT = exports.DATA_UNIT = /*#__PURE__*/function (DATA_UNIT) {
|
|
15
18
|
DATA_UNIT[DATA_UNIT["MB"] = 1048576] = "MB";
|
|
16
19
|
DATA_UNIT[DATA_UNIT["GB"] = 1073741824] = "GB";
|
|
@@ -20,6 +20,9 @@ var MAX_BATCH_SIZE = exports.MAX_BATCH_SIZE = 100;
|
|
|
20
20
|
var isBatchLoadingErrorResult = function isBatchLoadingErrorResult(result) {
|
|
21
21
|
return result.error instanceof Error;
|
|
22
22
|
};
|
|
23
|
+
var isResponseFileItem = function isResponseFileItem(fileItem) {
|
|
24
|
+
return 'details' in fileItem;
|
|
25
|
+
};
|
|
23
26
|
var makeCacheKey = function makeCacheKey(id, collection) {
|
|
24
27
|
return collection ? "".concat(id, "-").concat(collection) : id;
|
|
25
28
|
};
|
|
@@ -28,16 +31,30 @@ var getItemsFromKeys = exports.getItemsFromKeys = function getItemsFromKeys(data
|
|
|
28
31
|
var id = fileItem.id,
|
|
29
32
|
collection = fileItem.collection;
|
|
30
33
|
var key = makeCacheKey(id, collection);
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
})
|
|
34
|
+
if (isBatchLoadingErrorResult(fileItem)) {
|
|
35
|
+
prev[key] = fileItem.error;
|
|
36
|
+
} else if (isResponseFileItem(fileItem)) {
|
|
37
|
+
prev[key] = _objectSpread(_objectSpread({}, fileItem.details), {}, {
|
|
38
|
+
metadataTraceContext: fileItem.metadataTraceContext
|
|
39
|
+
});
|
|
40
|
+
} else {
|
|
41
|
+
prev[key] = {
|
|
42
|
+
id: id,
|
|
43
|
+
collection: collection,
|
|
44
|
+
type: 'not-found',
|
|
45
|
+
metadataTraceContext: fileItem.metadataTraceContext
|
|
46
|
+
};
|
|
47
|
+
}
|
|
34
48
|
return prev;
|
|
35
49
|
}, {});
|
|
36
50
|
return dataloaderKeys.map(function (dataloaderKey) {
|
|
37
51
|
var id = dataloaderKey.id,
|
|
38
52
|
collectionName = dataloaderKey.collectionName;
|
|
39
53
|
var key = makeCacheKey(id, collectionName);
|
|
40
|
-
return itemsByKey[key] ||
|
|
54
|
+
return itemsByKey[key] || {
|
|
55
|
+
id: id,
|
|
56
|
+
type: 'not-found'
|
|
57
|
+
};
|
|
41
58
|
});
|
|
42
59
|
};
|
|
43
60
|
/**
|
|
@@ -72,7 +89,7 @@ function createBatchLoadingFunc(mediaStore) {
|
|
|
72
89
|
_context2.next = 5;
|
|
73
90
|
return Promise.all(Object.keys(fileIdsByCollection).map( /*#__PURE__*/function () {
|
|
74
91
|
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(collectionNameKey) {
|
|
75
|
-
var metadataTraceContext, fileIds, collectionName, response, itemsWithMetadataTraceContext;
|
|
92
|
+
var metadataTraceContext, fileIds, collectionName, response, itemsWithMetadataTraceContext, itemsIds, fileIdsNotFound;
|
|
76
93
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
77
94
|
while (1) switch (_context.prev = _context.next) {
|
|
78
95
|
case 0:
|
|
@@ -93,10 +110,26 @@ function createBatchLoadingFunc(mediaStore) {
|
|
|
93
110
|
});
|
|
94
111
|
});
|
|
95
112
|
items.push.apply(items, (0, _toConsumableArray2.default)(itemsWithMetadataTraceContext));
|
|
96
|
-
|
|
113
|
+
|
|
114
|
+
// add EmptyResponseFileItem for each file ID not included in /items response
|
|
115
|
+
itemsIds = itemsWithMetadataTraceContext.map(function (item) {
|
|
116
|
+
return item.id;
|
|
117
|
+
});
|
|
118
|
+
fileIdsNotFound = fileIds.filter(function (id) {
|
|
119
|
+
return !itemsIds.includes(id);
|
|
120
|
+
});
|
|
121
|
+
fileIdsNotFound.forEach(function (fileId) {
|
|
122
|
+
items.push({
|
|
123
|
+
id: fileId,
|
|
124
|
+
collection: collectionName,
|
|
125
|
+
type: 'not-found',
|
|
126
|
+
metadataTraceContext: metadataTraceContext
|
|
127
|
+
});
|
|
128
|
+
});
|
|
129
|
+
_context.next = 17;
|
|
97
130
|
break;
|
|
98
|
-
case
|
|
99
|
-
_context.prev =
|
|
131
|
+
case 14:
|
|
132
|
+
_context.prev = 14;
|
|
100
133
|
_context.t0 = _context["catch"](3);
|
|
101
134
|
fileIds.forEach(function (fileId) {
|
|
102
135
|
items.push({
|
|
@@ -105,11 +138,11 @@ function createBatchLoadingFunc(mediaStore) {
|
|
|
105
138
|
error: _context.t0
|
|
106
139
|
});
|
|
107
140
|
});
|
|
108
|
-
case
|
|
141
|
+
case 17:
|
|
109
142
|
case "end":
|
|
110
143
|
return _context.stop();
|
|
111
144
|
}
|
|
112
|
-
}, _callee, null, [[3,
|
|
145
|
+
}, _callee, null, [[3, 14]]);
|
|
113
146
|
}));
|
|
114
147
|
return function (_x2) {
|
|
115
148
|
return _ref2.apply(this, arguments);
|
|
@@ -34,12 +34,16 @@ var MobileUploadError = exports.MobileUploadError = /*#__PURE__*/function (_Base
|
|
|
34
34
|
_this$metadata = this.metadata,
|
|
35
35
|
_this$metadata2 = _this$metadata === void 0 ? {} : _this$metadata,
|
|
36
36
|
collectionName = _this$metadata2.collectionName,
|
|
37
|
-
occurrenceKey = _this$metadata2.occurrenceKey
|
|
37
|
+
occurrenceKey = _this$metadata2.occurrenceKey,
|
|
38
|
+
traceContext = _this$metadata2.traceContext;
|
|
38
39
|
return {
|
|
39
40
|
reason: reason,
|
|
40
41
|
id: id,
|
|
41
42
|
collectionName: collectionName,
|
|
42
|
-
occurrenceKey: occurrenceKey
|
|
43
|
+
occurrenceKey: occurrenceKey,
|
|
44
|
+
metadata: {
|
|
45
|
+
traceContext: traceContext
|
|
46
|
+
}
|
|
43
47
|
};
|
|
44
48
|
}
|
|
45
49
|
}]);
|
|
@@ -15,6 +15,7 @@ var _createMediaSubject = require("../createMediaSubject");
|
|
|
15
15
|
var _detectEmptyFile = require("../detectEmptyFile");
|
|
16
16
|
var _polling = require("../polling");
|
|
17
17
|
var _error = require("./error");
|
|
18
|
+
var _media = require("../../models/media");
|
|
18
19
|
var createMobileFileStateSubject = exports.createMobileFileStateSubject = function createMobileFileStateSubject(service) {
|
|
19
20
|
var subject = new _ReplaySubject.ReplaySubject(1);
|
|
20
21
|
(0, _from.from)(service.start()).pipe((0, _map.map)(function (state) {
|
|
@@ -42,13 +43,14 @@ var createMobileDownloadFileStream = exports.createMobileDownloadFileStream = fu
|
|
|
42
43
|
});
|
|
43
44
|
case 2:
|
|
44
45
|
response = _context.sent;
|
|
45
|
-
if (response) {
|
|
46
|
+
if (!(0, _media.isNotFoundMediaItemDetails)(response)) {
|
|
46
47
|
_context.next = 5;
|
|
47
48
|
break;
|
|
48
49
|
}
|
|
49
50
|
throw new _error.MobileUploadError('emptyItems', id, {
|
|
50
51
|
collectionName: collectionName,
|
|
51
|
-
occurrenceKey: occurrenceKey
|
|
52
|
+
occurrenceKey: occurrenceKey,
|
|
53
|
+
traceContext: response.metadataTraceContext
|
|
52
54
|
});
|
|
53
55
|
case 5:
|
|
54
56
|
if (!(0, _detectEmptyFile.isEmptyFile)(response)) {
|
|
@@ -57,7 +59,8 @@ var createMobileDownloadFileStream = exports.createMobileDownloadFileStream = fu
|
|
|
57
59
|
}
|
|
58
60
|
throw new _error.MobileUploadError('zeroVersionFile', id, {
|
|
59
61
|
collectionName: collectionName,
|
|
60
|
-
occurrenceKey: occurrenceKey
|
|
62
|
+
occurrenceKey: occurrenceKey,
|
|
63
|
+
traceContext: response.metadataTraceContext
|
|
61
64
|
});
|
|
62
65
|
case 7:
|
|
63
66
|
fileState = (0, _fileState.mapMediaItemToFileState)(id, response);
|
|
@@ -39,6 +39,7 @@ var RequestError = exports.RequestError = /*#__PURE__*/function (_BaseMediaClien
|
|
|
39
39
|
attempts = _this$metadata2.attempts,
|
|
40
40
|
clientExhaustedRetries = _this$metadata2.clientExhaustedRetries,
|
|
41
41
|
statusCode = _this$metadata2.statusCode,
|
|
42
|
+
traceContext = _this$metadata2.traceContext,
|
|
42
43
|
innerError = this.innerError;
|
|
43
44
|
return {
|
|
44
45
|
reason: reason,
|
|
@@ -49,6 +50,9 @@ var RequestError = exports.RequestError = /*#__PURE__*/function (_BaseMediaClien
|
|
|
49
50
|
attempts: attempts,
|
|
50
51
|
clientExhaustedRetries: clientExhaustedRetries,
|
|
51
52
|
statusCode: statusCode,
|
|
53
|
+
metadata: {
|
|
54
|
+
traceContext: traceContext
|
|
55
|
+
},
|
|
52
56
|
innerError: innerError
|
|
53
57
|
};
|
|
54
58
|
}
|
|
@@ -12,14 +12,20 @@ export class FileFetcherError extends BaseMediaClientError {
|
|
|
12
12
|
id,
|
|
13
13
|
metadata: {
|
|
14
14
|
collectionName,
|
|
15
|
-
occurrenceKey
|
|
15
|
+
occurrenceKey,
|
|
16
|
+
traceContext
|
|
16
17
|
} = {}
|
|
17
18
|
} = this;
|
|
18
19
|
return {
|
|
19
20
|
reason,
|
|
20
21
|
id,
|
|
21
22
|
collectionName,
|
|
22
|
-
occurrenceKey
|
|
23
|
+
occurrenceKey,
|
|
24
|
+
...(traceContext && {
|
|
25
|
+
metadata: {
|
|
26
|
+
traceContext
|
|
27
|
+
}
|
|
28
|
+
})
|
|
23
29
|
};
|
|
24
30
|
}
|
|
25
31
|
}
|
|
@@ -6,6 +6,7 @@ import { authToOwner } from '@atlaskit/media-core';
|
|
|
6
6
|
import { downloadUrl } from '@atlaskit/media-common/downloadUrl';
|
|
7
7
|
import { MediaStore as MediaApi } from '../media-store';
|
|
8
8
|
import { isErrorFileState, isFinalFileState, isProcessingFileState, mapMediaFileToFileState, mapMediaItemToFileState } from '../../models/file-state';
|
|
9
|
+
import { isNotFoundMediaItemDetails } from '../../models/media';
|
|
9
10
|
import { FileFetcherError } from './error';
|
|
10
11
|
import { uploadFile } from '../../uploader';
|
|
11
12
|
import { getFileStreamsCache } from '../../file-streams-cache';
|
|
@@ -27,19 +28,31 @@ import { mediaStore } from '@atlaskit/media-state';
|
|
|
27
28
|
export { isFileFetcherError, FileFetcherError } from './error';
|
|
28
29
|
export class FileFetcherImpl {
|
|
29
30
|
constructor(mediaApi, store = mediaStore) {
|
|
30
|
-
_defineProperty(this, "getErrorFileState", (error, id, occurrenceKey) =>
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
31
|
+
_defineProperty(this, "getErrorFileState", (error, id, occurrenceKey) => {
|
|
32
|
+
var _error$attributes;
|
|
33
|
+
const {
|
|
34
|
+
metadata,
|
|
35
|
+
...attributes
|
|
36
|
+
} = (_error$attributes = error === null || error === void 0 ? void 0 : error.attributes) !== null && _error$attributes !== void 0 ? _error$attributes : {};
|
|
37
|
+
return typeof error === 'string' ? {
|
|
38
|
+
status: 'error',
|
|
39
|
+
id,
|
|
40
|
+
reason: error,
|
|
41
|
+
occurrenceKey,
|
|
42
|
+
message: error
|
|
43
|
+
} : {
|
|
44
|
+
status: 'error',
|
|
45
|
+
id,
|
|
46
|
+
reason: error === null || error === void 0 ? void 0 : error.reason,
|
|
47
|
+
details: {
|
|
48
|
+
...attributes,
|
|
49
|
+
...((metadata === null || metadata === void 0 ? void 0 : metadata.traceContext) && {
|
|
50
|
+
metadata
|
|
51
|
+
})
|
|
52
|
+
},
|
|
53
|
+
occurrenceKey,
|
|
54
|
+
message: error === null || error === void 0 ? void 0 : error.message
|
|
55
|
+
};
|
|
43
56
|
});
|
|
44
57
|
_defineProperty(this, "setFileState", (id, fileState) => {
|
|
45
58
|
this.store.setState(state => {
|
|
@@ -58,16 +71,18 @@ export class FileFetcherImpl {
|
|
|
58
71
|
id,
|
|
59
72
|
collectionName
|
|
60
73
|
});
|
|
61
|
-
if (
|
|
74
|
+
if (isNotFoundMediaItemDetails(response)) {
|
|
62
75
|
throw new FileFetcherError('emptyItems', id, {
|
|
63
76
|
collectionName,
|
|
64
|
-
occurrenceKey
|
|
77
|
+
occurrenceKey,
|
|
78
|
+
traceContext: response.metadataTraceContext
|
|
65
79
|
});
|
|
66
80
|
}
|
|
67
81
|
if (isEmptyFile(response)) {
|
|
68
82
|
throw new FileFetcherError('zeroVersionFile', id, {
|
|
69
83
|
collectionName,
|
|
70
|
-
occurrenceKey
|
|
84
|
+
occurrenceKey,
|
|
85
|
+
traceContext: response.metadataTraceContext
|
|
71
86
|
});
|
|
72
87
|
}
|
|
73
88
|
const fileState = mapMediaItemToFileState(id, response);
|
|
@@ -130,18 +145,28 @@ export class FileFetcherImpl {
|
|
|
130
145
|
occurrenceKey
|
|
131
146
|
} = options;
|
|
132
147
|
if (!isValidId(id)) {
|
|
148
|
+
var _err$attributes;
|
|
133
149
|
const subject = createMediaSubject();
|
|
134
150
|
const err = new FileFetcherError('invalidFileId', id, {
|
|
135
151
|
collectionName,
|
|
136
152
|
occurrenceKey
|
|
137
153
|
});
|
|
154
|
+
const {
|
|
155
|
+
metadata,
|
|
156
|
+
...attributes
|
|
157
|
+
} = (_err$attributes = err === null || err === void 0 ? void 0 : err.attributes) !== null && _err$attributes !== void 0 ? _err$attributes : {};
|
|
138
158
|
const errorFileState = {
|
|
139
159
|
status: 'error',
|
|
140
160
|
id,
|
|
141
161
|
reason: err === null || err === void 0 ? void 0 : err.reason,
|
|
142
162
|
message: err === null || err === void 0 ? void 0 : err.message,
|
|
143
163
|
occurrenceKey,
|
|
144
|
-
details:
|
|
164
|
+
details: {
|
|
165
|
+
...attributes,
|
|
166
|
+
...((metadata === null || metadata === void 0 ? void 0 : metadata.traceContext) && {
|
|
167
|
+
metadata
|
|
168
|
+
})
|
|
169
|
+
}
|
|
145
170
|
};
|
|
146
171
|
subject.error(err);
|
|
147
172
|
this.setFileState(id, errorFileState);
|
|
@@ -200,7 +200,7 @@ export class MediaStore {
|
|
|
200
200
|
const imageEndpoint = cdnFeatureFlag('image');
|
|
201
201
|
return mapToMediaCdnUrl(createUrl(`${auth.baseUrl}/file/${id}/${imageEndpoint}`, options), auth.token);
|
|
202
202
|
}
|
|
203
|
-
async getFileBinary(id, collectionName, maxAge = FILE_CACHE_MAX_AGE) {
|
|
203
|
+
async getFileBinary(id, collectionName, abortController, maxAge = FILE_CACHE_MAX_AGE) {
|
|
204
204
|
const headers = {};
|
|
205
205
|
const binaryEndpoint = cdnFeatureFlag('binary');
|
|
206
206
|
const metadata = {
|
|
@@ -218,7 +218,7 @@ export class MediaStore {
|
|
|
218
218
|
'max-age': `${maxAge}`
|
|
219
219
|
}
|
|
220
220
|
};
|
|
221
|
-
return this.request(`/file/${id}/${binaryEndpoint}`, options,
|
|
221
|
+
return this.request(`/file/${id}/${binaryEndpoint}`, options, abortController, true).then(createMapResponseToBlob(metadata));
|
|
222
222
|
}
|
|
223
223
|
async getFileBinaryURL(id, collectionName, maxAge = FILE_CACHE_MAX_AGE) {
|
|
224
224
|
const auth = await this.resolveAuth({
|
|
@@ -5,6 +5,9 @@ export const isPreviewableType = type => {
|
|
|
5
5
|
const defaultPreviewableTypes = ['audio', 'video', 'image', 'doc'];
|
|
6
6
|
return defaultPreviewableTypes.indexOf(type) > -1;
|
|
7
7
|
};
|
|
8
|
+
export const isNotFoundMediaItemDetails = itemDetails => {
|
|
9
|
+
return 'type' in itemDetails && itemDetails.type === 'not-found';
|
|
10
|
+
};
|
|
8
11
|
export let DATA_UNIT = /*#__PURE__*/function (DATA_UNIT) {
|
|
9
12
|
DATA_UNIT[DATA_UNIT["MB"] = 1048576] = "MB";
|
|
10
13
|
DATA_UNIT[DATA_UNIT["GB"] = 1073741824] = "GB";
|