cozy-pouch-link 59.0.0 → 59.1.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/dist/CozyPouchLink.js +190 -93
- package/dist/CozyPouchLink.spec.js +65 -0
- package/package.json +3 -3
- package/types/CozyPouchLink.d.ts +3 -0
package/dist/CozyPouchLink.js
CHANGED
|
@@ -1191,7 +1191,7 @@ var PouchLink = /*#__PURE__*/function (_CozyLink) {
|
|
|
1191
1191
|
case 0:
|
|
1192
1192
|
markName = this.performanceApi.mark('executeMutation');
|
|
1193
1193
|
_context12.t0 = mutation.mutationType;
|
|
1194
|
-
_context12.next = _context12.t0 === _cozyClient.MutationTypes.CREATE_DOCUMENT ? 4 : _context12.t0 === _cozyClient.MutationTypes.
|
|
1194
|
+
_context12.next = _context12.t0 === _cozyClient.MutationTypes.CREATE_DOCUMENT ? 4 : _context12.t0 === _cozyClient.MutationTypes.CREATE_DOCUMENTS ? 8 : _context12.t0 === _cozyClient.MutationTypes.UPDATE_DOCUMENT ? 12 : _context12.t0 === _cozyClient.MutationTypes.UPDATE_DOCUMENTS ? 16 : _context12.t0 === _cozyClient.MutationTypes.DELETE_DOCUMENT ? 20 : _context12.t0 === _cozyClient.MutationTypes.DELETE_DOCUMENTS ? 24 : _context12.t0 === _cozyClient.MutationTypes.ADD_REFERENCES_TO ? 28 : 32;
|
|
1195
1195
|
break;
|
|
1196
1196
|
|
|
1197
1197
|
case 4:
|
|
@@ -1200,44 +1200,60 @@ var PouchLink = /*#__PURE__*/function (_CozyLink) {
|
|
|
1200
1200
|
|
|
1201
1201
|
case 6:
|
|
1202
1202
|
pouchRes = _context12.sent;
|
|
1203
|
-
return _context12.abrupt("break",
|
|
1203
|
+
return _context12.abrupt("break", 33);
|
|
1204
1204
|
|
|
1205
1205
|
case 8:
|
|
1206
1206
|
_context12.next = 10;
|
|
1207
|
-
return this.
|
|
1207
|
+
return this.createDocuments(mutation);
|
|
1208
1208
|
|
|
1209
1209
|
case 10:
|
|
1210
1210
|
pouchRes = _context12.sent;
|
|
1211
|
-
return _context12.abrupt("break",
|
|
1211
|
+
return _context12.abrupt("break", 33);
|
|
1212
1212
|
|
|
1213
1213
|
case 12:
|
|
1214
1214
|
_context12.next = 14;
|
|
1215
|
-
return this.
|
|
1215
|
+
return this.updateDocument(mutation);
|
|
1216
1216
|
|
|
1217
1217
|
case 14:
|
|
1218
1218
|
pouchRes = _context12.sent;
|
|
1219
|
-
return _context12.abrupt("break",
|
|
1219
|
+
return _context12.abrupt("break", 33);
|
|
1220
1220
|
|
|
1221
1221
|
case 16:
|
|
1222
1222
|
_context12.next = 18;
|
|
1223
|
-
return this.
|
|
1223
|
+
return this.updateDocuments(mutation);
|
|
1224
1224
|
|
|
1225
1225
|
case 18:
|
|
1226
1226
|
pouchRes = _context12.sent;
|
|
1227
|
-
return _context12.abrupt("break",
|
|
1227
|
+
return _context12.abrupt("break", 33);
|
|
1228
1228
|
|
|
1229
1229
|
case 20:
|
|
1230
1230
|
_context12.next = 22;
|
|
1231
|
-
return this.
|
|
1231
|
+
return this.deleteDocument(mutation);
|
|
1232
1232
|
|
|
1233
1233
|
case 22:
|
|
1234
1234
|
pouchRes = _context12.sent;
|
|
1235
|
-
return _context12.abrupt("break",
|
|
1235
|
+
return _context12.abrupt("break", 33);
|
|
1236
1236
|
|
|
1237
1237
|
case 24:
|
|
1238
|
+
_context12.next = 26;
|
|
1239
|
+
return this.deleteDocuments(mutation);
|
|
1240
|
+
|
|
1241
|
+
case 26:
|
|
1242
|
+
pouchRes = _context12.sent;
|
|
1243
|
+
return _context12.abrupt("break", 33);
|
|
1244
|
+
|
|
1245
|
+
case 28:
|
|
1246
|
+
_context12.next = 30;
|
|
1247
|
+
return this.addReferencesTo(mutation);
|
|
1248
|
+
|
|
1249
|
+
case 30:
|
|
1250
|
+
pouchRes = _context12.sent;
|
|
1251
|
+
return _context12.abrupt("break", 33);
|
|
1252
|
+
|
|
1253
|
+
case 32:
|
|
1238
1254
|
return _context12.abrupt("return", forward(mutation, options, result));
|
|
1239
1255
|
|
|
1240
|
-
case
|
|
1256
|
+
case 33:
|
|
1241
1257
|
jsonResult = jsonapi.fromPouchResult({
|
|
1242
1258
|
res: pouchRes,
|
|
1243
1259
|
withRows: false,
|
|
@@ -1250,7 +1266,7 @@ var PouchLink = /*#__PURE__*/function (_CozyLink) {
|
|
|
1250
1266
|
});
|
|
1251
1267
|
return _context12.abrupt("return", jsonResult);
|
|
1252
1268
|
|
|
1253
|
-
case
|
|
1269
|
+
case 36:
|
|
1254
1270
|
case "end":
|
|
1255
1271
|
return _context12.stop();
|
|
1256
1272
|
}
|
|
@@ -1295,22 +1311,16 @@ var PouchLink = /*#__PURE__*/function (_CozyLink) {
|
|
|
1295
1311
|
return createDocument;
|
|
1296
1312
|
}()
|
|
1297
1313
|
}, {
|
|
1298
|
-
key: "
|
|
1314
|
+
key: "createDocuments",
|
|
1299
1315
|
value: function () {
|
|
1300
|
-
var
|
|
1301
|
-
var res;
|
|
1316
|
+
var _createDocuments = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee14(mutation) {
|
|
1302
1317
|
return _regenerator.default.wrap(function _callee14$(_context14) {
|
|
1303
1318
|
while (1) {
|
|
1304
1319
|
switch (_context14.prev = _context14.next) {
|
|
1305
1320
|
case 0:
|
|
1306
|
-
_context14.
|
|
1307
|
-
return this.dbMethod('put', mutation);
|
|
1321
|
+
return _context14.abrupt("return", this.bulkMutation(mutation));
|
|
1308
1322
|
|
|
1309
|
-
case
|
|
1310
|
-
res = _context14.sent;
|
|
1311
|
-
return _context14.abrupt("return", parseMutationResult(mutation.document, res));
|
|
1312
|
-
|
|
1313
|
-
case 4:
|
|
1323
|
+
case 1:
|
|
1314
1324
|
case "end":
|
|
1315
1325
|
return _context14.stop();
|
|
1316
1326
|
}
|
|
@@ -1318,55 +1328,61 @@ var PouchLink = /*#__PURE__*/function (_CozyLink) {
|
|
|
1318
1328
|
}, _callee14, this);
|
|
1319
1329
|
}));
|
|
1320
1330
|
|
|
1321
|
-
function
|
|
1322
|
-
return
|
|
1331
|
+
function createDocuments(_x17) {
|
|
1332
|
+
return _createDocuments.apply(this, arguments);
|
|
1323
1333
|
}
|
|
1324
1334
|
|
|
1325
|
-
return
|
|
1335
|
+
return createDocuments;
|
|
1326
1336
|
}()
|
|
1327
1337
|
}, {
|
|
1328
|
-
key: "
|
|
1338
|
+
key: "updateDocument",
|
|
1329
1339
|
value: function () {
|
|
1330
|
-
var
|
|
1331
|
-
var
|
|
1340
|
+
var _updateDocument = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee15(mutation) {
|
|
1341
|
+
var res;
|
|
1332
1342
|
return _regenerator.default.wrap(function _callee15$(_context15) {
|
|
1333
1343
|
while (1) {
|
|
1334
1344
|
switch (_context15.prev = _context15.next) {
|
|
1335
1345
|
case 0:
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
return this.dbMethod('bulkDocs', mutation);
|
|
1346
|
+
_context15.next = 2;
|
|
1347
|
+
return this.dbMethod('put', mutation);
|
|
1339
1348
|
|
|
1340
|
-
case
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
return _objectSpread(_objectSpread({}, originalDoc), {}, {
|
|
1344
|
-
_id: bulkResult.id,
|
|
1345
|
-
_rev: bulkResult.rev
|
|
1346
|
-
});
|
|
1347
|
-
});
|
|
1349
|
+
case 2:
|
|
1350
|
+
res = _context15.sent;
|
|
1351
|
+
return _context15.abrupt("return", parseMutationResult(mutation.document, res));
|
|
1348
1352
|
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
|
|
1353
|
+
case 4:
|
|
1354
|
+
case "end":
|
|
1355
|
+
return _context15.stop();
|
|
1356
|
+
}
|
|
1357
|
+
}
|
|
1358
|
+
}, _callee15, this);
|
|
1359
|
+
}));
|
|
1355
1360
|
|
|
1356
|
-
|
|
1361
|
+
function updateDocument(_x18) {
|
|
1362
|
+
return _updateDocument.apply(this, arguments);
|
|
1363
|
+
}
|
|
1357
1364
|
|
|
1358
|
-
|
|
1359
|
-
|
|
1365
|
+
return updateDocument;
|
|
1366
|
+
}()
|
|
1367
|
+
}, {
|
|
1368
|
+
key: "updateDocuments",
|
|
1369
|
+
value: function () {
|
|
1370
|
+
var _updateDocuments = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee16(mutation) {
|
|
1371
|
+
return _regenerator.default.wrap(function _callee16$(_context16) {
|
|
1372
|
+
while (1) {
|
|
1373
|
+
switch (_context16.prev = _context16.next) {
|
|
1374
|
+
case 0:
|
|
1375
|
+
return _context16.abrupt("return", this.bulkMutation(mutation));
|
|
1360
1376
|
|
|
1361
|
-
case
|
|
1377
|
+
case 1:
|
|
1362
1378
|
case "end":
|
|
1363
|
-
return
|
|
1379
|
+
return _context16.stop();
|
|
1364
1380
|
}
|
|
1365
1381
|
}
|
|
1366
|
-
},
|
|
1382
|
+
}, _callee16, this);
|
|
1367
1383
|
}));
|
|
1368
1384
|
|
|
1369
|
-
function updateDocuments(
|
|
1385
|
+
function updateDocuments(_x19) {
|
|
1370
1386
|
return _updateDocuments.apply(this, arguments);
|
|
1371
1387
|
}
|
|
1372
1388
|
|
|
@@ -1375,57 +1391,138 @@ var PouchLink = /*#__PURE__*/function (_CozyLink) {
|
|
|
1375
1391
|
}, {
|
|
1376
1392
|
key: "deleteDocument",
|
|
1377
1393
|
value: function () {
|
|
1378
|
-
var _deleteDocument = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
1394
|
+
var _deleteDocument = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee17(mutation) {
|
|
1379
1395
|
var res, document;
|
|
1380
|
-
return _regenerator.default.wrap(function
|
|
1396
|
+
return _regenerator.default.wrap(function _callee17$(_context17) {
|
|
1381
1397
|
while (1) {
|
|
1382
|
-
switch (
|
|
1398
|
+
switch (_context17.prev = _context17.next) {
|
|
1383
1399
|
case 0:
|
|
1384
|
-
|
|
1400
|
+
_context17.next = 2;
|
|
1385
1401
|
return this.dbMethod('remove', mutation);
|
|
1386
1402
|
|
|
1387
1403
|
case 2:
|
|
1388
|
-
res =
|
|
1404
|
+
res = _context17.sent;
|
|
1389
1405
|
document = _objectSpread(_objectSpread({}, mutation.document), {}, {
|
|
1390
1406
|
_id: res.id,
|
|
1391
1407
|
_rev: res.rev,
|
|
1392
1408
|
_deleted: true
|
|
1393
1409
|
});
|
|
1394
|
-
return
|
|
1410
|
+
return _context17.abrupt("return", parseMutationResult(document, res));
|
|
1395
1411
|
|
|
1396
1412
|
case 5:
|
|
1397
1413
|
case "end":
|
|
1398
|
-
return
|
|
1414
|
+
return _context17.stop();
|
|
1399
1415
|
}
|
|
1400
1416
|
}
|
|
1401
|
-
},
|
|
1417
|
+
}, _callee17, this);
|
|
1402
1418
|
}));
|
|
1403
1419
|
|
|
1404
|
-
function deleteDocument(
|
|
1420
|
+
function deleteDocument(_x20) {
|
|
1405
1421
|
return _deleteDocument.apply(this, arguments);
|
|
1406
1422
|
}
|
|
1407
1423
|
|
|
1408
1424
|
return deleteDocument;
|
|
1409
1425
|
}()
|
|
1426
|
+
}, {
|
|
1427
|
+
key: "deleteDocuments",
|
|
1428
|
+
value: function () {
|
|
1429
|
+
var _deleteDocuments = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee18(mutation) {
|
|
1430
|
+
var deletedDocs, deletedMutation;
|
|
1431
|
+
return _regenerator.default.wrap(function _callee18$(_context18) {
|
|
1432
|
+
while (1) {
|
|
1433
|
+
switch (_context18.prev = _context18.next) {
|
|
1434
|
+
case 0:
|
|
1435
|
+
deletedDocs = mutation.documents.map(function (doc) {
|
|
1436
|
+
return _objectSpread(_objectSpread({}, doc), {}, {
|
|
1437
|
+
_deleted: true
|
|
1438
|
+
});
|
|
1439
|
+
});
|
|
1440
|
+
deletedMutation = _objectSpread(_objectSpread({}, mutation), {}, {
|
|
1441
|
+
documents: deletedDocs
|
|
1442
|
+
});
|
|
1443
|
+
return _context18.abrupt("return", this.bulkMutation(deletedMutation));
|
|
1444
|
+
|
|
1445
|
+
case 3:
|
|
1446
|
+
case "end":
|
|
1447
|
+
return _context18.stop();
|
|
1448
|
+
}
|
|
1449
|
+
}
|
|
1450
|
+
}, _callee18, this);
|
|
1451
|
+
}));
|
|
1452
|
+
|
|
1453
|
+
function deleteDocuments(_x21) {
|
|
1454
|
+
return _deleteDocuments.apply(this, arguments);
|
|
1455
|
+
}
|
|
1456
|
+
|
|
1457
|
+
return deleteDocuments;
|
|
1458
|
+
}()
|
|
1459
|
+
}, {
|
|
1460
|
+
key: "bulkMutation",
|
|
1461
|
+
value: function () {
|
|
1462
|
+
var _bulkMutation = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee19(mutation) {
|
|
1463
|
+
var docs, bulkResponse, bulkDocs;
|
|
1464
|
+
return _regenerator.default.wrap(function _callee19$(_context19) {
|
|
1465
|
+
while (1) {
|
|
1466
|
+
switch (_context19.prev = _context19.next) {
|
|
1467
|
+
case 0:
|
|
1468
|
+
docs = mutation.documents;
|
|
1469
|
+
_context19.next = 3;
|
|
1470
|
+
return this.dbMethod('bulkDocs', mutation);
|
|
1471
|
+
|
|
1472
|
+
case 3:
|
|
1473
|
+
bulkResponse = _context19.sent;
|
|
1474
|
+
bulkDocs = (0, _zipWith.default)(bulkResponse, docs, function (bulkResult, originalDoc) {
|
|
1475
|
+
return _objectSpread(_objectSpread({}, originalDoc), {}, {
|
|
1476
|
+
_id: bulkResult.id,
|
|
1477
|
+
_rev: bulkResult.rev
|
|
1478
|
+
});
|
|
1479
|
+
});
|
|
1480
|
+
|
|
1481
|
+
if (!bulkResponse.find(function (x) {
|
|
1482
|
+
return !x.ok;
|
|
1483
|
+
})) {
|
|
1484
|
+
_context19.next = 7;
|
|
1485
|
+
break;
|
|
1486
|
+
}
|
|
1487
|
+
|
|
1488
|
+
throw new _cozyClient.BulkEditError(bulkResponse, bulkDocs);
|
|
1489
|
+
|
|
1490
|
+
case 7:
|
|
1491
|
+
return _context19.abrupt("return", bulkDocs);
|
|
1492
|
+
|
|
1493
|
+
case 8:
|
|
1494
|
+
case "end":
|
|
1495
|
+
return _context19.stop();
|
|
1496
|
+
}
|
|
1497
|
+
}
|
|
1498
|
+
}, _callee19, this);
|
|
1499
|
+
}));
|
|
1500
|
+
|
|
1501
|
+
function bulkMutation(_x22) {
|
|
1502
|
+
return _bulkMutation.apply(this, arguments);
|
|
1503
|
+
}
|
|
1504
|
+
|
|
1505
|
+
return bulkMutation;
|
|
1506
|
+
}()
|
|
1410
1507
|
}, {
|
|
1411
1508
|
key: "addReferencesTo",
|
|
1412
1509
|
value: function () {
|
|
1413
|
-
var _addReferencesTo = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
1414
|
-
return _regenerator.default.wrap(function
|
|
1510
|
+
var _addReferencesTo = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee20(mutation) {
|
|
1511
|
+
return _regenerator.default.wrap(function _callee20$(_context20) {
|
|
1415
1512
|
while (1) {
|
|
1416
|
-
switch (
|
|
1513
|
+
switch (_context20.prev = _context20.next) {
|
|
1417
1514
|
case 0:
|
|
1418
1515
|
throw new Error('addReferencesTo is not implemented in CozyPouchLink');
|
|
1419
1516
|
|
|
1420
1517
|
case 1:
|
|
1421
1518
|
case "end":
|
|
1422
|
-
return
|
|
1519
|
+
return _context20.stop();
|
|
1423
1520
|
}
|
|
1424
1521
|
}
|
|
1425
|
-
},
|
|
1522
|
+
}, _callee20);
|
|
1426
1523
|
}));
|
|
1427
1524
|
|
|
1428
|
-
function addReferencesTo(
|
|
1525
|
+
function addReferencesTo(_x23) {
|
|
1429
1526
|
return _addReferencesTo.apply(this, arguments);
|
|
1430
1527
|
}
|
|
1431
1528
|
|
|
@@ -1434,45 +1531,45 @@ var PouchLink = /*#__PURE__*/function (_CozyLink) {
|
|
|
1434
1531
|
}, {
|
|
1435
1532
|
key: "dbMethod",
|
|
1436
1533
|
value: function () {
|
|
1437
|
-
var _dbMethod = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
1534
|
+
var _dbMethod = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee21(method, mutation) {
|
|
1438
1535
|
var markName, doctype, doc, docs, db, res;
|
|
1439
|
-
return _regenerator.default.wrap(function
|
|
1536
|
+
return _regenerator.default.wrap(function _callee21$(_context21) {
|
|
1440
1537
|
while (1) {
|
|
1441
|
-
switch (
|
|
1538
|
+
switch (_context21.prev = _context21.next) {
|
|
1442
1539
|
case 0:
|
|
1443
1540
|
markName = this.performanceApi.mark("dbMethod ".concat(method));
|
|
1444
1541
|
doctype = (0, _cozyClient.getDoctypeFromOperation)(mutation);
|
|
1445
1542
|
doc = mutation.document, docs = mutation.documents;
|
|
1446
1543
|
db = this.getPouch(doctype);
|
|
1447
|
-
|
|
1544
|
+
_context21.prev = 4;
|
|
1448
1545
|
|
|
1449
1546
|
if (!docs) {
|
|
1450
|
-
|
|
1547
|
+
_context21.next = 11;
|
|
1451
1548
|
break;
|
|
1452
1549
|
}
|
|
1453
1550
|
|
|
1454
|
-
|
|
1551
|
+
_context21.next = 8;
|
|
1455
1552
|
return db[method](docs.map(function (doc) {
|
|
1456
1553
|
return (0, jsonapi.sanitized)(doc);
|
|
1457
1554
|
}));
|
|
1458
1555
|
|
|
1459
1556
|
case 8:
|
|
1460
|
-
res =
|
|
1461
|
-
|
|
1557
|
+
res = _context21.sent;
|
|
1558
|
+
_context21.next = 18;
|
|
1462
1559
|
break;
|
|
1463
1560
|
|
|
1464
1561
|
case 11:
|
|
1465
1562
|
if (!doc) {
|
|
1466
|
-
|
|
1563
|
+
_context21.next = 17;
|
|
1467
1564
|
break;
|
|
1468
1565
|
}
|
|
1469
1566
|
|
|
1470
|
-
|
|
1567
|
+
_context21.next = 14;
|
|
1471
1568
|
return db[method]((0, jsonapi.sanitized)(doc));
|
|
1472
1569
|
|
|
1473
1570
|
case 14:
|
|
1474
|
-
res =
|
|
1475
|
-
|
|
1571
|
+
res = _context21.sent;
|
|
1572
|
+
_context21.next = 18;
|
|
1476
1573
|
break;
|
|
1477
1574
|
|
|
1478
1575
|
case 17:
|
|
@@ -1483,28 +1580,28 @@ var PouchLink = /*#__PURE__*/function (_CozyLink) {
|
|
|
1483
1580
|
markName: markName,
|
|
1484
1581
|
category: 'PouchDB'
|
|
1485
1582
|
});
|
|
1486
|
-
return
|
|
1583
|
+
return _context21.abrupt("return", res);
|
|
1487
1584
|
|
|
1488
1585
|
case 22:
|
|
1489
|
-
|
|
1490
|
-
|
|
1586
|
+
_context21.prev = 22;
|
|
1587
|
+
_context21.t0 = _context21["catch"](4);
|
|
1491
1588
|
this.performanceApi.measure({
|
|
1492
1589
|
markName: markName,
|
|
1493
1590
|
measureName: "".concat(markName, " error"),
|
|
1494
1591
|
category: 'PouchDB',
|
|
1495
1592
|
color: 'error'
|
|
1496
1593
|
});
|
|
1497
|
-
throw new Error("Coud not apply mutation: ".concat(
|
|
1594
|
+
throw new Error("Coud not apply mutation: ".concat(_context21.t0.message));
|
|
1498
1595
|
|
|
1499
1596
|
case 26:
|
|
1500
1597
|
case "end":
|
|
1501
|
-
return
|
|
1598
|
+
return _context21.stop();
|
|
1502
1599
|
}
|
|
1503
1600
|
}
|
|
1504
|
-
},
|
|
1601
|
+
}, _callee21, this, [[4, 22]]);
|
|
1505
1602
|
}));
|
|
1506
1603
|
|
|
1507
|
-
function dbMethod(
|
|
1604
|
+
function dbMethod(_x24, _x25) {
|
|
1508
1605
|
return _dbMethod.apply(this, arguments);
|
|
1509
1606
|
}
|
|
1510
1607
|
|
|
@@ -1513,29 +1610,29 @@ var PouchLink = /*#__PURE__*/function (_CozyLink) {
|
|
|
1513
1610
|
}, {
|
|
1514
1611
|
key: "syncImmediately",
|
|
1515
1612
|
value: function () {
|
|
1516
|
-
var _syncImmediately = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
1517
|
-
return _regenerator.default.wrap(function
|
|
1613
|
+
var _syncImmediately = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee22() {
|
|
1614
|
+
return _regenerator.default.wrap(function _callee22$(_context22) {
|
|
1518
1615
|
while (1) {
|
|
1519
|
-
switch (
|
|
1616
|
+
switch (_context22.prev = _context22.next) {
|
|
1520
1617
|
case 0:
|
|
1521
1618
|
if (this.pouches) {
|
|
1522
|
-
|
|
1619
|
+
_context22.next = 3;
|
|
1523
1620
|
break;
|
|
1524
1621
|
}
|
|
1525
1622
|
|
|
1526
1623
|
_logger.default.warn('Cannot sync immediately, no PouchManager');
|
|
1527
1624
|
|
|
1528
|
-
return
|
|
1625
|
+
return _context22.abrupt("return");
|
|
1529
1626
|
|
|
1530
1627
|
case 3:
|
|
1531
1628
|
this.pouches.syncImmediately();
|
|
1532
1629
|
|
|
1533
1630
|
case 4:
|
|
1534
1631
|
case "end":
|
|
1535
|
-
return
|
|
1632
|
+
return _context22.stop();
|
|
1536
1633
|
}
|
|
1537
1634
|
}
|
|
1538
|
-
},
|
|
1635
|
+
}, _callee22, this);
|
|
1539
1636
|
}));
|
|
1540
1637
|
|
|
1541
1638
|
function syncImmediately() {
|
|
@@ -15,6 +15,7 @@ import { SCHEMA, TODO_1, TODO_2, TODO_3, TODO_4 } from './__tests__/fixtures'
|
|
|
15
15
|
import PouchDB from 'pouchdb-browser'
|
|
16
16
|
import PouchDBMemoryAdapterPlugin from 'pouchdb-adapter-memory'
|
|
17
17
|
import CozyClient, { Q } from 'cozy-client'
|
|
18
|
+
import { MutationTypes } from 'cozy-client/dist'
|
|
18
19
|
|
|
19
20
|
// Necessary to have the memory adapter for the tests since neither
|
|
20
21
|
// IndexedDB nor WebSQL adapter can be used in Jest
|
|
@@ -360,6 +361,70 @@ describe('CozyPouchLink', () => {
|
|
|
360
361
|
})
|
|
361
362
|
})
|
|
362
363
|
|
|
364
|
+
it('should be possible to create multiple documents', async () => {
|
|
365
|
+
await setup()
|
|
366
|
+
link.pouches.getSyncStatus = jest.fn().mockReturnValue('synced')
|
|
367
|
+
const docs = [
|
|
368
|
+
{
|
|
369
|
+
label: 'doc1',
|
|
370
|
+
_type: 'io.cozy.todos'
|
|
371
|
+
},
|
|
372
|
+
{ _type: 'io.cozy.todos', label: 'doc2' }
|
|
373
|
+
]
|
|
374
|
+
const mutation = {
|
|
375
|
+
mutationType: MutationTypes.CREATE_DOCUMENTS,
|
|
376
|
+
documents: docs
|
|
377
|
+
}
|
|
378
|
+
const res = await link.request(mutation)
|
|
379
|
+
|
|
380
|
+
expect(res).toMatchObject({
|
|
381
|
+
data: [
|
|
382
|
+
expect.objectContaining({
|
|
383
|
+
label: 'doc1',
|
|
384
|
+
_rev: expect.any(String),
|
|
385
|
+
_id: expect.any(String)
|
|
386
|
+
}),
|
|
387
|
+
expect.objectContaining({
|
|
388
|
+
label: 'doc2',
|
|
389
|
+
_rev: expect.any(String),
|
|
390
|
+
_id: expect.any(String)
|
|
391
|
+
})
|
|
392
|
+
]
|
|
393
|
+
})
|
|
394
|
+
})
|
|
395
|
+
|
|
396
|
+
it('should be possible to delete multiple documents', async () => {
|
|
397
|
+
await setup()
|
|
398
|
+
link.pouches.getSyncStatus = jest.fn().mockReturnValue('synced')
|
|
399
|
+
const docs = [
|
|
400
|
+
{
|
|
401
|
+
_id: '1',
|
|
402
|
+
_type: 'io.cozy.todos'
|
|
403
|
+
},
|
|
404
|
+
{ _id: '2', _type: 'io.cozy.todos' }
|
|
405
|
+
]
|
|
406
|
+
const mutation = {
|
|
407
|
+
mutationType: MutationTypes.DELETE_DOCUMENTS,
|
|
408
|
+
documents: docs
|
|
409
|
+
}
|
|
410
|
+
const res = await link.request(mutation)
|
|
411
|
+
|
|
412
|
+
expect(res).toMatchObject({
|
|
413
|
+
data: [
|
|
414
|
+
expect.objectContaining({
|
|
415
|
+
_deleted: true,
|
|
416
|
+
_rev: expect.any(String),
|
|
417
|
+
_id: '1'
|
|
418
|
+
}),
|
|
419
|
+
expect.objectContaining({
|
|
420
|
+
_deleted: true,
|
|
421
|
+
_rev: expect.any(String),
|
|
422
|
+
_id: '2'
|
|
423
|
+
})
|
|
424
|
+
]
|
|
425
|
+
})
|
|
426
|
+
})
|
|
427
|
+
|
|
363
428
|
it('should throw with BulkEditError in case of partial success when saving multiple documents', async () => {
|
|
364
429
|
await setup()
|
|
365
430
|
link.dbMethod = method => {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cozy-pouch-link",
|
|
3
|
-
"version": "59.
|
|
3
|
+
"version": "59.1.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "types/index.d.ts",
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"url": "git+https://github.com/cozy/cozy-client.git"
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"cozy-client": "^59.
|
|
16
|
+
"cozy-client": "^59.1.0",
|
|
17
17
|
"pouchdb-browser": "^7.2.2",
|
|
18
18
|
"pouchdb-find": "^7.2.2"
|
|
19
19
|
},
|
|
@@ -41,5 +41,5 @@
|
|
|
41
41
|
"typecheck": "tsc -p tsconfig.json"
|
|
42
42
|
},
|
|
43
43
|
"sideEffects": false,
|
|
44
|
-
"gitHead": "
|
|
44
|
+
"gitHead": "b1b84902b2139a368f54b6ffaee654fe6cb1b03e"
|
|
45
45
|
}
|
package/types/CozyPouchLink.d.ts
CHANGED
|
@@ -229,9 +229,12 @@ declare class PouchLink extends CozyLink {
|
|
|
229
229
|
}): Promise<any>;
|
|
230
230
|
executeMutation(mutation: any, options: any, result: any, forward: any): Promise<any>;
|
|
231
231
|
createDocument(mutation: any): Promise<any>;
|
|
232
|
+
createDocuments(mutation: any): Promise<any[]>;
|
|
232
233
|
updateDocument(mutation: any): Promise<any>;
|
|
233
234
|
updateDocuments(mutation: any): Promise<any[]>;
|
|
234
235
|
deleteDocument(mutation: any): Promise<any>;
|
|
236
|
+
deleteDocuments(mutation: any): Promise<any[]>;
|
|
237
|
+
bulkMutation(mutation: any): Promise<any[]>;
|
|
235
238
|
addReferencesTo(mutation: any): Promise<void>;
|
|
236
239
|
dbMethod(method: any, mutation: any): Promise<any>;
|
|
237
240
|
syncImmediately(): Promise<void>;
|