@atlaskit/media-client 25.0.3 → 26.0.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 +18 -0
- package/dist/cjs/client/media-store/MediaStore.js +0 -22
- package/dist/cjs/test-helpers/MockedMediaApi/MockedMediaApi.js +432 -0
- package/dist/cjs/test-helpers/MockedMediaApi/helpers.js +184 -0
- package/dist/cjs/test-helpers/MockedMediaApi/index.js +55 -0
- package/dist/cjs/test-helpers/index.js +49 -0
- package/dist/cjs/uploader/index.js +36 -72
- package/dist/es2019/client/media-store/MediaStore.js +0 -21
- package/dist/es2019/test-helpers/MockedMediaApi/MockedMediaApi.js +161 -0
- package/dist/es2019/test-helpers/MockedMediaApi/helpers.js +166 -0
- package/dist/es2019/test-helpers/MockedMediaApi/index.js +2 -0
- package/dist/es2019/test-helpers/index.js +2 -1
- package/dist/es2019/uploader/index.js +0 -7
- package/dist/esm/client/media-store/MediaStore.js +0 -22
- package/dist/esm/test-helpers/MockedMediaApi/MockedMediaApi.js +425 -0
- package/dist/esm/test-helpers/MockedMediaApi/helpers.js +176 -0
- package/dist/esm/test-helpers/MockedMediaApi/index.js +2 -0
- package/dist/esm/test-helpers/index.js +2 -1
- package/dist/esm/uploader/index.js +36 -72
- package/dist/types/client/media-store/MediaStore.d.ts +1 -2
- package/dist/types/client/media-store/types.d.ts +1 -2
- package/dist/types/index.d.ts +1 -1
- package/dist/types/models/media.d.ts +0 -7
- package/dist/types/test-helpers/MockedMediaApi/MockedMediaApi.d.ts +16 -0
- package/dist/types/test-helpers/MockedMediaApi/helpers.d.ts +23 -0
- package/dist/types/test-helpers/MockedMediaApi/index.d.ts +3 -0
- package/dist/types/test-helpers/index.d.ts +2 -0
- package/dist/types-ts4.5/client/media-store/MediaStore.d.ts +1 -2
- package/dist/types-ts4.5/client/media-store/types.d.ts +1 -2
- package/dist/types-ts4.5/index.d.ts +1 -1
- package/dist/types-ts4.5/models/media.d.ts +0 -7
- package/dist/types-ts4.5/test-helpers/MockedMediaApi/MockedMediaApi.d.ts +16 -0
- package/dist/types-ts4.5/test-helpers/MockedMediaApi/helpers.d.ts +23 -0
- package/dist/types-ts4.5/test-helpers/MockedMediaApi/index.d.ts +3 -0
- package/dist/types-ts4.5/test-helpers/index.d.ts +2 -0
- package/package.json +3 -3
- package/tmp/api-report-tmp.d.ts +0 -1199
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# @atlaskit/media-client
|
|
2
2
|
|
|
3
|
+
## 26.0.0
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- [#60352](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/60352) [`ff9488b450dd`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/ff9488b450dd) - WHAT: Media has removed the ability to probe for existing file chunks.
|
|
8
|
+
WHY: This is to support the work to deprecate SHA1 usage and make the Media Platform comply with FedRAMP moderate controls.
|
|
9
|
+
HOW: Remove any calls you have directly to probing, instead upload all files directly. If you upload files via MediaPicker no changes are required.
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- Updated dependencies
|
|
14
|
+
|
|
15
|
+
## 25.1.0
|
|
16
|
+
|
|
17
|
+
### Minor Changes
|
|
18
|
+
|
|
19
|
+
- [#43817](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/43817) [`048aca70499`](https://bitbucket.org/atlassian/atlassian-frontend/commits/048aca70499) - new Mocked Media Api utility for tests
|
|
20
|
+
|
|
3
21
|
## 25.0.3
|
|
4
22
|
|
|
5
23
|
### Patch Changes
|
|
@@ -154,28 +154,6 @@ var MediaStore = exports.MediaStore = /*#__PURE__*/function () {
|
|
|
154
154
|
}
|
|
155
155
|
return uploadChunk;
|
|
156
156
|
}()
|
|
157
|
-
}, {
|
|
158
|
-
key: "probeChunks",
|
|
159
|
-
value: function probeChunks(chunks, uploadId, collectionName, traceContext) {
|
|
160
|
-
var metadata = {
|
|
161
|
-
method: 'POST',
|
|
162
|
-
endpoint: '/chunk/probe'
|
|
163
|
-
};
|
|
164
|
-
var options = _objectSpread(_objectSpread({}, metadata), {}, {
|
|
165
|
-
params: {
|
|
166
|
-
uploadId: uploadId
|
|
167
|
-
},
|
|
168
|
-
authContext: {
|
|
169
|
-
collectionName: collectionName
|
|
170
|
-
},
|
|
171
|
-
headers: jsonHeaders,
|
|
172
|
-
body: JSON.stringify({
|
|
173
|
-
chunks: chunks
|
|
174
|
-
}),
|
|
175
|
-
traceContext: traceContext
|
|
176
|
-
});
|
|
177
|
-
return this.request("/chunk/probe", options).then((0, _helpers.createMapResponseToJson)(metadata));
|
|
178
|
-
}
|
|
179
157
|
}, {
|
|
180
158
|
key: "createFileFromUpload",
|
|
181
159
|
value: function createFileFromUpload(body) {
|
|
@@ -0,0 +1,432 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.createMockedMediaApi = void 0;
|
|
8
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
|
+
var _helpers = require("./helpers");
|
|
11
|
+
var getMediaApi = function getMediaApi(_ref) {
|
|
12
|
+
var getFileItem = _ref.getFileItem;
|
|
13
|
+
return {
|
|
14
|
+
// --------------------------------------------------------
|
|
15
|
+
// UPLOAD ENDPOINTS - None is supported
|
|
16
|
+
// --------------------------------------------------------
|
|
17
|
+
|
|
18
|
+
touchFiles: function () {
|
|
19
|
+
var _touchFiles = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(_ref2) {
|
|
20
|
+
var descriptors;
|
|
21
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
22
|
+
while (1) switch (_context.prev = _context.next) {
|
|
23
|
+
case 0:
|
|
24
|
+
descriptors = _ref2.descriptors;
|
|
25
|
+
throw new Error('500 - MockedMediaApi.touchFiles: method not implemented');
|
|
26
|
+
case 2:
|
|
27
|
+
case "end":
|
|
28
|
+
return _context.stop();
|
|
29
|
+
}
|
|
30
|
+
}, _callee);
|
|
31
|
+
}));
|
|
32
|
+
function touchFiles(_x) {
|
|
33
|
+
return _touchFiles.apply(this, arguments);
|
|
34
|
+
}
|
|
35
|
+
return touchFiles;
|
|
36
|
+
}(),
|
|
37
|
+
uploadChunk: function () {
|
|
38
|
+
var _uploadChunk = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(_etag, _blob, uploadId) {
|
|
39
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
40
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
41
|
+
case 0:
|
|
42
|
+
throw new Error('500 - MockedMediaApi.uploadChunk: method not implemented');
|
|
43
|
+
case 1:
|
|
44
|
+
case "end":
|
|
45
|
+
return _context2.stop();
|
|
46
|
+
}
|
|
47
|
+
}, _callee2);
|
|
48
|
+
}));
|
|
49
|
+
function uploadChunk(_x2, _x3, _x4) {
|
|
50
|
+
return _uploadChunk.apply(this, arguments);
|
|
51
|
+
}
|
|
52
|
+
return uploadChunk;
|
|
53
|
+
}(),
|
|
54
|
+
appendChunksToUpload: function () {
|
|
55
|
+
var _appendChunksToUpload = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
|
|
56
|
+
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
57
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
58
|
+
case 0:
|
|
59
|
+
throw new Error('500 - MockedMediaApi.appendChunksToUpload: method not implemented');
|
|
60
|
+
case 1:
|
|
61
|
+
case "end":
|
|
62
|
+
return _context3.stop();
|
|
63
|
+
}
|
|
64
|
+
}, _callee3);
|
|
65
|
+
}));
|
|
66
|
+
function appendChunksToUpload() {
|
|
67
|
+
return _appendChunksToUpload.apply(this, arguments);
|
|
68
|
+
}
|
|
69
|
+
return appendChunksToUpload;
|
|
70
|
+
}(),
|
|
71
|
+
createFileFromUpload: function () {
|
|
72
|
+
var _createFileFromUpload = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(_ref3, _ref4) {
|
|
73
|
+
var uploadId, collection;
|
|
74
|
+
return _regenerator.default.wrap(function _callee4$(_context4) {
|
|
75
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
76
|
+
case 0:
|
|
77
|
+
uploadId = _ref3.uploadId;
|
|
78
|
+
collection = _ref4.collection;
|
|
79
|
+
throw new Error('500 - MockedMediaApi.createFileFromUpload: method not implemented');
|
|
80
|
+
case 3:
|
|
81
|
+
case "end":
|
|
82
|
+
return _context4.stop();
|
|
83
|
+
}
|
|
84
|
+
}, _callee4);
|
|
85
|
+
}));
|
|
86
|
+
function createFileFromUpload(_x5, _x6) {
|
|
87
|
+
return _createFileFromUpload.apply(this, arguments);
|
|
88
|
+
}
|
|
89
|
+
return createFileFromUpload;
|
|
90
|
+
}(),
|
|
91
|
+
// Used by Media Picker as a fallback for conflicted file Ids
|
|
92
|
+
createUpload: function () {
|
|
93
|
+
var _createUpload = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5() {
|
|
94
|
+
return _regenerator.default.wrap(function _callee5$(_context5) {
|
|
95
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
96
|
+
case 0:
|
|
97
|
+
throw new Error('500 - MockedMediaApi.createUpload: method not implemented');
|
|
98
|
+
case 1:
|
|
99
|
+
case "end":
|
|
100
|
+
return _context5.stop();
|
|
101
|
+
}
|
|
102
|
+
}, _callee5);
|
|
103
|
+
}));
|
|
104
|
+
function createUpload() {
|
|
105
|
+
return _createUpload.apply(this, arguments);
|
|
106
|
+
}
|
|
107
|
+
return createUpload;
|
|
108
|
+
}(),
|
|
109
|
+
// For File size limits
|
|
110
|
+
getRejectedResponseFromDescriptor: function getRejectedResponseFromDescriptor() {
|
|
111
|
+
throw new Error('500 - MockedMediaApi.getRejectedResponseFromDescriptor: method not implemented');
|
|
112
|
+
},
|
|
113
|
+
// --------------------------------------------------------
|
|
114
|
+
// METADATA ENDPOINTS
|
|
115
|
+
// --------------------------------------------------------
|
|
116
|
+
|
|
117
|
+
getFile: function () {
|
|
118
|
+
var _getFile = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6(fileId) {
|
|
119
|
+
var fileItem;
|
|
120
|
+
return _regenerator.default.wrap(function _callee6$(_context6) {
|
|
121
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
122
|
+
case 0:
|
|
123
|
+
fileItem = getFileItem(fileId);
|
|
124
|
+
if (fileItem) {
|
|
125
|
+
_context6.next = 3;
|
|
126
|
+
break;
|
|
127
|
+
}
|
|
128
|
+
throw new Error('404 - MockedMediaApi.getFile: file not found');
|
|
129
|
+
case 3:
|
|
130
|
+
return _context6.abrupt("return", {
|
|
131
|
+
data: (0, _helpers.getMediaFile)(fileItem)
|
|
132
|
+
});
|
|
133
|
+
case 4:
|
|
134
|
+
case "end":
|
|
135
|
+
return _context6.stop();
|
|
136
|
+
}
|
|
137
|
+
}, _callee6);
|
|
138
|
+
}));
|
|
139
|
+
function getFile(_x7) {
|
|
140
|
+
return _getFile.apply(this, arguments);
|
|
141
|
+
}
|
|
142
|
+
return getFile;
|
|
143
|
+
}(),
|
|
144
|
+
getItems: function () {
|
|
145
|
+
var _getItems = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7(ids) {
|
|
146
|
+
var items;
|
|
147
|
+
return _regenerator.default.wrap(function _callee7$(_context7) {
|
|
148
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
149
|
+
case 0:
|
|
150
|
+
items = ids.map(function (id) {
|
|
151
|
+
return getFileItem(id);
|
|
152
|
+
}).filter(function (fileState) {
|
|
153
|
+
return !!fileState;
|
|
154
|
+
});
|
|
155
|
+
return _context7.abrupt("return", {
|
|
156
|
+
data: {
|
|
157
|
+
items: items
|
|
158
|
+
}
|
|
159
|
+
});
|
|
160
|
+
case 2:
|
|
161
|
+
case "end":
|
|
162
|
+
return _context7.stop();
|
|
163
|
+
}
|
|
164
|
+
}, _callee7);
|
|
165
|
+
}));
|
|
166
|
+
function getItems(_x8) {
|
|
167
|
+
return _getItems.apply(this, arguments);
|
|
168
|
+
}
|
|
169
|
+
return getItems;
|
|
170
|
+
}(),
|
|
171
|
+
// TODO
|
|
172
|
+
getImageMetadata: function () {
|
|
173
|
+
var _getImageMetadata = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee8() {
|
|
174
|
+
return _regenerator.default.wrap(function _callee8$(_context8) {
|
|
175
|
+
while (1) switch (_context8.prev = _context8.next) {
|
|
176
|
+
case 0:
|
|
177
|
+
throw new Error('500 - MockedMediaApi.getImageMetadata: method not implemented');
|
|
178
|
+
case 1:
|
|
179
|
+
case "end":
|
|
180
|
+
return _context8.stop();
|
|
181
|
+
}
|
|
182
|
+
}, _callee8);
|
|
183
|
+
}));
|
|
184
|
+
function getImageMetadata() {
|
|
185
|
+
return _getImageMetadata.apply(this, arguments);
|
|
186
|
+
}
|
|
187
|
+
return getImageMetadata;
|
|
188
|
+
}(),
|
|
189
|
+
// --------------------------------------------------------
|
|
190
|
+
// URL ENDPOINTS
|
|
191
|
+
// --------------------------------------------------------
|
|
192
|
+
|
|
193
|
+
// TODO
|
|
194
|
+
getFileImageURL: function () {
|
|
195
|
+
var _getFileImageURL = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee9() {
|
|
196
|
+
return _regenerator.default.wrap(function _callee9$(_context9) {
|
|
197
|
+
while (1) switch (_context9.prev = _context9.next) {
|
|
198
|
+
case 0:
|
|
199
|
+
throw new Error('500 - MockedMediaApi.getFileImageURL: method not implemented');
|
|
200
|
+
case 1:
|
|
201
|
+
case "end":
|
|
202
|
+
return _context9.stop();
|
|
203
|
+
}
|
|
204
|
+
}, _callee9);
|
|
205
|
+
}));
|
|
206
|
+
function getFileImageURL() {
|
|
207
|
+
return _getFileImageURL.apply(this, arguments);
|
|
208
|
+
}
|
|
209
|
+
return getFileImageURL;
|
|
210
|
+
}(),
|
|
211
|
+
// TODO
|
|
212
|
+
getFileImageURLSync: function getFileImageURLSync() {
|
|
213
|
+
throw new Error('500 - MockedMediaApi.getFileImageURLSync: method not implemented');
|
|
214
|
+
},
|
|
215
|
+
getFileBinaryURL: function () {
|
|
216
|
+
var _getFileBinaryURL = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee10(id) {
|
|
217
|
+
var fileItem;
|
|
218
|
+
return _regenerator.default.wrap(function _callee10$(_context10) {
|
|
219
|
+
while (1) switch (_context10.prev = _context10.next) {
|
|
220
|
+
case 0:
|
|
221
|
+
fileItem = getFileItem(id);
|
|
222
|
+
if (fileItem) {
|
|
223
|
+
_context10.next = 3;
|
|
224
|
+
break;
|
|
225
|
+
}
|
|
226
|
+
throw new Error('404 - MockedMediaApi.getFileBinaryURL: file not found');
|
|
227
|
+
case 3:
|
|
228
|
+
if (!(fileItem.details.size === 0)) {
|
|
229
|
+
_context10.next = 5;
|
|
230
|
+
break;
|
|
231
|
+
}
|
|
232
|
+
throw new Error('404 - MockedMediaApi.getFileBinaryURL: file is empty');
|
|
233
|
+
case 5:
|
|
234
|
+
return _context10.abrupt("return", "/file/".concat(id, "/binary"));
|
|
235
|
+
case 6:
|
|
236
|
+
case "end":
|
|
237
|
+
return _context10.stop();
|
|
238
|
+
}
|
|
239
|
+
}, _callee10);
|
|
240
|
+
}));
|
|
241
|
+
function getFileBinaryURL(_x9) {
|
|
242
|
+
return _getFileBinaryURL.apply(this, arguments);
|
|
243
|
+
}
|
|
244
|
+
return getFileBinaryURL;
|
|
245
|
+
}(),
|
|
246
|
+
getArtifactURL: function () {
|
|
247
|
+
var _getArtifactURL = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee11(artifacts, artifactName) {
|
|
248
|
+
var _artifacts$artifactNa;
|
|
249
|
+
var artifactUrl;
|
|
250
|
+
return _regenerator.default.wrap(function _callee11$(_context11) {
|
|
251
|
+
while (1) switch (_context11.prev = _context11.next) {
|
|
252
|
+
case 0:
|
|
253
|
+
artifactUrl = (_artifacts$artifactNa = artifacts[artifactName]) === null || _artifacts$artifactNa === void 0 ? void 0 : _artifacts$artifactNa.url;
|
|
254
|
+
if (artifactUrl) {
|
|
255
|
+
_context11.next = 3;
|
|
256
|
+
break;
|
|
257
|
+
}
|
|
258
|
+
throw new Error("404 - MockedMediaApi.getArtifactURL: artifact ".concat(artifactName, " not found"));
|
|
259
|
+
case 3:
|
|
260
|
+
return _context11.abrupt("return", artifactUrl);
|
|
261
|
+
case 4:
|
|
262
|
+
case "end":
|
|
263
|
+
return _context11.stop();
|
|
264
|
+
}
|
|
265
|
+
}, _callee11);
|
|
266
|
+
}));
|
|
267
|
+
function getArtifactURL(_x10, _x11) {
|
|
268
|
+
return _getArtifactURL.apply(this, arguments);
|
|
269
|
+
}
|
|
270
|
+
return getArtifactURL;
|
|
271
|
+
}(),
|
|
272
|
+
// --------------------------------------------------------
|
|
273
|
+
// BINARY ENDPOINTS
|
|
274
|
+
// --------------------------------------------------------
|
|
275
|
+
getImage: function () {
|
|
276
|
+
var _getImage = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee12(fileId) {
|
|
277
|
+
var fileItem;
|
|
278
|
+
return _regenerator.default.wrap(function _callee12$(_context12) {
|
|
279
|
+
while (1) switch (_context12.prev = _context12.next) {
|
|
280
|
+
case 0:
|
|
281
|
+
fileItem = getFileItem(fileId);
|
|
282
|
+
if (fileItem) {
|
|
283
|
+
_context12.next = 3;
|
|
284
|
+
break;
|
|
285
|
+
}
|
|
286
|
+
throw new Error('404 - MockedMediaApi.getImage: file not found');
|
|
287
|
+
case 3:
|
|
288
|
+
if (fileItem.details.representations.image) {
|
|
289
|
+
_context12.next = 5;
|
|
290
|
+
break;
|
|
291
|
+
}
|
|
292
|
+
throw new Error('404 - MockedMediaApi.getImage: image not found');
|
|
293
|
+
case 5:
|
|
294
|
+
return _context12.abrupt("return", new Blob());
|
|
295
|
+
case 6:
|
|
296
|
+
case "end":
|
|
297
|
+
return _context12.stop();
|
|
298
|
+
}
|
|
299
|
+
}, _callee12);
|
|
300
|
+
}));
|
|
301
|
+
function getImage(_x12) {
|
|
302
|
+
return _getImage.apply(this, arguments);
|
|
303
|
+
}
|
|
304
|
+
return getImage;
|
|
305
|
+
}(),
|
|
306
|
+
// --------------------------------------------------------
|
|
307
|
+
// OTHER ENDPOINTS
|
|
308
|
+
// --------------------------------------------------------
|
|
309
|
+
|
|
310
|
+
// TODO
|
|
311
|
+
copyFileWithToken: function () {
|
|
312
|
+
var _copyFileWithToken = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee13(body) {
|
|
313
|
+
var fileId, fileItem;
|
|
314
|
+
return _regenerator.default.wrap(function _callee13$(_context13) {
|
|
315
|
+
while (1) switch (_context13.prev = _context13.next) {
|
|
316
|
+
case 0:
|
|
317
|
+
fileId = body.sourceFile.id;
|
|
318
|
+
fileItem = getFileItem(fileId);
|
|
319
|
+
if (fileItem) {
|
|
320
|
+
_context13.next = 4;
|
|
321
|
+
break;
|
|
322
|
+
}
|
|
323
|
+
throw new Error('404 - MockedMediaApi.copyFileWithToken: file not found');
|
|
324
|
+
case 4:
|
|
325
|
+
return _context13.abrupt("return", {
|
|
326
|
+
data: (0, _helpers.getMediaFile)(fileItem)
|
|
327
|
+
});
|
|
328
|
+
case 5:
|
|
329
|
+
case "end":
|
|
330
|
+
return _context13.stop();
|
|
331
|
+
}
|
|
332
|
+
}, _callee13);
|
|
333
|
+
}));
|
|
334
|
+
function copyFileWithToken(_x13) {
|
|
335
|
+
return _copyFileWithToken.apply(this, arguments);
|
|
336
|
+
}
|
|
337
|
+
return copyFileWithToken;
|
|
338
|
+
}(),
|
|
339
|
+
// TODO
|
|
340
|
+
removeCollectionFile: function () {
|
|
341
|
+
var _removeCollectionFile = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee14() {
|
|
342
|
+
return _regenerator.default.wrap(function _callee14$(_context14) {
|
|
343
|
+
while (1) switch (_context14.prev = _context14.next) {
|
|
344
|
+
case 0:
|
|
345
|
+
case "end":
|
|
346
|
+
return _context14.stop();
|
|
347
|
+
}
|
|
348
|
+
}, _callee14);
|
|
349
|
+
}));
|
|
350
|
+
function removeCollectionFile() {
|
|
351
|
+
return _removeCollectionFile.apply(this, arguments);
|
|
352
|
+
}
|
|
353
|
+
return removeCollectionFile;
|
|
354
|
+
}(),
|
|
355
|
+
// --------------------------------------------------------
|
|
356
|
+
// OTHER ENDPOINTS
|
|
357
|
+
// --------------------------------------------------------
|
|
358
|
+
request: function () {
|
|
359
|
+
var _request = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee15() {
|
|
360
|
+
return _regenerator.default.wrap(function _callee15$(_context15) {
|
|
361
|
+
while (1) switch (_context15.prev = _context15.next) {
|
|
362
|
+
case 0:
|
|
363
|
+
return _context15.abrupt("return", new Response());
|
|
364
|
+
case 1:
|
|
365
|
+
case "end":
|
|
366
|
+
return _context15.stop();
|
|
367
|
+
}
|
|
368
|
+
}, _callee15);
|
|
369
|
+
}));
|
|
370
|
+
function request() {
|
|
371
|
+
return _request.apply(this, arguments);
|
|
372
|
+
}
|
|
373
|
+
return request;
|
|
374
|
+
}(),
|
|
375
|
+
resolveAuth: function () {
|
|
376
|
+
var _resolveAuth = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee16() {
|
|
377
|
+
return _regenerator.default.wrap(function _callee16$(_context16) {
|
|
378
|
+
while (1) switch (_context16.prev = _context16.next) {
|
|
379
|
+
case 0:
|
|
380
|
+
return _context16.abrupt("return", {
|
|
381
|
+
asapIssuer: '',
|
|
382
|
+
token: '',
|
|
383
|
+
baseUrl: ''
|
|
384
|
+
});
|
|
385
|
+
case 1:
|
|
386
|
+
case "end":
|
|
387
|
+
return _context16.stop();
|
|
388
|
+
}
|
|
389
|
+
}, _callee16);
|
|
390
|
+
}));
|
|
391
|
+
function resolveAuth() {
|
|
392
|
+
return _resolveAuth.apply(this, arguments);
|
|
393
|
+
}
|
|
394
|
+
return resolveAuth;
|
|
395
|
+
}(),
|
|
396
|
+
resolveInitialAuth: function resolveInitialAuth() {
|
|
397
|
+
return {
|
|
398
|
+
asapIssuer: '',
|
|
399
|
+
token: '',
|
|
400
|
+
baseUrl: ''
|
|
401
|
+
};
|
|
402
|
+
}
|
|
403
|
+
};
|
|
404
|
+
};
|
|
405
|
+
|
|
406
|
+
/**
|
|
407
|
+
* Mocked Media API
|
|
408
|
+
*/
|
|
409
|
+
var createMockedMediaApi = exports.createMockedMediaApi = function createMockedMediaApi(initialFileItems) {
|
|
410
|
+
var storedFileItems = new Map();
|
|
411
|
+
var getFileItem = function getFileItem(fileId) {
|
|
412
|
+
return storedFileItems.get(fileId);
|
|
413
|
+
};
|
|
414
|
+
var setFileItems = function setFileItems(fileItems) {
|
|
415
|
+
var normalised = (0, _helpers.normaliseInput)(fileItems);
|
|
416
|
+
normalised.forEach(function (fileItem) {
|
|
417
|
+
return storedFileItems.set(fileItem.id, fileItem);
|
|
418
|
+
});
|
|
419
|
+
};
|
|
420
|
+
if (initialFileItems) {
|
|
421
|
+
setFileItems(initialFileItems);
|
|
422
|
+
}
|
|
423
|
+
var mediaApi = getMediaApi({
|
|
424
|
+
setFileItems: setFileItems,
|
|
425
|
+
getFileItem: getFileItem
|
|
426
|
+
});
|
|
427
|
+
return {
|
|
428
|
+
setFileItems: setFileItems,
|
|
429
|
+
getFileItem: getFileItem,
|
|
430
|
+
mediaApi: mediaApi
|
|
431
|
+
};
|
|
432
|
+
};
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.normaliseInput = exports.getMediaFile = exports.getIdentifier = exports.createUploadingFileState = exports.createProcessingFileItem = exports.createFileState = exports.createErrorFileState = exports.createEmptyFileItem = exports.copy = void 0;
|
|
8
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
|
+
var _v = _interopRequireDefault(require("uuid/v4"));
|
|
11
|
+
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; }
|
|
12
|
+
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
|
+
// --------------------------------------------------------
|
|
14
|
+
// Factory Utils
|
|
15
|
+
// --------------------------------------------------------
|
|
16
|
+
|
|
17
|
+
var normaliseInput = exports.normaliseInput = function normaliseInput(input) {
|
|
18
|
+
return !input ? [] : input instanceof Array ? input : [input];
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
// --------------------------------------------------------
|
|
22
|
+
// Utils for the main class
|
|
23
|
+
// --------------------------------------------------------
|
|
24
|
+
|
|
25
|
+
var getMediaFile = exports.getMediaFile = function getMediaFile(fileItem) {
|
|
26
|
+
return _objectSpread({
|
|
27
|
+
id: fileItem.id
|
|
28
|
+
}, fileItem.details);
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
// --------------------------------------------------------
|
|
32
|
+
// Utils for creating file descriptors for tests
|
|
33
|
+
// --------------------------------------------------------
|
|
34
|
+
|
|
35
|
+
var createEmptyFileItem = exports.createEmptyFileItem = function createEmptyFileItem(id, collection) {
|
|
36
|
+
var emptyFileItem = {
|
|
37
|
+
type: 'file',
|
|
38
|
+
id: id,
|
|
39
|
+
details: {
|
|
40
|
+
mediaType: 'unknown',
|
|
41
|
+
mimeType: 'binary/octet-stream',
|
|
42
|
+
name: '',
|
|
43
|
+
size: 0,
|
|
44
|
+
processingStatus: 'pending',
|
|
45
|
+
artifacts: {},
|
|
46
|
+
representations: {},
|
|
47
|
+
createdAt: 1699488941974
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
if (collection) {
|
|
51
|
+
emptyFileItem.collection = collection;
|
|
52
|
+
}
|
|
53
|
+
return emptyFileItem;
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Simulates the processing of the file by updating the processing status of the artifacts by a percentage
|
|
58
|
+
* Percent must be between 0 and 1
|
|
59
|
+
*/
|
|
60
|
+
var createProcessingFileItem = exports.createProcessingFileItem = function createProcessingFileItem(fileItem, percent) {
|
|
61
|
+
if (percent < 0 || percent > 1) {
|
|
62
|
+
throw new Error('Error createProcessingFileItem: percent must be between 0 and 1');
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* This behaviour has to be confirmed
|
|
67
|
+
* Artifacts show up immediately after processed or they have a
|
|
68
|
+
* "processing time"?
|
|
69
|
+
*/
|
|
70
|
+
|
|
71
|
+
if (percent === 1) {
|
|
72
|
+
return fileItem;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
// No artifacts for 0% processing
|
|
76
|
+
if (percent === 0) {
|
|
77
|
+
return _objectSpread(_objectSpread({}, fileItem), {}, {
|
|
78
|
+
details: _objectSpread(_objectSpread({}, fileItem.details), {}, {
|
|
79
|
+
processingStatus: 'pending',
|
|
80
|
+
artifacts: {},
|
|
81
|
+
// The preview will only be ready at 100% -> TODO verify against backend
|
|
82
|
+
representations: {}
|
|
83
|
+
})
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
var artifactsKeys = Object.keys(fileItem.details.artifacts);
|
|
87
|
+
var artifactsEntries = Object.entries(_objectSpread({}, fileItem.details.artifacts));
|
|
88
|
+
|
|
89
|
+
// Get a % of the total artifacts to be set as processed
|
|
90
|
+
var processedArtifactKeys = artifactsKeys.slice(0, Math.ceil(artifactsKeys.length * percent));
|
|
91
|
+
var processedArtifactEntries = artifactsEntries.map(function (_ref) {
|
|
92
|
+
var _ref2 = (0, _slicedToArray2.default)(_ref, 2),
|
|
93
|
+
key = _ref2[0],
|
|
94
|
+
artifact = _ref2[1];
|
|
95
|
+
return [key, _objectSpread(_objectSpread({}, artifact), {}, {
|
|
96
|
+
processingStatus: processedArtifactKeys.includes(key) ? 'succeeded' : 'pending'
|
|
97
|
+
})];
|
|
98
|
+
});
|
|
99
|
+
var artifactsProcessingPercent = Object.fromEntries(processedArtifactEntries);
|
|
100
|
+
return _objectSpread(_objectSpread({}, fileItem), {}, {
|
|
101
|
+
details: _objectSpread(_objectSpread({}, fileItem.details), {}, {
|
|
102
|
+
processingStatus: 'pending',
|
|
103
|
+
artifacts: artifactsProcessingPercent,
|
|
104
|
+
// The preview will only be ready at 100% -> TODO verify against backend
|
|
105
|
+
representations: {}
|
|
106
|
+
})
|
|
107
|
+
});
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* Makes a copy of the provided file item with a random file id
|
|
112
|
+
* */
|
|
113
|
+
var copy = exports.copy = function copy(fileItem) {
|
|
114
|
+
return JSON.parse(JSON.stringify(fileItem).replace(new RegExp(fileItem.id, 'g'), (0, _v.default)()));
|
|
115
|
+
};
|
|
116
|
+
/**
|
|
117
|
+
* Extracts the file identifier from the provided file item
|
|
118
|
+
*/
|
|
119
|
+
var getIdentifier = exports.getIdentifier = function getIdentifier(fileItem) {
|
|
120
|
+
return {
|
|
121
|
+
mediaItemType: 'file',
|
|
122
|
+
id: fileItem.id,
|
|
123
|
+
collectionName: fileItem.collection
|
|
124
|
+
};
|
|
125
|
+
};
|
|
126
|
+
var createFileState = exports.createFileState = function createFileState(_ref3) {
|
|
127
|
+
var id = _ref3.id,
|
|
128
|
+
_ref3$details = _ref3.details,
|
|
129
|
+
name = _ref3$details.name,
|
|
130
|
+
size = _ref3$details.size,
|
|
131
|
+
mediaType = _ref3$details.mediaType,
|
|
132
|
+
mimeType = _ref3$details.mimeType,
|
|
133
|
+
createdAt = _ref3$details.createdAt,
|
|
134
|
+
processingStatus = _ref3$details.processingStatus,
|
|
135
|
+
artifacts = _ref3$details.artifacts,
|
|
136
|
+
representations = _ref3$details.representations;
|
|
137
|
+
return {
|
|
138
|
+
status: processingStatus === 'succeeded' ? 'processed' : 'processing',
|
|
139
|
+
id: id,
|
|
140
|
+
name: name,
|
|
141
|
+
size: size,
|
|
142
|
+
mediaType: mediaType,
|
|
143
|
+
mimeType: mimeType,
|
|
144
|
+
createdAt: createdAt,
|
|
145
|
+
artifacts: artifacts,
|
|
146
|
+
representations: representations
|
|
147
|
+
};
|
|
148
|
+
};
|
|
149
|
+
var createUploadingFileState = exports.createUploadingFileState = function createUploadingFileState(_ref4, progress) {
|
|
150
|
+
var id = _ref4.id,
|
|
151
|
+
_ref4$details = _ref4.details,
|
|
152
|
+
name = _ref4$details.name,
|
|
153
|
+
size = _ref4$details.size,
|
|
154
|
+
mediaType = _ref4$details.mediaType,
|
|
155
|
+
mimeType = _ref4$details.mimeType,
|
|
156
|
+
createdAt = _ref4$details.createdAt;
|
|
157
|
+
return {
|
|
158
|
+
status: 'uploading',
|
|
159
|
+
progress: progress,
|
|
160
|
+
id: id,
|
|
161
|
+
name: name,
|
|
162
|
+
size: size,
|
|
163
|
+
mediaType: mediaType,
|
|
164
|
+
mimeType: mimeType,
|
|
165
|
+
createdAt: createdAt,
|
|
166
|
+
preview: {
|
|
167
|
+
value: new Blob(['some-content'], {
|
|
168
|
+
type: mimeType
|
|
169
|
+
})
|
|
170
|
+
}
|
|
171
|
+
};
|
|
172
|
+
};
|
|
173
|
+
var createErrorFileState = exports.createErrorFileState = function createErrorFileState(_ref5) {
|
|
174
|
+
var id = _ref5.id;
|
|
175
|
+
return {
|
|
176
|
+
status: 'error',
|
|
177
|
+
id: id,
|
|
178
|
+
reason: 'a random error',
|
|
179
|
+
message: 'a random error message',
|
|
180
|
+
details: {
|
|
181
|
+
some: 'mocked error detail'
|
|
182
|
+
}
|
|
183
|
+
};
|
|
184
|
+
};
|