@webda/core 2.0.0-beta.1 → 2.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.
Files changed (279) hide show
  1. package/lib/application.d.ts +9 -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 +86 -46
  7. package/lib/core.js +254 -316
  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 +127 -151
  18. package/lib/models/aclmodel.spec.js.map +1 -1
  19. package/lib/models/coremodel.d.ts +84 -11
  20. package/lib/models/coremodel.js +104 -103
  21. package/lib/models/coremodel.js.map +1 -1
  22. package/lib/models/coremodel.spec.js +91 -91
  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 +5 -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 +12 -2
  31. package/lib/models/ownermodel.js +54 -62
  32. package/lib/models/ownermodel.js.map +1 -1
  33. package/lib/models/ownermodel.spec.js +129 -152
  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 +5 -5
  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 +7 -3
  65. package/lib/router.js +49 -48
  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 +539 -571
  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 +8 -6
  80. package/lib/services/binary.js +212 -244
  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 +46 -71
  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 +15 -5
  118. package/lib/services/filebinary.js +171 -200
  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 +9 -9
  129. package/lib/services/invitationservice.js +275 -313
  130. package/lib/services/invitationservice.js.map +1 -1
  131. package/lib/services/invitationservice.spec.js +442 -448
  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 -147
  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 +33 -7
  165. package/lib/services/service.js +74 -42
  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 +261 -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 +112 -137
  185. package/lib/stores/mapper.js.map +1 -1
  186. package/lib/stores/mapper.spec.js +131 -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 +35 -15
  195. package/lib/stores/store.js +839 -821
  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 +627 -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 +25 -31
  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 +147 -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 +37 -9
  244. package/lib/utils/httpcontext.js +86 -57
  245. package/lib/utils/httpcontext.js.map +1 -1
  246. package/lib/utils/httpcontext.spec.js +37 -48
  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 +956 -188
@@ -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
  }
@@ -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
  */
@@ -560,7 +561,7 @@ declare abstract class Store<T extends CoreModel = CoreModel, K extends StorePar
560
561
  *
561
562
  * Might want to rename to create
562
563
  */
563
- save(object: any, ctx?: Context): Promise<any>;
564
+ save(object: any, ctx?: Context): Promise<T>;
564
565
  /**
565
566
  * Patch an object
566
567
  *
@@ -568,7 +569,7 @@ declare abstract class Store<T extends CoreModel = CoreModel, K extends StorePar
568
569
  * @param reverseMap
569
570
  * @returns
570
571
  */
571
- patch(object: any, reverseMap?: boolean): Promise<any>;
572
+ patch(object: any, reverseMap?: boolean): Promise<T | undefined>;
572
573
  /**
573
574
  * Check if an UpdateCondition is met
574
575
  * @param model
@@ -585,6 +586,14 @@ declare abstract class Store<T extends CoreModel = CoreModel, K extends StorePar
585
586
  * @param uid
586
587
  */
587
588
  checkCollectionUpdateCondition(model: T, collection: string, conditionField?: string, condition?: any, index?: number): void;
589
+ /**
590
+ * Update conditionally
591
+ * @param uuid
592
+ * @param updates
593
+ * @param conditionField
594
+ * @param condition
595
+ */
596
+ conditionalPatch(uuid: string, updates: any, conditionField: any, condition: any): Promise<boolean>;
588
597
  /**
589
598
  *
590
599
  * @param model
@@ -599,11 +608,13 @@ declare abstract class Store<T extends CoreModel = CoreModel, K extends StorePar
599
608
  /**
600
609
  * Update an object
601
610
  *
611
+ * If no attribute can be updated then return undefined
612
+ *
602
613
  * @param {Object} Object to save
603
614
  * @param {Boolean} reverseMap internal use only, for disable map resolution
604
615
  * @return {Promise} with saved object
605
616
  */
606
- update(object: any, reverseMap?: boolean, partial?: boolean): Promise<any>;
617
+ update(object: any, reverseMap?: boolean, partial?: boolean): Promise<T | undefined>;
607
618
  /**
608
619
  * Remove an attribute from an object
609
620
  *
@@ -649,13 +660,19 @@ declare abstract class Store<T extends CoreModel = CoreModel, K extends StorePar
649
660
  getConfiguration(id: string): Promise<{
650
661
  [key: string]: any;
651
662
  }>;
663
+ /**
664
+ * Upsert the uuid object
665
+ * @param uuid
666
+ * @param data
667
+ */
668
+ put(uuid: string, data: any): Promise<T>;
652
669
  /**
653
670
  * Get an object
654
671
  *
655
672
  * @param {String} uuid to get
656
673
  * @return {Promise} the object retrieved ( can be undefined if not found )
657
674
  */
658
- get(uid: string, ctx?: Context): Promise<T>;
675
+ get(uid: string, ctx?: Context, defaultValue?: any): Promise<T>;
659
676
  /**
660
677
  * Set one attribute in an object
661
678
  *
@@ -671,6 +688,9 @@ declare abstract class Store<T extends CoreModel = CoreModel, K extends StorePar
671
688
  * @override
672
689
  */
673
690
  protected simulateFind(query: WebdaQL.Query, uuids: string[]): Promise<StoreFindResult<T>>;
691
+ getOpenApiReplacements(): {
692
+ modelName: string;
693
+ };
674
694
  /**
675
695
  * Handle POST
676
696
  * @param ctx