@webda/core 2.0.0-beta.0 → 2.0.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (229) hide show
  1. package/lib/application.d.ts +40 -18
  2. package/lib/application.js +20 -6
  3. package/lib/application.js.map +1 -1
  4. package/lib/application.spec.js +12 -0
  5. package/lib/application.spec.js.map +1 -1
  6. package/lib/core.d.ts +69 -19
  7. package/lib/core.js +90 -38
  8. package/lib/core.js.map +1 -1
  9. package/lib/core.spec.js +42 -35
  10. package/lib/core.spec.js.map +1 -1
  11. package/lib/index.d.ts +4 -0
  12. package/lib/index.js +5 -0
  13. package/lib/index.js.map +1 -1
  14. package/lib/models/aclmodel.js +3 -2
  15. package/lib/models/aclmodel.js.map +1 -1
  16. package/lib/models/aclmodel.spec.js +7 -4
  17. package/lib/models/aclmodel.spec.js.map +1 -1
  18. package/lib/models/coremodel.d.ts +82 -9
  19. package/lib/models/coremodel.js +49 -0
  20. package/lib/models/coremodel.js.map +1 -1
  21. package/lib/models/coremodel.spec.js +21 -2
  22. package/lib/models/coremodel.spec.js.map +1 -1
  23. package/lib/models/ident.d.ts +4 -2
  24. package/lib/models/ident.js.map +1 -1
  25. package/lib/models/ident.spec.js +1 -1
  26. package/lib/models/ident.spec.js.map +1 -1
  27. package/lib/models/ownermodel.d.ts +11 -1
  28. package/lib/models/ownermodel.js +16 -1
  29. package/lib/models/ownermodel.js.map +1 -1
  30. package/lib/models/ownermodel.spec.js +32 -13
  31. package/lib/models/ownermodel.spec.js.map +1 -1
  32. package/lib/models/rolemodel.d.ts +1 -1
  33. package/lib/models/rolemodel.spec.js +3 -1
  34. package/lib/models/rolemodel.spec.js.map +1 -1
  35. package/lib/models/user.d.ts +3 -3
  36. package/lib/models/user.js.map +1 -1
  37. package/lib/models/user.spec.js +1 -1
  38. package/lib/models/user.spec.js.map +1 -1
  39. package/lib/queues/filequeue.js +2 -2
  40. package/lib/queues/filequeue.js.map +1 -1
  41. package/lib/queues/filequeue.spec.js +2 -2
  42. package/lib/queues/filequeue.spec.js.map +1 -1
  43. package/lib/queues/memoryqueue.spec.js +1 -1
  44. package/lib/queues/memoryqueue.spec.js.map +1 -1
  45. package/lib/queues/queue.spec.js +1 -1
  46. package/lib/queues/queue.spec.js.map +1 -1
  47. package/lib/queues/queueservice.d.ts +2 -2
  48. package/lib/queues/queueservice.js +1 -0
  49. package/lib/queues/queueservice.js.map +1 -1
  50. package/lib/router.d.ts +6 -1
  51. package/lib/router.js +3 -12
  52. package/lib/router.js.map +1 -1
  53. package/lib/router.spec.js +5 -5
  54. package/lib/router.spec.js.map +1 -1
  55. package/lib/services/asyncevents.spec.js +2 -2
  56. package/lib/services/asyncevents.spec.js.map +1 -1
  57. package/lib/services/authentication.d.ts +33 -14
  58. package/lib/services/authentication.js +24 -36
  59. package/lib/services/authentication.js.map +1 -1
  60. package/lib/services/authentication.spec.js +16 -16
  61. package/lib/services/authentication.spec.js.map +1 -1
  62. package/lib/services/binary.d.ts +3 -3
  63. package/lib/services/binary.js +24 -17
  64. package/lib/services/binary.js.map +1 -1
  65. package/lib/services/binary.spec.d.ts +1 -1
  66. package/lib/services/binary.spec.js +5 -5
  67. package/lib/services/binary.spec.js.map +1 -1
  68. package/lib/services/cloudbinary.d.ts +2 -2
  69. package/lib/services/cloudbinary.js +3 -3
  70. package/lib/services/cloudbinary.js.map +1 -1
  71. package/lib/services/cloudbinary.spec.js +8 -1
  72. package/lib/services/cloudbinary.spec.js.map +1 -1
  73. package/lib/services/configuration.d.ts +5 -2
  74. package/lib/services/configuration.js +4 -2
  75. package/lib/services/configuration.js.map +1 -1
  76. package/lib/services/configuration.spec.js +2 -2
  77. package/lib/services/configuration.spec.js.map +1 -1
  78. package/lib/services/cron.d.ts +1 -1
  79. package/lib/services/cron.js +1 -1
  80. package/lib/services/cron.js.map +1 -1
  81. package/lib/services/cron.spec.js +3 -3
  82. package/lib/services/cron.spec.js.map +1 -1
  83. package/lib/services/cryptoservice.d.ts +253 -0
  84. package/lib/services/cryptoservice.js +346 -0
  85. package/lib/services/cryptoservice.js.map +1 -0
  86. package/lib/services/cryptoservice.spec.d.ts +1 -0
  87. package/lib/services/cryptoservice.spec.js +164 -0
  88. package/lib/services/cryptoservice.spec.js.map +1 -0
  89. package/lib/services/debugmailer.spec.js +1 -1
  90. package/lib/services/debugmailer.spec.js.map +1 -1
  91. package/lib/services/echo.d.ts +1 -1
  92. package/lib/services/echo.spec.js +3 -3
  93. package/lib/services/echo.spec.js.map +1 -1
  94. package/lib/services/filebinary.d.ts +16 -6
  95. package/lib/services/filebinary.js +45 -22
  96. package/lib/services/filebinary.js.map +1 -1
  97. package/lib/services/filebinary.spec.js +7 -11
  98. package/lib/services/filebinary.spec.js.map +1 -1
  99. package/lib/services/fileconfiguration.d.ts +1 -1
  100. package/lib/services/fileconfiguration.js +3 -2
  101. package/lib/services/fileconfiguration.js.map +1 -1
  102. package/lib/services/fileconfiguration.spec.js +2 -2
  103. package/lib/services/fileconfiguration.spec.js.map +1 -1
  104. package/lib/services/invitationservice.d.ts +28 -6
  105. package/lib/services/invitationservice.js +8 -5
  106. package/lib/services/invitationservice.js.map +1 -1
  107. package/lib/services/invitationservice.spec.js +4 -4
  108. package/lib/services/invitationservice.spec.js.map +1 -1
  109. package/lib/services/kubernetesconfiguration.d.ts +1 -1
  110. package/lib/services/kubernetesconfiguration.js +3 -2
  111. package/lib/services/kubernetesconfiguration.js.map +1 -1
  112. package/lib/services/kubernetesconfiguration.spec.js +4 -4
  113. package/lib/services/kubernetesconfiguration.spec.js.map +1 -1
  114. package/lib/services/mailer.js.map +1 -1
  115. package/lib/services/mailer.spec.js +3 -3
  116. package/lib/services/mailer.spec.js.map +1 -1
  117. package/lib/services/notificationservice.d.ts +1 -1
  118. package/lib/services/notificationservice.js +2 -0
  119. package/lib/services/notificationservice.js.map +1 -1
  120. package/lib/services/notificationservice.spec.js +2 -2
  121. package/lib/services/notificationservice.spec.js.map +1 -1
  122. package/lib/services/oauth.d.ts +30 -4
  123. package/lib/services/oauth.js +19 -10
  124. package/lib/services/oauth.js.map +1 -1
  125. package/lib/services/oauth.spec.js +30 -23
  126. package/lib/services/oauth.spec.js.map +1 -1
  127. package/lib/services/proxy.d.ts +78 -0
  128. package/lib/services/proxy.js +139 -0
  129. package/lib/services/proxy.js.map +1 -0
  130. package/lib/services/proxy.spec.d.ts +1 -0
  131. package/lib/services/proxy.spec.js +78 -0
  132. package/lib/services/proxy.spec.js.map +1 -0
  133. package/lib/services/resource.d.ts +17 -0
  134. package/lib/services/resource.js +20 -6
  135. package/lib/services/resource.js.map +1 -1
  136. package/lib/services/resource.spec.js +4 -3
  137. package/lib/services/resource.spec.js.map +1 -1
  138. package/lib/services/service.d.ts +10 -7
  139. package/lib/services/service.js +7 -3
  140. package/lib/services/service.js.map +1 -1
  141. package/lib/services/service.spec.js +2 -2
  142. package/lib/services/service.spec.js.map +1 -1
  143. package/lib/services/version.d.ts +1 -1
  144. package/lib/services/version.spec.js +1 -1
  145. package/lib/services/version.spec.js.map +1 -1
  146. package/lib/stores/aggregator.d.ts +1 -1
  147. package/lib/stores/aggregator.js +1 -0
  148. package/lib/stores/aggregator.js.map +1 -1
  149. package/lib/stores/file.d.ts +9 -1
  150. package/lib/stores/file.js +7 -4
  151. package/lib/stores/file.js.map +1 -1
  152. package/lib/stores/file.spec.d.ts +3 -1
  153. package/lib/stores/file.spec.js +30 -7
  154. package/lib/stores/file.spec.js.map +1 -1
  155. package/lib/stores/mapper.d.ts +1 -1
  156. package/lib/stores/mapper.js +2 -0
  157. package/lib/stores/mapper.js.map +1 -1
  158. package/lib/stores/mapper.spec.js +1 -1
  159. package/lib/stores/mapper.spec.js.map +1 -1
  160. package/lib/stores/memory.d.ts +65 -4
  161. package/lib/stores/memory.js +85 -1
  162. package/lib/stores/memory.js.map +1 -1
  163. package/lib/stores/memory.spec.d.ts +2 -1
  164. package/lib/stores/memory.spec.js +47 -4
  165. package/lib/stores/memory.spec.js.map +1 -1
  166. package/lib/stores/store.d.ts +27 -5
  167. package/lib/stores/store.js +107 -22
  168. package/lib/stores/store.js.map +1 -1
  169. package/lib/stores/store.spec.d.ts +4 -3
  170. package/lib/stores/store.spec.js +37 -14
  171. package/lib/stores/store.spec.js.map +1 -1
  172. package/lib/stores/webdaql/WebdaQLLexer.js +2 -2
  173. package/lib/stores/webdaql/WebdaQLLexer.js.map +1 -1
  174. package/lib/stores/webdaql/WebdaQLParserLexer.js +2 -2
  175. package/lib/stores/webdaql/WebdaQLParserLexer.js.map +1 -1
  176. package/lib/stores/webdaql/WebdaQLParserListener.d.ts +1 -25
  177. package/lib/stores/webdaql/WebdaQLParserParser.d.ts +1 -1
  178. package/lib/stores/webdaql/WebdaQLParserParser.js +2 -2
  179. package/lib/stores/webdaql/WebdaQLParserParser.js.map +1 -1
  180. package/lib/stores/webdaql/WebdaQLParserVisitor.d.ts +1 -25
  181. package/lib/stores/webdaql/query.d.ts +3 -3
  182. package/lib/stores/webdaql/query.js +4 -4
  183. package/lib/stores/webdaql/query.js.map +1 -1
  184. package/lib/stores/webdaql/query.spec.js +1 -1
  185. package/lib/stores/webdaql/query.spec.js.map +1 -1
  186. package/lib/test.d.ts +6 -8
  187. package/lib/test.js +12 -18
  188. package/lib/test.js.map +1 -1
  189. package/lib/unpackedapplication.js +24 -7
  190. package/lib/unpackedapplication.js.map +1 -1
  191. package/lib/utils/abstractdeployer.spec.js +1 -1
  192. package/lib/utils/abstractdeployer.spec.js.map +1 -1
  193. package/lib/utils/context.d.ts +61 -73
  194. package/lib/utils/context.js +81 -159
  195. package/lib/utils/context.js.map +1 -1
  196. package/lib/utils/context.spec.js +79 -40
  197. package/lib/utils/context.spec.js.map +1 -1
  198. package/lib/utils/cookie.d.ts +65 -44
  199. package/lib/utils/cookie.js +75 -145
  200. package/lib/utils/cookie.js.map +1 -1
  201. package/lib/utils/cookie.spec.js +203 -199
  202. package/lib/utils/cookie.spec.js.map +1 -1
  203. package/lib/utils/httpcontext.d.ts +182 -0
  204. package/lib/utils/httpcontext.js +325 -0
  205. package/lib/utils/httpcontext.js.map +1 -0
  206. package/lib/utils/httpcontext.spec.d.ts +5 -0
  207. package/lib/utils/httpcontext.spec.js +90 -0
  208. package/lib/utils/httpcontext.spec.js.map +1 -0
  209. package/lib/utils/logger.d.ts +2 -2
  210. package/lib/utils/logger.js +1 -1
  211. package/lib/utils/logger.js.map +1 -1
  212. package/lib/utils/logger.spec.js.map +1 -1
  213. package/lib/utils/serializers.js +1 -1
  214. package/lib/utils/serializers.js.map +1 -1
  215. package/lib/utils/serializers.spec.js +3 -3
  216. package/lib/utils/serializers.spec.js.map +1 -1
  217. package/lib/utils/session.d.ts +120 -0
  218. package/lib/utils/session.js +177 -0
  219. package/lib/utils/session.js.map +1 -0
  220. package/lib/utils/session.spec.d.ts +1 -0
  221. package/lib/utils/session.spec.js +79 -0
  222. package/lib/utils/session.spec.js.map +1 -0
  223. package/lib/utils/waiter.js.map +1 -1
  224. package/lib/utils/waiter.spec.js +2 -2
  225. package/lib/utils/waiter.spec.js.map +1 -1
  226. package/package.json +10 -7
  227. package/test/config.json +4 -2
  228. package/test/models/task.js +0 -1
  229. package/webda.module.json +3 -2
@@ -147,8 +147,11 @@ class Store extends service_1.Service {
147
147
  this._lastUpdateField = this._model.getLastUpdateField();
148
148
  this._creationDateField = this._model.getCreationField();
149
149
  (_a = this._cacheStore) === null || _a === void 0 ? void 0 : _a.computeParameters();
150
+ this.cacheStorePatchException();
151
+ }
152
+ logSlowQuery(_query, _reason, _time) {
153
+ // TODO Need to implement: https://github.com/loopingz/webda.io/issues/202
150
154
  }
151
- logSlowQuery(query, reason, time) { }
152
155
  /**
153
156
  * Return Store current model
154
157
  * @returns
@@ -387,6 +390,35 @@ class Store extends service_1.Service {
387
390
  getUrl() {
388
391
  return this.parameters.expose.url;
389
392
  }
393
+ /**
394
+ * We should ignore exception from the store
395
+ */
396
+ cacheStorePatchException() {
397
+ if (!this._cacheStore) {
398
+ return;
399
+ }
400
+ const replacer = original => {
401
+ return (...args) => {
402
+ return original
403
+ .bind(this._cacheStore, ...args)()
404
+ .catch(err => {
405
+ this.log("TRACE", `Ignoring cache exception ${this._name}: ${err.message}`);
406
+ });
407
+ };
408
+ };
409
+ for (let i of [
410
+ "_get",
411
+ "_patch",
412
+ "_update",
413
+ "_delete",
414
+ "_incrementAttribute",
415
+ "_upsertItemToCollection",
416
+ "_deleteItemFromCollection",
417
+ "_removeAttribute"
418
+ ]) {
419
+ this._cacheStore[i] = replacer(this._cacheStore[i]);
420
+ }
421
+ }
390
422
  /**
391
423
  * Init a model from the current stored data
392
424
  *
@@ -400,9 +432,7 @@ class Store extends service_1.Service {
400
432
  var _b;
401
433
  // Make sure to send a model object
402
434
  if (!(object instanceof this._model)) {
403
- let model = new this._model();
404
- model.load(object, true);
405
- object = model;
435
+ object = this._model.factory(this._model, object);
406
436
  }
407
437
  if (!object.getUuid()) {
408
438
  object.setUuid(object.generateUid(object));
@@ -506,7 +536,22 @@ class Store extends service_1.Service {
506
536
  */
507
537
  query(query, context) {
508
538
  return __awaiter(this, void 0, void 0, function* () {
509
- let queryValidator = new query_1.WebdaQL.QueryValidator(query);
539
+ let permissionQuery = this._model.getPermissionQuery(context);
540
+ let partialPermission = true;
541
+ let fullQuery;
542
+ if (permissionQuery) {
543
+ partialPermission = permissionQuery.partial;
544
+ if (query.trim() !== "") {
545
+ fullQuery = `(${permissionQuery.query}) AND ${query}`;
546
+ }
547
+ else {
548
+ fullQuery = permissionQuery.query;
549
+ }
550
+ }
551
+ else {
552
+ fullQuery = query;
553
+ }
554
+ let queryValidator = new query_1.WebdaQL.QueryValidator(fullQuery);
510
555
  let offset = queryValidator.getOffset();
511
556
  const limit = queryValidator.getLimit();
512
557
  const parsedQuery = queryValidator.getQuery();
@@ -514,7 +559,8 @@ class Store extends service_1.Service {
514
559
  yield this.emitSync("Store.Query", {
515
560
  query,
516
561
  parsedQuery,
517
- store: this
562
+ store: this,
563
+ context
518
564
  });
519
565
  const result = {
520
566
  results: [],
@@ -551,7 +597,7 @@ class Store extends service_1.Service {
551
597
  if (tmpResults.filter !== true && !tmpResults.filter.eval(item)) {
552
598
  continue;
553
599
  }
554
- if (context) {
600
+ if (context && partialPermission) {
555
601
  try {
556
602
  yield item.canAct(context, "get");
557
603
  }
@@ -589,7 +635,8 @@ class Store extends service_1.Service {
589
635
  parsedQuery: parsedQuery,
590
636
  store: this,
591
637
  continuationToken: result.continuationToken,
592
- results: result.results
638
+ results: result.results,
639
+ context
593
640
  });
594
641
  return result;
595
642
  });
@@ -604,7 +651,7 @@ class Store extends service_1.Service {
604
651
  query = ctx.getParameters().q;
605
652
  }
606
653
  else {
607
- query = ctx.getRequestBody().q;
654
+ query = (yield ctx.getRequestBody()).q;
608
655
  }
609
656
  try {
610
657
  ctx.write(yield this.query(query, ctx));
@@ -640,7 +687,8 @@ class Store extends service_1.Service {
640
687
  }
641
688
  yield this.emitSync("Store.Save", {
642
689
  object: object,
643
- store: this
690
+ store: this,
691
+ context: ctx
644
692
  });
645
693
  // Handle object auto listener
646
694
  yield object._onSave();
@@ -650,7 +698,8 @@ class Store extends service_1.Service {
650
698
  object = this.initModel(res);
651
699
  yield this.emitSync("Store.Saved", {
652
700
  object: object,
653
- store: this
701
+ store: this,
702
+ context: ctx
654
703
  });
655
704
  yield object._onSaved();
656
705
  return object;
@@ -701,6 +750,29 @@ class Store extends service_1.Service {
701
750
  throw new UpdateConditionFailError(model.getUuid(), `${collection}[${index}].${conditionField}`, condition);
702
751
  }
703
752
  }
753
+ /**
754
+ * Update conditionally
755
+ * @param uuid
756
+ * @param updates
757
+ * @param conditionField
758
+ * @param condition
759
+ */
760
+ conditionalPatch(uuid, updates, conditionField, condition) {
761
+ var _a;
762
+ return __awaiter(this, void 0, void 0, function* () {
763
+ try {
764
+ yield this._patch(updates, uuid, condition, conditionField);
765
+ yield ((_a = this._cacheStore) === null || _a === void 0 ? void 0 : _a.patch(Object.assign({ uuid }, updates)));
766
+ return true;
767
+ }
768
+ catch (err) {
769
+ if (err instanceof UpdateConditionFailError) {
770
+ return false;
771
+ }
772
+ throw err;
773
+ }
774
+ });
775
+ }
704
776
  /**
705
777
  *
706
778
  * @param model
@@ -735,6 +807,8 @@ class Store extends service_1.Service {
735
807
  /**
736
808
  * Update an object
737
809
  *
810
+ * If no attribute can be updated then return undefined
811
+ *
738
812
  * @param {Object} Object to save
739
813
  * @param {Boolean} reverseMap internal use only, for disable map resolution
740
814
  * @return {Promise} with saved object
@@ -754,7 +828,7 @@ class Store extends service_1.Service {
754
828
  }
755
829
  }
756
830
  if (Object.keys(object).length < 2) {
757
- return {};
831
+ return undefined;
758
832
  }
759
833
  object[this._lastUpdateField] = new Date();
760
834
  this.metrics.get++;
@@ -961,6 +1035,16 @@ class Store extends service_1.Service {
961
1035
  return result;
962
1036
  });
963
1037
  }
1038
+ /**
1039
+ * Alias for save
1040
+ * @param uuid
1041
+ * @param data
1042
+ */
1043
+ put(uuid, data) {
1044
+ return __awaiter(this, void 0, void 0, function* () {
1045
+ return this.save(Object.assign(Object.assign({}, data), { uuid }));
1046
+ });
1047
+ }
964
1048
  /**
965
1049
  * Get an object
966
1050
  *
@@ -986,7 +1070,8 @@ class Store extends service_1.Service {
986
1070
  object.setContext(ctx);
987
1071
  yield this.emitSync("Store.Get", {
988
1072
  object: object,
989
- store: this
1073
+ store: this,
1074
+ context: ctx
990
1075
  });
991
1076
  yield object._onGet();
992
1077
  return object;
@@ -1026,6 +1111,7 @@ class Store extends service_1.Service {
1026
1111
  let originalOffset = offset;
1027
1112
  if (query.orderBy && query.orderBy.length) {
1028
1113
  offset = 0;
1114
+ // We need to retrieve everything to orderBy after
1029
1115
  limit = Number.MAX_SAFE_INTEGER;
1030
1116
  }
1031
1117
  // Need to transfert to Array
@@ -1044,9 +1130,10 @@ class Store extends service_1.Service {
1044
1130
  }
1045
1131
  }
1046
1132
  }
1133
+ // Order by
1047
1134
  if (query.orderBy && query.orderBy.length) {
1048
- result.results = result.results
1049
- .sort((a, b) => {
1135
+ // Sorting the results
1136
+ result.results.sort((a, b) => {
1050
1137
  let valA, valB;
1051
1138
  for (let orderBy of query.orderBy) {
1052
1139
  let invert = orderBy.direction === "ASC" ? 1 : -1;
@@ -1061,8 +1148,8 @@ class Store extends service_1.Service {
1061
1148
  return (valA < valB ? -1 : 1) * invert;
1062
1149
  }
1063
1150
  return -1;
1064
- })
1065
- .slice(originalOffset, query.limit + originalOffset);
1151
+ });
1152
+ result.results = result.results.slice(originalOffset, query.limit + originalOffset);
1066
1153
  if (result.results.length >= query.limit) {
1067
1154
  result.continuationToken = (query.limit + originalOffset).toString();
1068
1155
  }
@@ -1076,10 +1163,8 @@ class Store extends service_1.Service {
1076
1163
  */
1077
1164
  httpCreate(ctx) {
1078
1165
  return __awaiter(this, void 0, void 0, function* () {
1079
- let body = ctx.getRequestBody();
1080
- var object = new this._model();
1081
- object.setContext(ctx);
1082
- object.load(body);
1166
+ let body = yield ctx.getRequestBody();
1167
+ let object = this._model.factory(this._model, body, ctx);
1083
1168
  object[this._creationDateField] = new Date();
1084
1169
  yield object.canAct(ctx, "create");
1085
1170
  try {
@@ -1164,7 +1249,7 @@ class Store extends service_1.Service {
1164
1249
  */
1165
1250
  httpUpdate(ctx) {
1166
1251
  return __awaiter(this, void 0, void 0, function* () {
1167
- let body = ctx.getRequestBody();
1252
+ let body = yield ctx.getRequestBody();
1168
1253
  let uuid = ctx.parameter("uuid");
1169
1254
  body[this._uuidField] = uuid;
1170
1255
  let object = yield this.get(uuid, ctx);
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/stores/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/stores/store.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { WebdaTest } from "../test";
2
1
  import { Context, Store, StoreParameters } from "../index";
3
- import { StoreEvents } from "./store";
4
2
  import { CoreModel } from "../models/coremodel";
3
+ import { WebdaTest } from "../test";
4
+ import { StoreEvents } from "./store";
5
5
  /**
6
6
  * Fake model that refuse the half of the items
7
7
  */
@@ -55,7 +55,8 @@ declare abstract class StoreTest extends WebdaTest {
55
55
  deleteAsync(): Promise<void>;
56
56
  delete(): Promise<void>;
57
57
  deleteConcurrent(): Promise<void>;
58
- update(): Promise<void>;
58
+ conditionUpdate(): Promise<void>;
59
+ update(delay?: number): Promise<void>;
59
60
  upsertItem(): Promise<void>;
60
61
  }
61
62
  export { StoreTest };
@@ -16,16 +16,16 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
16
16
  };
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.StoreTest = exports.PermissionModel = void 0;
19
- const test_1 = require("../test");
20
19
  const mocha_1 = require("@testdeck/mocha");
21
20
  const assert = require("assert");
21
+ const sinon_1 = require("sinon");
22
+ const uuid_1 = require("uuid");
22
23
  const Idents = require("../../test/models/ident");
23
24
  const index_1 = require("../index");
24
- const store_1 = require("./store");
25
- const uuid_1 = require("uuid");
26
25
  const coremodel_1 = require("../models/coremodel");
27
- const context_1 = require("../utils/context");
28
- const sinon_1 = require("sinon");
26
+ const test_1 = require("../test");
27
+ const httpcontext_1 = require("../utils/httpcontext");
28
+ const store_1 = require("./store");
29
29
  /**
30
30
  * Fake model that refuse the half of the items
31
31
  */
@@ -160,9 +160,8 @@ class StoreTest extends test_1.WebdaTest {
160
160
  userStore.getParameters().slowQueryThreshold = 0;
161
161
  do {
162
162
  q = `LIMIT 100 ${offset ? 'OFFSET "' + offset + '"' : ""}`;
163
- context.setHttpContext(new context_1.HttpContext("test.webda.io", i++ % 2 ? "GET" : "PUT", userStore.getParameters().expose.url + "?q=" + encodeURI(q), "https", 443, {
164
- q
165
- }));
163
+ context.setHttpContext(new httpcontext_1.HttpContext("test.webda.io", i++ % 2 ? "GET" : "PUT", userStore.getParameters().expose.url + "?q=" + encodeURI(q), "https", 443));
164
+ context.getHttpContext().setBody({ q });
166
165
  context.getParameters().q = q;
167
166
  // @ts-ignore
168
167
  yield userStore.httpQuery(context);
@@ -172,9 +171,8 @@ class StoreTest extends test_1.WebdaTest {
172
171
  } while (offset !== undefined);
173
172
  assert.strictEqual(total, 400);
174
173
  q = "BAD QUERY !";
175
- context.setHttpContext(new context_1.HttpContext("test.webda.io", "PUT", userStore.getParameters().expose.url, "https", 443, {
176
- q
177
- }));
174
+ context.setHttpContext(new httpcontext_1.HttpContext("test.webda.io", "PUT", userStore.getParameters().expose.url, "https", 443));
175
+ context.getHttpContext().setBody({ q });
178
176
  // @ts-ignore
179
177
  yield assert.rejects(() => userStore.httpQuery(context), /400/);
180
178
  let mock = (0, sinon_1.stub)(userStore, "query").callsFake(() => {
@@ -687,7 +685,29 @@ class StoreTest extends test_1.WebdaTest {
687
685
  yield store.delete(model.getUuid(), 2, "counter");
688
686
  });
689
687
  }
690
- update() {
688
+ conditionUpdate() {
689
+ return __awaiter(this, void 0, void 0, function* () {
690
+ let store = this.getIdentStore();
691
+ let model = yield store.save({ counter: 1 });
692
+ assert.ok(yield store.conditionalPatch(model.getUuid(), {
693
+ plop: 12,
694
+ counter: 2
695
+ }, "counter", 1));
696
+ assert.strictEqual((yield store.get(model.getUuid())).plop, 12);
697
+ assert.ok(!(yield store.conditionalPatch(model.getUuid(), {
698
+ plop: 13
699
+ }, "counter", 1)));
700
+ assert.strictEqual((yield store.get(model.getUuid())).plop, 12);
701
+ (0, sinon_1.stub)(store, "_patch").callsFake(() => {
702
+ throw new Error("Fake Error");
703
+ });
704
+ yield assert.rejects(() => store.conditionalPatch(model.getUuid(), {
705
+ plop: 12,
706
+ counter: 2
707
+ }, "counter", 1), /Fake Error/);
708
+ });
709
+ }
710
+ update(delay = 1) {
691
711
  return __awaiter(this, void 0, void 0, function* () {
692
712
  let store = this.getIdentStore();
693
713
  let model = yield store.save({ counter: 1 });
@@ -695,7 +715,7 @@ class StoreTest extends test_1.WebdaTest {
695
715
  store.on("Store.Update", () => __awaiter(this, void 0, void 0, function* () {
696
716
  model2._lastUpdate = new Date();
697
717
  yield store._update(model2, model2.getUuid());
698
- yield this.sleep(1);
718
+ yield this.sleep(delay);
699
719
  }));
700
720
  model.plop = "yop";
701
721
  // Delete with condition
@@ -703,7 +723,7 @@ class StoreTest extends test_1.WebdaTest {
703
723
  store.removeAllListeners("Store.Update");
704
724
  store.on("Store.Update", () => __awaiter(this, void 0, void 0, function* () {
705
725
  yield store._delete(model.getUuid());
706
- yield this.sleep(1);
726
+ yield this.sleep(delay);
707
727
  }));
708
728
  yield assert.rejects(() => store.update(model), err => err instanceof store_1.StoreNotFoundError || err instanceof store_1.UpdateConditionFailError);
709
729
  yield assert.rejects(() => store.update({ uuid: (0, uuid_1.v4)(), test: true }), err => err instanceof store_1.StoreNotFoundError || err instanceof store_1.UpdateConditionFailError);
@@ -766,6 +786,9 @@ __decorate([
766
786
  __decorate([
767
787
  mocha_1.test
768
788
  ], StoreTest.prototype, "delete", null);
789
+ __decorate([
790
+ mocha_1.test
791
+ ], StoreTest.prototype, "conditionUpdate", null);
769
792
  __decorate([
770
793
  mocha_1.test
771
794
  ], StoreTest.prototype, "update", null);