cozy-client 48.24.1 → 49.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.
@@ -693,7 +693,8 @@ describe('CozyClient login', () => {
693
693
 
694
694
  describe('CozyClient', () => {
695
695
  const requestHandler = jest.fn()
696
- const link = new CozyLink(requestHandler)
696
+ const persistHandler = jest.fn()
697
+ const link = new CozyLink(requestHandler, persistHandler)
697
698
 
698
699
  const MOCKED_DATE = '2018-05-05T09:09:00.115Z'
699
700
 
@@ -724,6 +725,7 @@ describe('CozyClient', () => {
724
725
 
725
726
  afterEach(() => {
726
727
  requestHandler.mockReset()
728
+ persistHandler.mockReset()
727
729
  })
728
730
  describe('setAppMetadata', () => {
729
731
  it('should update the appMetadata', () => {
@@ -1384,6 +1386,7 @@ describe('CozyClient', () => {
1384
1386
 
1385
1387
  it('should return the same result if the query is run while she is already in loading status whithout requesting the query twice', async () => {
1386
1388
  jest.spyOn(client, 'requestQuery')
1389
+ requestHandler.mockResolvedValue({})
1387
1390
 
1388
1391
  const [resp, resp2] = await Promise.all([
1389
1392
  client.query(query, { as: 'allTodos' }),
@@ -1400,6 +1403,118 @@ describe('CozyClient', () => {
1400
1403
  expect(executeQueryFromState).toHaveBeenCalledTimes(1)
1401
1404
  })
1402
1405
 
1406
+ it('should persist virtual document when no meta.rev nor _rev', async () => {
1407
+ jest.spyOn(client, 'requestQuery')
1408
+ requestHandler.mockResolvedValue({
1409
+ data: {
1410
+ _id: 'some_id'
1411
+ }
1412
+ })
1413
+
1414
+ await client.query(query, { as: 'allTodos' })
1415
+
1416
+ expect(persistHandler).toHaveBeenCalledWith(
1417
+ {
1418
+ _id: 'some_id'
1419
+ },
1420
+ expect.anything()
1421
+ )
1422
+ })
1423
+
1424
+ it('should not persist virtual document when meta.rev', async () => {
1425
+ jest.spyOn(client, 'requestQuery')
1426
+ requestHandler.mockResolvedValue({
1427
+ data: {
1428
+ _id: 'some_id',
1429
+ meta: {
1430
+ rev: 'SOME_REV'
1431
+ }
1432
+ }
1433
+ })
1434
+
1435
+ await client.query(query, { as: 'allTodos' })
1436
+
1437
+ expect(persistHandler).not.toHaveBeenCalled()
1438
+ })
1439
+
1440
+ it('should not persist virtual document when _rev', async () => {
1441
+ jest.spyOn(client, 'requestQuery')
1442
+ requestHandler.mockResolvedValue({
1443
+ data: {
1444
+ _id: 'some_id',
1445
+ _rev: 'SOME_REV'
1446
+ }
1447
+ })
1448
+
1449
+ await client.query(query, { as: 'allTodos' })
1450
+
1451
+ expect(persistHandler).not.toHaveBeenCalled()
1452
+ })
1453
+
1454
+ it('should persist array of virtual documents when no meta.rev nor _rev', async () => {
1455
+ jest.spyOn(client, 'requestQuery')
1456
+ requestHandler.mockResolvedValue({
1457
+ data: [
1458
+ {
1459
+ _id: 'some_id'
1460
+ },
1461
+ {
1462
+ _id: 'some_id2'
1463
+ }
1464
+ ]
1465
+ })
1466
+
1467
+ await client.query(query, { as: 'allTodos' })
1468
+
1469
+ expect(persistHandler).toHaveBeenCalledWith(
1470
+ {
1471
+ _id: 'some_id'
1472
+ },
1473
+ expect.anything()
1474
+ )
1475
+ expect(persistHandler).toHaveBeenCalledWith(
1476
+ {
1477
+ _id: 'some_id2'
1478
+ },
1479
+ expect.anything()
1480
+ )
1481
+ })
1482
+
1483
+ it('should not persist virtual documents if cozyLocalOnly', async () => {
1484
+ jest.spyOn(client, 'requestQuery')
1485
+ requestHandler.mockResolvedValue({
1486
+ data: [
1487
+ {
1488
+ _id: 'some_id',
1489
+ cozyLocalOnly: true
1490
+ }
1491
+ ]
1492
+ })
1493
+
1494
+ await client.query(query, { as: 'allTodos' })
1495
+
1496
+ expect(persistHandler).not.toHaveBeenCalled()
1497
+ })
1498
+
1499
+ it('should enforce persisting io.cozy.files.shortcuts as virtual documents even if meta.rev exists', async () => {
1500
+ jest.spyOn(client, 'requestQuery')
1501
+ requestHandler.mockResolvedValue({
1502
+ data: [
1503
+ {
1504
+ _id: 'some_id',
1505
+ meta: {
1506
+ rev: 'SOME_REV'
1507
+ }
1508
+ }
1509
+ ]
1510
+ })
1511
+ const shortcutsQuery = Q('io.cozy.files.shortcuts')
1512
+
1513
+ await client.query(shortcutsQuery, { as: 'allShortcuts' })
1514
+
1515
+ expect(persistHandler).toHaveBeenCalled()
1516
+ })
1517
+
1403
1518
  describe('relationship with query failure', () => {
1404
1519
  beforeEach(() => {
1405
1520
  jest.spyOn(HasManyFiles, 'query').mockImplementation(() => {
package/dist/CozyLink.js CHANGED
@@ -9,24 +9,122 @@ exports.chain = exports.default = void 0;
9
9
 
10
10
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
11
 
12
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
13
+
14
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
15
+
12
16
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
17
 
14
18
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
19
 
16
20
  var CozyLink = /*#__PURE__*/function () {
17
- function CozyLink(requestHandler) {
21
+ function CozyLink(requestHandler, persistHandler) {
18
22
  (0, _classCallCheck2.default)(this, CozyLink);
19
23
 
20
24
  if (typeof requestHandler === 'function') {
21
25
  this.request = requestHandler;
22
26
  }
27
+
28
+ if (typeof persistHandler === 'function') {
29
+ this.persistCozyData = persistHandler;
30
+ }
23
31
  }
32
+ /**
33
+ * Request the given operation from the link
34
+ *
35
+ * @param {any} operation - The operation to request
36
+ * @param {any} result - The result from the previous request of the chain
37
+ * @param {any} forward - The next request of the chain
38
+ * @returns {Promise<any>}
39
+ */
40
+
24
41
 
25
42
  (0, _createClass2.default)(CozyLink, [{
26
43
  key: "request",
27
- value: function request(operation, result, forward) {
28
- throw new Error('request is not implemented');
29
- }
44
+ value: function () {
45
+ var _request = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(operation, result, forward) {
46
+ return _regenerator.default.wrap(function _callee$(_context) {
47
+ while (1) {
48
+ switch (_context.prev = _context.next) {
49
+ case 0:
50
+ throw new Error('request is not implemented');
51
+
52
+ case 1:
53
+ case "end":
54
+ return _context.stop();
55
+ }
56
+ }
57
+ }, _callee);
58
+ }));
59
+
60
+ function request(_x, _x2, _x3) {
61
+ return _request.apply(this, arguments);
62
+ }
63
+
64
+ return request;
65
+ }()
66
+ /**
67
+ * Persist the given data into the links storage
68
+ *
69
+ * @param {any} data - The document to persist
70
+ * @param {any} forward - The next persistCozyData of the chain
71
+ * @returns {Promise<any>}
72
+ */
73
+
74
+ }, {
75
+ key: "persistCozyData",
76
+ value: function () {
77
+ var _persistCozyData = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(data, forward) {
78
+ return _regenerator.default.wrap(function _callee2$(_context2) {
79
+ while (1) {
80
+ switch (_context2.prev = _context2.next) {
81
+ case 0:
82
+ throw new Error('persistCozyData is not implemented');
83
+
84
+ case 1:
85
+ case "end":
86
+ return _context2.stop();
87
+ }
88
+ }
89
+ }, _callee2);
90
+ }));
91
+
92
+ function persistCozyData(_x4, _x5) {
93
+ return _persistCozyData.apply(this, arguments);
94
+ }
95
+
96
+ return persistCozyData;
97
+ }()
98
+ /**
99
+ * Reset the link data
100
+ *
101
+ * @returns {Promise<any>}
102
+ */
103
+
104
+ }, {
105
+ key: "reset",
106
+ value: function () {
107
+ var _reset = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
108
+ return _regenerator.default.wrap(function _callee3$(_context3) {
109
+ while (1) {
110
+ switch (_context3.prev = _context3.next) {
111
+ case 0:
112
+ throw new Error('reset is not implemented');
113
+
114
+ case 1:
115
+ case "end":
116
+ return _context3.stop();
117
+ }
118
+ }
119
+ }, _callee3);
120
+ }));
121
+
122
+ function reset() {
123
+ return _reset.apply(this, arguments);
124
+ }
125
+
126
+ return reset;
127
+ }()
30
128
  }]);
31
129
  return CozyLink;
32
130
  }();
@@ -37,10 +135,15 @@ var toLink = function toLink(handler) {
37
135
  return typeof handler === 'function' ? new CozyLink(handler) : handler;
38
136
  };
39
137
 
40
- var defaultLinkHandler = function defaultLinkHandler(operation, result) {
138
+ var defaultLinkRequestHandler = function defaultLinkRequestHandler(operation, result) {
41
139
  if (result) return result;else if (operation.execute) return operation.execute();else throw new Error("No link could handle operation ".concat(JSON.stringify(operation)));
42
140
  };
43
141
 
142
+ var defaultLinkPersistHandler = function defaultLinkPersistHandler(operation, result) {// Do nothing
143
+ };
144
+
145
+ var defaultLinkHandler = new CozyLink(defaultLinkRequestHandler, defaultLinkPersistHandler);
146
+
44
147
  var chain = function chain(links) {
45
148
  return [].concat((0, _toConsumableArray2.default)(links), [defaultLinkHandler]).map(toLink).reduce(concat);
46
149
  };
@@ -48,11 +151,21 @@ var chain = function chain(links) {
48
151
  exports.chain = chain;
49
152
 
50
153
  var concat = function concat(firstLink, nextLink) {
51
- return new CozyLink(function (operation, result, forward) {
154
+ var requestHandler = function requestHandler(operation, result, forward) {
52
155
  var nextForward = function nextForward(op, res) {
53
156
  return nextLink.request(op, res, forward);
54
157
  };
55
158
 
56
159
  return firstLink.request(operation, result, nextForward);
57
- });
160
+ };
161
+
162
+ var persistHandler = function persistHandler(data, forward) {
163
+ var nextForward = function nextForward(d) {
164
+ return nextLink.persistCozyData(d, forward);
165
+ };
166
+
167
+ return firstLink.persistCozyData(data, nextForward);
168
+ };
169
+
170
+ return new CozyLink(requestHandler, persistHandler);
58
171
  };
package/dist/StackLink.js CHANGED
@@ -7,12 +7,12 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = exports.transformBulkDocsResponse = void 0;
9
9
 
10
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
+
10
12
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
13
 
12
14
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
15
 
14
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
15
-
16
16
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
17
17
 
18
18
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
@@ -37,6 +37,8 @@ var _errors = require("./errors");
37
37
 
38
38
  var _logger = _interopRequireDefault(require("./logger"));
39
39
 
40
+ var _utils = require("./utils");
41
+
40
42
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
41
43
 
42
44
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
@@ -92,6 +94,13 @@ var transformBulkDocsResponse = function transformBulkDocsResponse(bulkResponse,
92
94
  data: updatedDocs
93
95
  };
94
96
  };
97
+ /**
98
+ * @typedef {object} StackLinkOptions
99
+ * @property {object} [stackClient] - A StackClient
100
+ * @property {object} [client] - A StackClient (deprecated)
101
+ * @property {import('cozy-pouch-link/dist/types').LinkPlatform} [platform] - Platform specific adapters and methods
102
+ */
103
+
95
104
  /**
96
105
  * Transfers queries and mutations to a remote stack
97
106
  */
@@ -105,16 +114,15 @@ var StackLink = /*#__PURE__*/function (_CozyLink) {
105
114
  var _super = _createSuper(StackLink);
106
115
 
107
116
  /**
108
- * @param {object} [options] - Options
109
- * @param {object} [options.stackClient] - A StackClient
110
- * @param {object} [options.client] - A StackClient (deprecated)
117
+ * @param {StackLinkOptions} [options] - Options
111
118
  */
112
119
  function StackLink() {
113
120
  var _this;
114
121
 
115
122
  var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
116
123
  client = _ref.client,
117
- stackClient = _ref.stackClient;
124
+ stackClient = _ref.stackClient,
125
+ platform = _ref.platform;
118
126
 
119
127
  (0, _classCallCheck2.default)(this, StackLink);
120
128
  _this = _super.call(this);
@@ -124,6 +132,7 @@ var StackLink = /*#__PURE__*/function (_CozyLink) {
124
132
  }
125
133
 
126
134
  _this.stackClient = stackClient || client;
135
+ _this.isOnline = platform === null || platform === void 0 ? void 0 : platform.isOnline;
127
136
  return _this;
128
137
  }
129
138
 
@@ -134,18 +143,130 @@ var StackLink = /*#__PURE__*/function (_CozyLink) {
134
143
  }
135
144
  }, {
136
145
  key: "reset",
137
- value: function reset() {
138
- this.stackClient = null;
139
- }
146
+ value: function () {
147
+ var _reset = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
148
+ return _regenerator.default.wrap(function _callee$(_context) {
149
+ while (1) {
150
+ switch (_context.prev = _context.next) {
151
+ case 0:
152
+ this.stackClient = null;
153
+
154
+ case 1:
155
+ case "end":
156
+ return _context.stop();
157
+ }
158
+ }
159
+ }, _callee, this);
160
+ }));
161
+
162
+ function reset() {
163
+ return _reset.apply(this, arguments);
164
+ }
165
+
166
+ return reset;
167
+ }()
140
168
  }, {
141
169
  key: "request",
142
- value: function request(operation, result, forward) {
143
- if (operation.mutationType) {
144
- return this.executeMutation(operation, result, forward);
170
+ value: function () {
171
+ var _request = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(operation, result, forward) {
172
+ return _regenerator.default.wrap(function _callee2$(_context2) {
173
+ while (1) {
174
+ switch (_context2.prev = _context2.next) {
175
+ case 0:
176
+ _context2.t0 = this.isOnline;
177
+
178
+ if (!_context2.t0) {
179
+ _context2.next = 5;
180
+ break;
181
+ }
182
+
183
+ _context2.next = 4;
184
+ return this.isOnline();
185
+
186
+ case 4:
187
+ _context2.t0 = !_context2.sent;
188
+
189
+ case 5:
190
+ if (!_context2.t0) {
191
+ _context2.next = 7;
192
+ break;
193
+ }
194
+
195
+ return _context2.abrupt("return", forward(operation));
196
+
197
+ case 7:
198
+ _context2.prev = 7;
199
+
200
+ if (!operation.mutationType) {
201
+ _context2.next = 12;
202
+ break;
203
+ }
204
+
205
+ _context2.next = 11;
206
+ return this.executeMutation(operation, result, forward);
207
+
208
+ case 11:
209
+ return _context2.abrupt("return", _context2.sent);
210
+
211
+ case 12:
212
+ _context2.next = 14;
213
+ return this.executeQuery(operation);
214
+
215
+ case 14:
216
+ return _context2.abrupt("return", _context2.sent);
217
+
218
+ case 17:
219
+ _context2.prev = 17;
220
+ _context2.t1 = _context2["catch"](7);
221
+
222
+ if (!(0, _utils.isReactNativeOfflineError)(_context2.t1)) {
223
+ _context2.next = 21;
224
+ break;
225
+ }
226
+
227
+ return _context2.abrupt("return", forward(operation));
228
+
229
+ case 21:
230
+ throw _context2.t1;
231
+
232
+ case 22:
233
+ case "end":
234
+ return _context2.stop();
235
+ }
236
+ }
237
+ }, _callee2, this, [[7, 17]]);
238
+ }));
239
+
240
+ function request(_x, _x2, _x3) {
241
+ return _request.apply(this, arguments);
145
242
  }
146
243
 
147
- return this.executeQuery(operation);
148
- }
244
+ return request;
245
+ }()
246
+ }, {
247
+ key: "persistCozyData",
248
+ value: function () {
249
+ var _persistCozyData = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(data, forward) {
250
+ return _regenerator.default.wrap(function _callee3$(_context3) {
251
+ while (1) {
252
+ switch (_context3.prev = _context3.next) {
253
+ case 0:
254
+ return _context3.abrupt("return", forward(data));
255
+
256
+ case 1:
257
+ case "end":
258
+ return _context3.stop();
259
+ }
260
+ }
261
+ }, _callee3);
262
+ }));
263
+
264
+ function persistCozyData(_x4, _x5) {
265
+ return _persistCozyData.apply(this, arguments);
266
+ }
267
+
268
+ return persistCozyData;
269
+ }()
149
270
  /**
150
271
  *
151
272
  * @param {QueryDefinition} query - Query to execute
@@ -191,77 +312,77 @@ var StackLink = /*#__PURE__*/function (_CozyLink) {
191
312
  }, {
192
313
  key: "executeMutation",
193
314
  value: function () {
194
- var _executeMutation = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(mutation, result, forward) {
315
+ var _executeMutation = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(mutation, result, forward) {
195
316
  var mutationType, doc, docs, props, updateAllResp;
196
- return _regenerator.default.wrap(function _callee$(_context) {
317
+ return _regenerator.default.wrap(function _callee4$(_context4) {
197
318
  while (1) {
198
- switch (_context.prev = _context.next) {
319
+ switch (_context4.prev = _context4.next) {
199
320
  case 0:
200
321
  mutationType = mutation.mutationType, doc = mutation.document, docs = mutation.documents, props = (0, _objectWithoutProperties2.default)(mutation, ["mutationType", "document", "documents"]);
201
- _context.t0 = mutationType;
202
- _context.next = _context.t0 === _dsl.MutationTypes.CREATE_DOCUMENT ? 4 : _context.t0 === _dsl.MutationTypes.UPDATE_DOCUMENTS ? 5 : _context.t0 === _dsl.MutationTypes.UPDATE_DOCUMENT ? 9 : _context.t0 === _dsl.MutationTypes.DELETE_DOCUMENT ? 10 : _context.t0 === _dsl.MutationTypes.ADD_REFERENCES_TO ? 11 : _context.t0 === _dsl.MutationTypes.REMOVE_REFERENCES_TO ? 12 : _context.t0 === _dsl.MutationTypes.ADD_REFERENCED_BY ? 13 : _context.t0 === _dsl.MutationTypes.REMOVE_REFERENCED_BY ? 18 : _context.t0 === _dsl.MutationTypes.UPLOAD_FILE ? 23 : 24;
322
+ _context4.t0 = mutationType;
323
+ _context4.next = _context4.t0 === _dsl.MutationTypes.CREATE_DOCUMENT ? 4 : _context4.t0 === _dsl.MutationTypes.UPDATE_DOCUMENTS ? 5 : _context4.t0 === _dsl.MutationTypes.UPDATE_DOCUMENT ? 9 : _context4.t0 === _dsl.MutationTypes.DELETE_DOCUMENT ? 10 : _context4.t0 === _dsl.MutationTypes.ADD_REFERENCES_TO ? 11 : _context4.t0 === _dsl.MutationTypes.REMOVE_REFERENCES_TO ? 12 : _context4.t0 === _dsl.MutationTypes.ADD_REFERENCED_BY ? 13 : _context4.t0 === _dsl.MutationTypes.REMOVE_REFERENCED_BY ? 18 : _context4.t0 === _dsl.MutationTypes.UPLOAD_FILE ? 23 : 24;
203
324
  break;
204
325
 
205
326
  case 4:
206
- return _context.abrupt("return", this.stackClient.collection(doc._type).create(doc));
327
+ return _context4.abrupt("return", this.stackClient.collection(doc._type).create(doc));
207
328
 
208
329
  case 5:
209
- _context.next = 7;
330
+ _context4.next = 7;
210
331
  return this.stackClient.collection(docs[0]._type).updateAll(docs);
211
332
 
212
333
  case 7:
213
- updateAllResp = _context.sent;
214
- return _context.abrupt("return", transformBulkDocsResponse(updateAllResp, docs));
334
+ updateAllResp = _context4.sent;
335
+ return _context4.abrupt("return", transformBulkDocsResponse(updateAllResp, docs));
215
336
 
216
337
  case 9:
217
- return _context.abrupt("return", this.stackClient.collection(doc._type).update(doc));
338
+ return _context4.abrupt("return", this.stackClient.collection(doc._type).update(doc));
218
339
 
219
340
  case 10:
220
- return _context.abrupt("return", this.stackClient.collection(doc._type).destroy(doc));
341
+ return _context4.abrupt("return", this.stackClient.collection(doc._type).destroy(doc));
221
342
 
222
343
  case 11:
223
- return _context.abrupt("return", this.stackClient.collection(props.referencedDocuments[0]._type).addReferencesTo(doc, props.referencedDocuments));
344
+ return _context4.abrupt("return", this.stackClient.collection(props.referencedDocuments[0]._type).addReferencesTo(doc, props.referencedDocuments));
224
345
 
225
346
  case 12:
226
- return _context.abrupt("return", this.stackClient.collection(props.referencedDocuments[0]._type).removeReferencesTo(doc, props.referencedDocuments));
347
+ return _context4.abrupt("return", this.stackClient.collection(props.referencedDocuments[0]._type).removeReferencesTo(doc, props.referencedDocuments));
227
348
 
228
349
  case 13:
229
350
  if (!(doc._type === _const.DOCTYPE_FILES)) {
230
- _context.next = 17;
351
+ _context4.next = 17;
231
352
  break;
232
353
  }
233
354
 
234
- return _context.abrupt("return", this.stackClient.collection(_const.DOCTYPE_FILES).addReferencedBy(doc, props.referencedDocuments));
355
+ return _context4.abrupt("return", this.stackClient.collection(_const.DOCTYPE_FILES).addReferencedBy(doc, props.referencedDocuments));
235
356
 
236
357
  case 17:
237
358
  throw new Error('The document type should be io.cozy.files');
238
359
 
239
360
  case 18:
240
361
  if (!(doc._type === _const.DOCTYPE_FILES)) {
241
- _context.next = 22;
362
+ _context4.next = 22;
242
363
  break;
243
364
  }
244
365
 
245
- return _context.abrupt("return", this.stackClient.collection(_const.DOCTYPE_FILES).removeReferencedBy(doc, props.referencedDocuments));
366
+ return _context4.abrupt("return", this.stackClient.collection(_const.DOCTYPE_FILES).removeReferencedBy(doc, props.referencedDocuments));
246
367
 
247
368
  case 22:
248
369
  throw new Error('The document type should be io.cozy.files');
249
370
 
250
371
  case 23:
251
- return _context.abrupt("return", this.stackClient.collection(_const.DOCTYPE_FILES).upload(props.file, props.dirPath));
372
+ return _context4.abrupt("return", this.stackClient.collection(_const.DOCTYPE_FILES).upload(props.file, props.dirPath));
252
373
 
253
374
  case 24:
254
- return _context.abrupt("return", forward(mutation, result));
375
+ return _context4.abrupt("return", forward(mutation, result));
255
376
 
256
377
  case 25:
257
378
  case "end":
258
- return _context.stop();
379
+ return _context4.stop();
259
380
  }
260
381
  }
261
- }, _callee, this);
382
+ }, _callee4, this);
262
383
  }));
263
384
 
264
- function executeMutation(_x, _x2, _x3) {
385
+ function executeMutation(_x6, _x7, _x8) {
265
386
  return _executeMutation.apply(this, arguments);
266
387
  }
267
388