@webda/core 2.0.0-beta.2 → 2.0.1

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 (279) hide show
  1. package/lib/application.d.ts +5 -21
  2. package/lib/application.js +71 -84
  3. package/lib/application.js.map +1 -1
  4. package/lib/application.spec.js +121 -140
  5. package/lib/application.spec.js.map +1 -1
  6. package/lib/core.d.ts +44 -45
  7. package/lib/core.js +239 -320
  8. package/lib/core.js.map +1 -1
  9. package/lib/core.spec.js +326 -391
  10. package/lib/core.spec.js.map +1 -1
  11. package/lib/index.d.ts +49 -45
  12. package/lib/index.js +54 -67
  13. package/lib/index.js.map +1 -1
  14. package/lib/models/aclmodel.d.ts +2 -2
  15. package/lib/models/aclmodel.js +63 -90
  16. package/lib/models/aclmodel.js.map +1 -1
  17. package/lib/models/aclmodel.spec.js +128 -151
  18. package/lib/models/aclmodel.spec.js.map +1 -1
  19. package/lib/models/coremodel.d.ts +39 -17
  20. package/lib/models/coremodel.js +160 -117
  21. package/lib/models/coremodel.js.map +1 -1
  22. package/lib/models/coremodel.spec.js +143 -107
  23. package/lib/models/coremodel.spec.js.map +1 -1
  24. package/lib/models/deployment.js +1 -2
  25. package/lib/models/ident.d.ts +3 -3
  26. package/lib/models/ident.js +4 -9
  27. package/lib/models/ident.js.map +1 -1
  28. package/lib/models/ident.spec.js +9 -11
  29. package/lib/models/ident.spec.js.map +1 -1
  30. package/lib/models/ownermodel.d.ts +2 -2
  31. package/lib/models/ownermodel.js +39 -62
  32. package/lib/models/ownermodel.js.map +1 -1
  33. package/lib/models/ownermodel.spec.js +126 -166
  34. package/lib/models/ownermodel.spec.js.map +1 -1
  35. package/lib/models/rolemodel.d.ts +2 -2
  36. package/lib/models/rolemodel.js +24 -40
  37. package/lib/models/rolemodel.js.map +1 -1
  38. package/lib/models/rolemodel.spec.js +44 -61
  39. package/lib/models/rolemodel.spec.js.map +1 -1
  40. package/lib/models/user.d.ts +9 -9
  41. package/lib/models/user.js +3 -8
  42. package/lib/models/user.js.map +1 -1
  43. package/lib/models/user.spec.js +14 -16
  44. package/lib/models/user.spec.js.map +1 -1
  45. package/lib/queues/filequeue.d.ts +2 -2
  46. package/lib/queues/filequeue.js +72 -93
  47. package/lib/queues/filequeue.js.map +1 -1
  48. package/lib/queues/filequeue.spec.js +53 -70
  49. package/lib/queues/filequeue.spec.js.map +1 -1
  50. package/lib/queues/memoryqueue.d.ts +2 -2
  51. package/lib/queues/memoryqueue.js +37 -61
  52. package/lib/queues/memoryqueue.js.map +1 -1
  53. package/lib/queues/memoryqueue.spec.js +142 -165
  54. package/lib/queues/memoryqueue.spec.js.map +1 -1
  55. package/lib/queues/pubsubservice.d.ts +2 -2
  56. package/lib/queues/pubsubservice.js +3 -7
  57. package/lib/queues/pubsubservice.js.map +1 -1
  58. package/lib/queues/queue.spec.d.ts +1 -1
  59. package/lib/queues/queue.spec.js +42 -56
  60. package/lib/queues/queue.spec.js.map +1 -1
  61. package/lib/queues/queueservice.d.ts +4 -4
  62. package/lib/queues/queueservice.js +52 -67
  63. package/lib/queues/queueservice.js.map +1 -1
  64. package/lib/router.d.ts +3 -3
  65. package/lib/router.js +46 -47
  66. package/lib/router.js.map +1 -1
  67. package/lib/router.spec.js +64 -61
  68. package/lib/router.spec.js.map +1 -1
  69. package/lib/services/asyncevents.d.ts +2 -2
  70. package/lib/services/asyncevents.js +44 -64
  71. package/lib/services/asyncevents.js.map +1 -1
  72. package/lib/services/asyncevents.spec.js +81 -98
  73. package/lib/services/asyncevents.spec.js.map +1 -1
  74. package/lib/services/authentication.d.ts +28 -19
  75. package/lib/services/authentication.js +542 -574
  76. package/lib/services/authentication.js.map +1 -1
  77. package/lib/services/authentication.spec.js +411 -447
  78. package/lib/services/authentication.spec.js.map +1 -1
  79. package/lib/services/binary.d.ts +9 -7
  80. package/lib/services/binary.js +213 -245
  81. package/lib/services/binary.js.map +1 -1
  82. package/lib/services/binary.spec.d.ts +3 -3
  83. package/lib/services/binary.spec.js +390 -443
  84. package/lib/services/binary.spec.js.map +1 -1
  85. package/lib/services/cloudbinary.d.ts +3 -3
  86. package/lib/services/cloudbinary.js +45 -70
  87. package/lib/services/cloudbinary.js.map +1 -1
  88. package/lib/services/cloudbinary.spec.d.ts +3 -3
  89. package/lib/services/cloudbinary.spec.js +133 -162
  90. package/lib/services/cloudbinary.spec.js.map +1 -1
  91. package/lib/services/configuration.d.ts +6 -3
  92. package/lib/services/configuration.js +78 -103
  93. package/lib/services/configuration.js.map +1 -1
  94. package/lib/services/configuration.spec.js +63 -83
  95. package/lib/services/configuration.spec.js.map +1 -1
  96. package/lib/services/cron.d.ts +3 -2
  97. package/lib/services/cron.js +9 -13
  98. package/lib/services/cron.js.map +1 -1
  99. package/lib/services/cron.spec.js +18 -21
  100. package/lib/services/cron.spec.js.map +1 -1
  101. package/lib/services/cryptoservice.d.ts +258 -0
  102. package/lib/services/cryptoservice.js +312 -0
  103. package/lib/services/cryptoservice.js.map +1 -0
  104. package/lib/services/cryptoservice.spec.d.ts +1 -0
  105. package/lib/services/cryptoservice.spec.js +137 -0
  106. package/lib/services/cryptoservice.spec.js.map +1 -0
  107. package/lib/services/debugmailer.d.ts +1 -1
  108. package/lib/services/debugmailer.js +13 -34
  109. package/lib/services/debugmailer.js.map +1 -1
  110. package/lib/services/debugmailer.spec.js +16 -29
  111. package/lib/services/debugmailer.spec.js.map +1 -1
  112. package/lib/services/echo.d.ts +2 -2
  113. package/lib/services/echo.js +15 -31
  114. package/lib/services/echo.js.map +1 -1
  115. package/lib/services/echo.spec.js +27 -40
  116. package/lib/services/echo.spec.js.map +1 -1
  117. package/lib/services/filebinary.d.ts +10 -5
  118. package/lib/services/filebinary.js +171 -205
  119. package/lib/services/filebinary.js.map +1 -1
  120. package/lib/services/filebinary.spec.d.ts +2 -1
  121. package/lib/services/filebinary.spec.js +106 -117
  122. package/lib/services/filebinary.spec.js.map +1 -1
  123. package/lib/services/fileconfiguration.d.ts +2 -2
  124. package/lib/services/fileconfiguration.js +25 -43
  125. package/lib/services/fileconfiguration.js.map +1 -1
  126. package/lib/services/fileconfiguration.spec.js +79 -109
  127. package/lib/services/fileconfiguration.spec.js.map +1 -1
  128. package/lib/services/invitationservice.d.ts +10 -10
  129. package/lib/services/invitationservice.js +275 -313
  130. package/lib/services/invitationservice.js.map +1 -1
  131. package/lib/services/invitationservice.spec.js +443 -449
  132. package/lib/services/invitationservice.spec.js.map +1 -1
  133. package/lib/services/kubernetesconfiguration.d.ts +2 -2
  134. package/lib/services/kubernetesconfiguration.js +41 -59
  135. package/lib/services/kubernetesconfiguration.js.map +1 -1
  136. package/lib/services/kubernetesconfiguration.spec.js +80 -98
  137. package/lib/services/kubernetesconfiguration.spec.js.map +1 -1
  138. package/lib/services/mailer.d.ts +4 -4
  139. package/lib/services/mailer.js +62 -86
  140. package/lib/services/mailer.js.map +1 -1
  141. package/lib/services/mailer.spec.js +86 -127
  142. package/lib/services/mailer.spec.js.map +1 -1
  143. package/lib/services/notificationservice.d.ts +4 -4
  144. package/lib/services/notificationservice.js +23 -42
  145. package/lib/services/notificationservice.js.map +1 -1
  146. package/lib/services/notificationservice.spec.js +47 -73
  147. package/lib/services/notificationservice.spec.js.map +1 -1
  148. package/lib/services/oauth.d.ts +32 -6
  149. package/lib/services/oauth.js +73 -78
  150. package/lib/services/oauth.js.map +1 -1
  151. package/lib/services/oauth.spec.js +128 -148
  152. package/lib/services/oauth.spec.js.map +1 -1
  153. package/lib/services/proxy.d.ts +74 -0
  154. package/lib/services/proxy.js +126 -0
  155. package/lib/services/proxy.js.map +1 -0
  156. package/lib/services/proxy.spec.d.ts +1 -0
  157. package/lib/services/proxy.spec.js +59 -0
  158. package/lib/services/proxy.spec.js.map +1 -0
  159. package/lib/services/resource.d.ts +2 -2
  160. package/lib/services/resource.js +12 -18
  161. package/lib/services/resource.js.map +1 -1
  162. package/lib/services/resource.spec.js +67 -99
  163. package/lib/services/resource.spec.js.map +1 -1
  164. package/lib/services/service.d.ts +29 -6
  165. package/lib/services/service.js +69 -39
  166. package/lib/services/service.js.map +1 -1
  167. package/lib/services/service.spec.js +62 -67
  168. package/lib/services/service.spec.js.map +1 -1
  169. package/lib/services/version.d.ts +1 -1
  170. package/lib/services/version.js +3 -8
  171. package/lib/services/version.js.map +1 -1
  172. package/lib/services/version.spec.js +11 -24
  173. package/lib/services/version.spec.js.map +1 -1
  174. package/lib/stores/aggregator.d.ts +3 -3
  175. package/lib/stores/aggregator.js +37 -57
  176. package/lib/stores/aggregator.js.map +1 -1
  177. package/lib/stores/file.d.ts +3 -3
  178. package/lib/stores/file.js +93 -131
  179. package/lib/stores/file.js.map +1 -1
  180. package/lib/stores/file.spec.d.ts +2 -2
  181. package/lib/stores/file.spec.js +262 -289
  182. package/lib/stores/file.spec.js.map +1 -1
  183. package/lib/stores/mapper.d.ts +4 -4
  184. package/lib/stores/mapper.js +111 -137
  185. package/lib/stores/mapper.js.map +1 -1
  186. package/lib/stores/mapper.spec.js +133 -150
  187. package/lib/stores/mapper.spec.js.map +1 -1
  188. package/lib/stores/memory.d.ts +67 -6
  189. package/lib/stores/memory.js +155 -117
  190. package/lib/stores/memory.js.map +1 -1
  191. package/lib/stores/memory.spec.d.ts +3 -2
  192. package/lib/stores/memory.spec.js +127 -105
  193. package/lib/stores/memory.spec.js.map +1 -1
  194. package/lib/stores/store.d.ts +40 -16
  195. package/lib/stores/store.js +847 -830
  196. package/lib/stores/store.js.map +1 -1
  197. package/lib/stores/store.spec.d.ts +6 -4
  198. package/lib/stores/store.spec.js +628 -647
  199. package/lib/stores/store.spec.js.map +1 -1
  200. package/lib/stores/webdaql/WebdaQLLexer.d.ts +4 -4
  201. package/lib/stores/webdaql/WebdaQLLexer.js +9 -13
  202. package/lib/stores/webdaql/WebdaQLLexer.js.map +1 -1
  203. package/lib/stores/webdaql/WebdaQLParserLexer.d.ts +4 -4
  204. package/lib/stores/webdaql/WebdaQLParserLexer.js +9 -13
  205. package/lib/stores/webdaql/WebdaQLParserLexer.js.map +1 -1
  206. package/lib/stores/webdaql/WebdaQLParserListener.d.ts +2 -2
  207. package/lib/stores/webdaql/WebdaQLParserListener.js +1 -2
  208. package/lib/stores/webdaql/WebdaQLParserListener.js.map +1 -1
  209. package/lib/stores/webdaql/WebdaQLParserParser.d.ts +10 -10
  210. package/lib/stores/webdaql/WebdaQLParserParser.js +62 -91
  211. package/lib/stores/webdaql/WebdaQLParserParser.js.map +1 -1
  212. package/lib/stores/webdaql/WebdaQLParserVisitor.d.ts +2 -2
  213. package/lib/stores/webdaql/WebdaQLParserVisitor.js +1 -2
  214. package/lib/stores/webdaql/WebdaQLParserVisitor.js.map +1 -1
  215. package/lib/stores/webdaql/query.d.ts +4 -5
  216. package/lib/stores/webdaql/query.js +16 -19
  217. package/lib/stores/webdaql/query.js.map +1 -1
  218. package/lib/stores/webdaql/query.spec.js +30 -32
  219. package/lib/stores/webdaql/query.spec.js.map +1 -1
  220. package/lib/test.d.ts +3 -3
  221. package/lib/test.js +74 -94
  222. package/lib/test.js.map +1 -1
  223. package/lib/unpackedapplication.d.ts +1 -1
  224. package/lib/unpackedapplication.js +44 -38
  225. package/lib/unpackedapplication.js.map +1 -1
  226. package/lib/utils/abstractdeployer.js +1 -5
  227. package/lib/utils/abstractdeployer.js.map +1 -1
  228. package/lib/utils/abstractdeployer.spec.js +6 -8
  229. package/lib/utils/abstractdeployer.spec.js.map +1 -1
  230. package/lib/utils/context.d.ts +61 -29
  231. package/lib/utils/context.js +133 -127
  232. package/lib/utils/context.js.map +1 -1
  233. package/lib/utils/context.spec.js +144 -153
  234. package/lib/utils/context.spec.js.map +1 -1
  235. package/lib/utils/cookie.d.ts +66 -45
  236. package/lib/utils/cookie.js +69 -158
  237. package/lib/utils/cookie.js.map +1 -1
  238. package/lib/utils/cookie.spec.js +220 -238
  239. package/lib/utils/cookie.spec.js.map +1 -1
  240. package/lib/utils/esm.d.ts +4 -0
  241. package/lib/utils/esm.js +10 -0
  242. package/lib/utils/esm.js.map +1 -0
  243. package/lib/utils/httpcontext.d.ts +3 -0
  244. package/lib/utils/httpcontext.js +48 -65
  245. package/lib/utils/httpcontext.js.map +1 -1
  246. package/lib/utils/httpcontext.spec.js +37 -56
  247. package/lib/utils/httpcontext.spec.js.map +1 -1
  248. package/lib/utils/logger.d.ts +2 -2
  249. package/lib/utils/logger.js +15 -28
  250. package/lib/utils/logger.js.map +1 -1
  251. package/lib/utils/logger.spec.js +9 -11
  252. package/lib/utils/logger.spec.js.map +1 -1
  253. package/lib/utils/serializers.js +17 -20
  254. package/lib/utils/serializers.js.map +1 -1
  255. package/lib/utils/serializers.spec.js +43 -44
  256. package/lib/utils/serializers.spec.js.map +1 -1
  257. package/lib/utils/session.d.ts +120 -0
  258. package/lib/utils/session.js +155 -0
  259. package/lib/utils/session.js.map +1 -0
  260. package/lib/utils/session.spec.d.ts +1 -0
  261. package/lib/utils/session.spec.js +66 -0
  262. package/lib/utils/session.spec.js.map +1 -0
  263. package/lib/utils/waiter.d.ts +1 -1
  264. package/lib/utils/waiter.js +32 -52
  265. package/lib/utils/waiter.js.map +1 -1
  266. package/lib/utils/waiter.spec.js +75 -92
  267. package/lib/utils/waiter.spec.js.map +1 -1
  268. package/package.json +22 -14
  269. package/test/config-invitation.json +1 -3
  270. package/test/config.json +3 -3
  271. package/test/config.old.json +1 -2
  272. package/test/moddas/annotatedservice.js +5 -5
  273. package/test/moddas/debugmailer.js +2 -3
  274. package/test/moddas/fakeservice.js +2 -3
  275. package/test/moddas/voidstore.js +6 -4
  276. package/test/models/ident.js +2 -6
  277. package/test/models/task.js +3 -7
  278. package/test/package.json +2 -1
  279. package/webda.module.json +895 -189
@@ -1,102 +1,87 @@
1
- "use strict";
2
1
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
2
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
3
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
6
  };
8
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
9
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
10
- return new (P || (P = Promise))(function (resolve, reject) {
11
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
12
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
13
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
14
- step((generator = generator.apply(thisArg, _arguments || [])).next());
15
- });
16
- };
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.MemoryStoreTest = void 0;
19
- const mocha_1 = require("@testdeck/mocha");
20
- const assert = require("assert");
21
- const httpcontext_1 = require("../utils/httpcontext");
22
- const store_1 = require("./store");
23
- const store_spec_1 = require("./store.spec");
24
- const query_1 = require("./webdaql/query");
25
- let MemoryStoreTest = class MemoryStoreTest extends store_spec_1.StoreTest {
7
+ import { suite, test } from "@testdeck/mocha";
8
+ import * as assert from "assert";
9
+ import { existsSync, unlinkSync } from "fs";
10
+ import { HttpContext } from "../utils/httpcontext.js";
11
+ import { JSONUtils } from "../utils/serializers.js";
12
+ import { StoreNotFoundError } from "./store.js";
13
+ import { PermissionModel, StoreTest } from "./store.spec.js";
14
+ import { WebdaQL } from "./webdaql/query.js";
15
+ let MemoryStoreTest = class MemoryStoreTest extends StoreTest {
26
16
  getIdentStore() {
27
17
  // Need to slow down the _get
28
18
  let store = this.getService("MemoryIdents");
29
19
  let original = store._get.bind(store);
30
- store._get = (...args) => __awaiter(this, void 0, void 0, function* () {
31
- yield this.sleep(1);
20
+ store._get = async (...args) => {
21
+ await this.sleep(1);
32
22
  return original(...args);
33
- });
23
+ };
34
24
  return store;
35
25
  }
36
26
  getUserStore() {
37
27
  return this.getService("MemoryUsers");
38
28
  }
39
- getIndex() {
40
- return __awaiter(this, void 0, void 0, function* () {
41
- return this.getService("memoryaggregators").get("index");
42
- });
29
+ async getIndex() {
30
+ return this.getService("memoryaggregators").get("index");
43
31
  }
44
- recreateIndex() {
45
- return __awaiter(this, void 0, void 0, function* () {
46
- let store = this.getService("memoryaggregators");
47
- yield store.__clean();
48
- yield this.getService("memoryidentsindexer").createAggregate();
49
- });
32
+ async recreateIndex() {
33
+ let store = this.getService("memoryaggregators");
34
+ await store.__clean();
35
+ await this.getService("memoryidentsindexer").createAggregate();
50
36
  }
51
- deleteAsyncHttp() {
52
- return __awaiter(this, void 0, void 0, function* () {
53
- let executor, ctx;
54
- ctx = yield this.webda.newContext(new httpcontext_1.HttpContext("test.webda.io", "GET", "/memory/idents/ToDelete"));
55
- let identStore = this.getIdentStore();
56
- yield identStore.save({
57
- uuid: "toDelete",
58
- test: "ok"
59
- });
60
- yield identStore.delete("toDelete");
61
- executor = this.getExecutor(ctx, "test.webda.io", "GET", "/memory/idents/toDelete");
62
- assert.notStrictEqual(executor, undefined);
63
- yield assert.rejects(() => executor.execute(ctx), err => err == 404);
64
- executor = this.getExecutor(ctx, "test.webda.io", "PUT", "/memory/idents/toDelete");
65
- assert.notStrictEqual(executor, undefined);
66
- yield assert.rejects(() => executor.execute(ctx), err => err == 404);
67
- executor = this.getExecutor(ctx, "test.webda.io", "DELETE", "/memory/idents/toDelete");
68
- assert.notStrictEqual(executor, undefined);
69
- yield assert.rejects(() => executor.execute(ctx), err => err == 404);
70
- assert.strictEqual(identStore._getSync("notFound"), null);
37
+ async deleteAsyncHttp() {
38
+ let executor, ctx;
39
+ ctx = await this.webda.newContext(new HttpContext("test.webda.io", "GET", "/memory/idents/ToDelete"));
40
+ let identStore = this.getIdentStore();
41
+ await identStore.save({
42
+ uuid: "toDelete",
43
+ test: "ok"
71
44
  });
45
+ await identStore.delete("toDelete");
46
+ executor = this.getExecutor(ctx, "test.webda.io", "GET", "/memory/idents/toDelete");
47
+ assert.notStrictEqual(executor, undefined);
48
+ await assert.rejects(() => executor.execute(ctx), err => err == 404);
49
+ executor = this.getExecutor(ctx, "test.webda.io", "PUT", "/memory/idents/toDelete");
50
+ assert.notStrictEqual(executor, undefined);
51
+ await assert.rejects(() => executor.execute(ctx), err => err == 404);
52
+ executor = this.getExecutor(ctx, "test.webda.io", "DELETE", "/memory/idents/toDelete");
53
+ assert.notStrictEqual(executor, undefined);
54
+ await assert.rejects(() => executor.execute(ctx), err => err == 404);
55
+ assert.strictEqual(identStore._getSync("notFound"), null);
72
56
  }
73
- queryAdditional() {
74
- return __awaiter(this, void 0, void 0, function* () {
75
- let userStore = yield this.fillForQuery();
76
- // Verify permission issue and half pagination
77
- userStore.setModel(store_spec_1.PermissionModel);
78
- // Return undefined as filter to trigger the warning
79
- let find = userStore.find;
80
- userStore.find = (query) => __awaiter(this, void 0, void 0, function* () {
81
- let res = yield find.bind(userStore)({
82
- filter: new query_1.WebdaQL.AndExpression([]),
83
- continuationToken: query.continuationToken,
84
- limit: query.limit
85
- });
86
- return Object.assign(Object.assign({}, res), { filter: undefined });
57
+ async queryAdditional() {
58
+ let userStore = await this.fillForQuery();
59
+ // Verify permission issue and half pagination
60
+ userStore.setModel(PermissionModel);
61
+ // Return undefined as filter to trigger the warning
62
+ let find = userStore.find;
63
+ userStore.find = async (query) => {
64
+ let res = await find.bind(userStore)({
65
+ filter: new WebdaQL.AndExpression([]),
66
+ continuationToken: query.continuationToken,
67
+ limit: query.limit
87
68
  });
88
- let context = yield this.newContext();
89
- // Verify pagination system
90
- let res, offset;
91
- let total = 0;
92
- do {
93
- res = yield userStore.query(`state = 'CA' LIMIT 100 ${offset ? 'OFFSET "' + offset + '"' : ""}`, context);
94
- offset = res.continuationToken;
95
- total += res.results.length;
96
- } while (offset);
97
- assert.strictEqual(total, 100);
98
- return userStore;
99
- });
69
+ return {
70
+ ...res,
71
+ filter: undefined
72
+ };
73
+ };
74
+ let context = await this.newContext();
75
+ // Verify pagination system
76
+ let res, offset;
77
+ let total = 0;
78
+ do {
79
+ res = await userStore.query(`state = 'CA' LIMIT 100 ${offset ? 'OFFSET "' + offset + '"' : ""}`, context);
80
+ offset = res.continuationToken;
81
+ total += res.results.length;
82
+ } while (offset);
83
+ assert.strictEqual(total, 100);
84
+ return userStore;
100
85
  }
101
86
  initRoutes() {
102
87
  // cov
@@ -106,47 +91,84 @@ let MemoryStoreTest = class MemoryStoreTest extends store_spec_1.StoreTest {
106
91
  }
107
92
  getSync() {
108
93
  let identStore = this.getIdentStore();
109
- assert.throws(() => identStore._getSync("plop", true), store_1.StoreNotFoundError);
94
+ assert.throws(() => identStore._getSync("plop", true), StoreNotFoundError);
110
95
  }
111
- badActions() {
112
- return __awaiter(this, void 0, void 0, function* () {
113
- let identStore = this.getIdentStore();
114
- // @ts-ignore
115
- identStore._model = {
116
- getActions: () => {
117
- return { test: { global: true } };
118
- }
119
- };
120
- yield assert.throws(() => identStore.initRoutes(), /Action static method _test does not exist/);
96
+ async badActions() {
97
+ let identStore = this.getIdentStore();
98
+ // @ts-ignore
99
+ identStore._model = {
100
+ getActions: () => {
101
+ return { test: { global: true } };
102
+ }
103
+ };
104
+ await assert.throws(() => identStore.initRoutes(), /Action static method _test does not exist/);
105
+ // @ts-ignore
106
+ identStore._model = {
121
107
  // @ts-ignore
122
- identStore._model = {
123
- // @ts-ignore
124
- prototype: {},
125
- getActions: () => {
126
- return { test: { global: false } };
127
- }
128
- };
129
- yield assert.throws(() => identStore.initRoutes(), /Action method _test does not exist/);
130
- });
108
+ prototype: {},
109
+ getActions: () => {
110
+ return { test: { global: false } };
111
+ }
112
+ };
113
+ await assert.throws(() => identStore.initRoutes(), /Action method _test does not exist/);
114
+ }
115
+ async persistence() {
116
+ // Remove the path if exists
117
+ if (existsSync(".test.json")) {
118
+ unlinkSync(".test.json");
119
+ }
120
+ let identStore = this.getIdentStore();
121
+ identStore.getParameters().persistence = {
122
+ path: ".test.json",
123
+ delay: 10
124
+ };
125
+ await identStore.init();
126
+ await identStore.put("test", {});
127
+ await this.sleep(10);
128
+ // Check basic persistence
129
+ assert.ok(existsSync(".test.json"));
130
+ assert.notStrictEqual(JSONUtils.loadFile(".test.json").test, undefined);
131
+ identStore.storage = {};
132
+ // Check basic load of persistence
133
+ await identStore.init();
134
+ assert.notStrictEqual(identStore.storage.test, undefined);
135
+ // Check encryption
136
+ identStore.getParameters().persistence = {
137
+ path: ".test.json",
138
+ delay: 10,
139
+ key: "test",
140
+ cipher: "aes-256-ctr"
141
+ };
142
+ // Should silently ignore not encrypted file
143
+ await identStore.init();
144
+ await identStore.put("test", {});
145
+ await this.sleep(10);
146
+ identStore.storage = {};
147
+ // Check basic load of persistence
148
+ await identStore.init();
149
+ assert.notStrictEqual(identStore.storage.test, undefined);
131
150
  }
132
151
  };
133
152
  __decorate([
134
- mocha_1.test
153
+ test
135
154
  ], MemoryStoreTest.prototype, "deleteAsyncHttp", null);
136
155
  __decorate([
137
- mocha_1.test
156
+ test
138
157
  ], MemoryStoreTest.prototype, "queryAdditional", null);
139
158
  __decorate([
140
- mocha_1.test
159
+ test
141
160
  ], MemoryStoreTest.prototype, "initRoutes", null);
142
161
  __decorate([
143
- mocha_1.test
162
+ test
144
163
  ], MemoryStoreTest.prototype, "getSync", null);
145
164
  __decorate([
146
- mocha_1.test
165
+ test
147
166
  ], MemoryStoreTest.prototype, "badActions", null);
167
+ __decorate([
168
+ test
169
+ ], MemoryStoreTest.prototype, "persistence", null);
148
170
  MemoryStoreTest = __decorate([
149
- mocha_1.suite
171
+ suite
150
172
  ], MemoryStoreTest);
151
- exports.MemoryStoreTest = MemoryStoreTest;
173
+ export { MemoryStoreTest };
152
174
  //# sourceMappingURL=memory.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"memory.spec.js","sourceRoot":"","sources":["../../src/stores/memory.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory.spec.js","sourceRoot":"","sources":["../../src/stores/memory.spec.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
- import { EventWithContext, WebdaError } from "../core";
2
- import { ConfigurationProvider } from "../index";
3
- import { CoreModel, CoreModelDefinition } from "../models/coremodel";
4
- import { Service, ServiceParameters } from "../services/service";
5
- import { Context } from "../utils/context";
6
- import { WebdaQL } from "./webdaql/query";
1
+ import { EventWithContext, WebdaError } from "../core.js";
2
+ import { ConfigurationProvider } from "../index.js";
3
+ import { CoreModel, CoreModelDefinition } from "../models/coremodel.js";
4
+ import { Service, ServiceParameters } from "../services/service.js";
5
+ import { Context } from "../utils/context.js";
6
+ import { HttpMethodType } from "../utils/httpcontext.js";
7
+ import { WebdaQL } from "./webdaql/query.js";
7
8
  export declare class StoreNotFoundError extends WebdaError {
8
9
  constructor(uuid: string, storeName: string);
9
10
  }
@@ -390,7 +391,7 @@ export declare type StoreEvents = {
390
391
  * Therefore they need to handle the cascadeDelete
391
392
  */
392
393
  export interface MappingService<T = any> {
393
- initModel(object: any): T;
394
+ newModel(object: any): T;
394
395
  }
395
396
  /**
396
397
  * This class handle NoSQL storage and mapping (duplication) between NoSQL object
@@ -474,7 +475,7 @@ declare abstract class Store<T extends CoreModel = CoreModel, K extends StorePar
474
475
  /**
475
476
  * Load the parameters for a service
476
477
  */
477
- loadParameters(params: any): StoreParameters;
478
+ abstract loadParameters(params: any): StoreParameters;
478
479
  /**
479
480
  * Retrieve the Model
480
481
  *
@@ -501,6 +502,10 @@ declare abstract class Store<T extends CoreModel = CoreModel, K extends StorePar
501
502
  * @returns
502
503
  */
503
504
  getObject(uid: string): Promise<T>;
505
+ /**
506
+ * @override
507
+ */
508
+ getUrl(url: string, methods: HttpMethodType[]): string;
504
509
  /**
505
510
  * @inheritdoc
506
511
  */
@@ -510,10 +515,6 @@ declare abstract class Store<T extends CoreModel = CoreModel, K extends StorePar
510
515
  * Used mainly in test
511
516
  */
512
517
  setModel(model: CoreModelDefinition): void;
513
- /**
514
- * Get the url where the store is exposed
515
- */
516
- getUrl(): string;
517
518
  /**
518
519
  * We should ignore exception from the store
519
520
  */
@@ -526,7 +527,13 @@ declare abstract class Store<T extends CoreModel = CoreModel, K extends StorePar
526
527
  * @param object
527
528
  * @returns
528
529
  */
529
- initModel(object?: any): T;
530
+ protected initModel(object?: any): T;
531
+ /**
532
+ * Get a new model with this data preloaded
533
+ * @param object
534
+ * @returns
535
+ */
536
+ newModel(object?: any): T;
530
537
  /**
531
538
  * Add reverse map information
532
539
  *
@@ -568,7 +575,7 @@ declare abstract class Store<T extends CoreModel = CoreModel, K extends StorePar
568
575
  * @param reverseMap
569
576
  * @returns
570
577
  */
571
- patch(object: any, reverseMap?: boolean): Promise<T | undefined>;
578
+ patch(object: Partial<T>, reverseMap?: boolean, conditionField?: string | null, conditionValue?: any): Promise<T | undefined>;
572
579
  /**
573
580
  * Check if an UpdateCondition is met
574
581
  * @param model
@@ -585,6 +592,14 @@ declare abstract class Store<T extends CoreModel = CoreModel, K extends StorePar
585
592
  * @param uid
586
593
  */
587
594
  checkCollectionUpdateCondition(model: T, collection: string, conditionField?: string, condition?: any, index?: number): void;
595
+ /**
596
+ * Update conditionally
597
+ * @param uuid
598
+ * @param updates
599
+ * @param conditionField
600
+ * @param condition
601
+ */
602
+ conditionalPatch(uuid: string, updates: any, conditionField: any, condition: any): Promise<boolean>;
588
603
  /**
589
604
  *
590
605
  * @param model
@@ -605,7 +620,7 @@ declare abstract class Store<T extends CoreModel = CoreModel, K extends StorePar
605
620
  * @param {Boolean} reverseMap internal use only, for disable map resolution
606
621
  * @return {Promise} with saved object
607
622
  */
608
- update(object: any, reverseMap?: boolean, partial?: boolean): Promise<T | undefined>;
623
+ update(object: any, reverseMap?: boolean, partial?: boolean, conditionField?: string | null, conditionValue?: any): Promise<T | undefined>;
609
624
  /**
610
625
  * Remove an attribute from an object
611
626
  *
@@ -651,13 +666,19 @@ declare abstract class Store<T extends CoreModel = CoreModel, K extends StorePar
651
666
  getConfiguration(id: string): Promise<{
652
667
  [key: string]: any;
653
668
  }>;
669
+ /**
670
+ * Upsert the uuid object
671
+ * @param uuid
672
+ * @param data
673
+ */
674
+ put(uuid: string, data: any): Promise<T>;
654
675
  /**
655
676
  * Get an object
656
677
  *
657
678
  * @param {String} uuid to get
658
679
  * @return {Promise} the object retrieved ( can be undefined if not found )
659
680
  */
660
- get(uid: string, ctx?: Context): Promise<T>;
681
+ get(uid: string, ctx?: Context, defaultValue?: any): Promise<T>;
661
682
  /**
662
683
  * Set one attribute in an object
663
684
  *
@@ -673,6 +694,9 @@ declare abstract class Store<T extends CoreModel = CoreModel, K extends StorePar
673
694
  * @override
674
695
  */
675
696
  protected simulateFind(query: WebdaQL.Query, uuids: string[]): Promise<StoreFindResult<T>>;
697
+ getOpenApiReplacements(): {
698
+ modelName: string;
699
+ };
676
700
  /**
677
701
  * Handle POST
678
702
  * @param ctx