@webda/core 2.0.0-beta.3 → 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 (276) hide show
  1. package/lib/application.d.ts +5 -5
  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 +20 -24
  7. package/lib/core.js +222 -315
  8. package/lib/core.js.map +1 -1
  9. package/lib/core.spec.js +332 -406
  10. package/lib/core.spec.js.map +1 -1
  11. package/lib/index.d.ts +49 -48
  12. package/lib/index.js +53 -70
  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 -152
  18. package/lib/models/aclmodel.spec.js.map +1 -1
  19. package/lib/models/coremodel.d.ts +7 -6
  20. package/lib/models/coremodel.js +65 -113
  21. package/lib/models/coremodel.js.map +1 -1
  22. package/lib/models/coremodel.spec.js +88 -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 -168
  34. package/lib/models/ownermodel.spec.js.map +1 -1
  35. package/lib/models/rolemodel.d.ts +1 -1
  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 -63
  39. package/lib/models/rolemodel.spec.js.map +1 -1
  40. package/lib/models/user.d.ts +3 -3
  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 +3 -3
  62. package/lib/queues/queueservice.js +51 -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 +23 -13
  75. package/lib/services/authentication.js +537 -563
  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 +7 -5
  80. package/lib/services/binary.js +211 -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 +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 +1 -1
  92. package/lib/services/configuration.js +78 -105
  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 +9 -4
  102. package/lib/services/cryptoservice.js +187 -221
  103. package/lib/services/cryptoservice.js.map +1 -1
  104. package/lib/services/cryptoservice.spec.js +88 -115
  105. package/lib/services/cryptoservice.spec.js.map +1 -1
  106. package/lib/services/debugmailer.d.ts +1 -1
  107. package/lib/services/debugmailer.js +13 -34
  108. package/lib/services/debugmailer.js.map +1 -1
  109. package/lib/services/debugmailer.spec.js +16 -29
  110. package/lib/services/debugmailer.spec.js.map +1 -1
  111. package/lib/services/echo.d.ts +2 -2
  112. package/lib/services/echo.js +15 -31
  113. package/lib/services/echo.js.map +1 -1
  114. package/lib/services/echo.spec.js +27 -40
  115. package/lib/services/echo.spec.js.map +1 -1
  116. package/lib/services/filebinary.d.ts +5 -5
  117. package/lib/services/filebinary.js +165 -210
  118. package/lib/services/filebinary.js.map +1 -1
  119. package/lib/services/filebinary.spec.d.ts +2 -1
  120. package/lib/services/filebinary.spec.js +106 -116
  121. package/lib/services/filebinary.spec.js.map +1 -1
  122. package/lib/services/fileconfiguration.d.ts +1 -1
  123. package/lib/services/fileconfiguration.js +25 -44
  124. package/lib/services/fileconfiguration.js.map +1 -1
  125. package/lib/services/fileconfiguration.spec.js +79 -109
  126. package/lib/services/fileconfiguration.spec.js.map +1 -1
  127. package/lib/services/invitationservice.d.ts +7 -7
  128. package/lib/services/invitationservice.js +274 -314
  129. package/lib/services/invitationservice.js.map +1 -1
  130. package/lib/services/invitationservice.spec.js +442 -448
  131. package/lib/services/invitationservice.spec.js.map +1 -1
  132. package/lib/services/kubernetesconfiguration.d.ts +1 -1
  133. package/lib/services/kubernetesconfiguration.js +41 -60
  134. package/lib/services/kubernetesconfiguration.js.map +1 -1
  135. package/lib/services/kubernetesconfiguration.spec.js +80 -98
  136. package/lib/services/kubernetesconfiguration.spec.js.map +1 -1
  137. package/lib/services/mailer.d.ts +4 -4
  138. package/lib/services/mailer.js +62 -86
  139. package/lib/services/mailer.js.map +1 -1
  140. package/lib/services/mailer.spec.js +86 -127
  141. package/lib/services/mailer.spec.js.map +1 -1
  142. package/lib/services/notificationservice.d.ts +3 -3
  143. package/lib/services/notificationservice.js +21 -42
  144. package/lib/services/notificationservice.js.map +1 -1
  145. package/lib/services/notificationservice.spec.js +47 -73
  146. package/lib/services/notificationservice.spec.js.map +1 -1
  147. package/lib/services/oauth.d.ts +4 -4
  148. package/lib/services/oauth.js +68 -83
  149. package/lib/services/oauth.js.map +1 -1
  150. package/lib/services/oauth.spec.js +130 -156
  151. package/lib/services/oauth.spec.js.map +1 -1
  152. package/lib/services/proxy.d.ts +2 -6
  153. package/lib/services/proxy.js +45 -58
  154. package/lib/services/proxy.js.map +1 -1
  155. package/lib/services/proxy.spec.js +34 -53
  156. package/lib/services/proxy.spec.js.map +1 -1
  157. package/lib/services/resource.d.ts +2 -2
  158. package/lib/services/resource.js +12 -18
  159. package/lib/services/resource.js.map +1 -1
  160. package/lib/services/resource.spec.js +67 -99
  161. package/lib/services/resource.spec.js.map +1 -1
  162. package/lib/services/service.d.ts +26 -3
  163. package/lib/services/service.js +68 -40
  164. package/lib/services/service.js.map +1 -1
  165. package/lib/services/service.spec.js +62 -67
  166. package/lib/services/service.spec.js.map +1 -1
  167. package/lib/services/version.d.ts +1 -1
  168. package/lib/services/version.js +3 -8
  169. package/lib/services/version.js.map +1 -1
  170. package/lib/services/version.spec.js +11 -24
  171. package/lib/services/version.spec.js.map +1 -1
  172. package/lib/stores/aggregator.d.ts +2 -2
  173. package/lib/stores/aggregator.js +37 -58
  174. package/lib/stores/aggregator.js.map +1 -1
  175. package/lib/stores/file.d.ts +3 -3
  176. package/lib/stores/file.js +93 -131
  177. package/lib/stores/file.js.map +1 -1
  178. package/lib/stores/file.spec.d.ts +2 -2
  179. package/lib/stores/file.spec.js +261 -289
  180. package/lib/stores/file.spec.js.map +1 -1
  181. package/lib/stores/mapper.d.ts +3 -3
  182. package/lib/stores/mapper.js +110 -137
  183. package/lib/stores/mapper.js.map +1 -1
  184. package/lib/stores/mapper.spec.js +131 -150
  185. package/lib/stores/mapper.spec.js.map +1 -1
  186. package/lib/stores/memory.d.ts +3 -3
  187. package/lib/stores/memory.js +98 -144
  188. package/lib/stores/memory.js.map +1 -1
  189. package/lib/stores/memory.spec.d.ts +2 -2
  190. package/lib/stores/memory.spec.js +124 -145
  191. package/lib/stores/memory.spec.js.map +1 -1
  192. package/lib/stores/store.d.ts +17 -13
  193. package/lib/stores/store.js +819 -847
  194. package/lib/stores/store.js.map +1 -1
  195. package/lib/stores/store.spec.d.ts +5 -4
  196. package/lib/stores/store.spec.js +624 -669
  197. package/lib/stores/store.spec.js.map +1 -1
  198. package/lib/stores/webdaql/WebdaQLLexer.d.ts +4 -4
  199. package/lib/stores/webdaql/WebdaQLLexer.js +9 -13
  200. package/lib/stores/webdaql/WebdaQLLexer.js.map +1 -1
  201. package/lib/stores/webdaql/WebdaQLParserLexer.d.ts +4 -4
  202. package/lib/stores/webdaql/WebdaQLParserLexer.js +9 -13
  203. package/lib/stores/webdaql/WebdaQLParserLexer.js.map +1 -1
  204. package/lib/stores/webdaql/WebdaQLParserListener.d.ts +2 -2
  205. package/lib/stores/webdaql/WebdaQLParserListener.js +1 -2
  206. package/lib/stores/webdaql/WebdaQLParserListener.js.map +1 -1
  207. package/lib/stores/webdaql/WebdaQLParserParser.d.ts +10 -10
  208. package/lib/stores/webdaql/WebdaQLParserParser.js +62 -91
  209. package/lib/stores/webdaql/WebdaQLParserParser.js.map +1 -1
  210. package/lib/stores/webdaql/WebdaQLParserVisitor.d.ts +2 -2
  211. package/lib/stores/webdaql/WebdaQLParserVisitor.js +1 -2
  212. package/lib/stores/webdaql/WebdaQLParserVisitor.js.map +1 -1
  213. package/lib/stores/webdaql/query.d.ts +4 -5
  214. package/lib/stores/webdaql/query.js +16 -19
  215. package/lib/stores/webdaql/query.js.map +1 -1
  216. package/lib/stores/webdaql/query.spec.js +30 -32
  217. package/lib/stores/webdaql/query.spec.js.map +1 -1
  218. package/lib/test.d.ts +3 -3
  219. package/lib/test.js +73 -100
  220. package/lib/test.js.map +1 -1
  221. package/lib/unpackedapplication.d.ts +1 -1
  222. package/lib/unpackedapplication.js +25 -31
  223. package/lib/unpackedapplication.js.map +1 -1
  224. package/lib/utils/abstractdeployer.js +1 -5
  225. package/lib/utils/abstractdeployer.js.map +1 -1
  226. package/lib/utils/abstractdeployer.spec.js +6 -8
  227. package/lib/utils/abstractdeployer.spec.js.map +1 -1
  228. package/lib/utils/context.d.ts +7 -5
  229. package/lib/utils/context.js +95 -103
  230. package/lib/utils/context.js.map +1 -1
  231. package/lib/utils/context.spec.js +139 -163
  232. package/lib/utils/context.spec.js.map +1 -1
  233. package/lib/utils/cookie.d.ts +3 -3
  234. package/lib/utils/cookie.js +42 -61
  235. package/lib/utils/cookie.js.map +1 -1
  236. package/lib/utils/cookie.spec.js +42 -64
  237. package/lib/utils/cookie.spec.js.map +1 -1
  238. package/lib/utils/esm.d.ts +4 -0
  239. package/lib/utils/esm.js +10 -0
  240. package/lib/utils/esm.js.map +1 -0
  241. package/lib/utils/httpcontext.d.ts +3 -0
  242. package/lib/utils/httpcontext.js +48 -65
  243. package/lib/utils/httpcontext.js.map +1 -1
  244. package/lib/utils/httpcontext.spec.js +37 -56
  245. package/lib/utils/httpcontext.spec.js.map +1 -1
  246. package/lib/utils/logger.d.ts +2 -2
  247. package/lib/utils/logger.js +15 -28
  248. package/lib/utils/logger.js.map +1 -1
  249. package/lib/utils/logger.spec.js +9 -11
  250. package/lib/utils/logger.spec.js.map +1 -1
  251. package/lib/utils/serializers.js +17 -20
  252. package/lib/utils/serializers.js.map +1 -1
  253. package/lib/utils/serializers.spec.js +43 -44
  254. package/lib/utils/serializers.spec.js.map +1 -1
  255. package/lib/utils/session.d.ts +6 -6
  256. package/lib/utils/session.js +37 -59
  257. package/lib/utils/session.js.map +1 -1
  258. package/lib/utils/session.spec.js +38 -51
  259. package/lib/utils/session.spec.js.map +1 -1
  260. package/lib/utils/waiter.d.ts +1 -1
  261. package/lib/utils/waiter.js +32 -52
  262. package/lib/utils/waiter.js.map +1 -1
  263. package/lib/utils/waiter.spec.js +75 -92
  264. package/lib/utils/waiter.spec.js.map +1 -1
  265. package/package.json +17 -12
  266. package/test/config-invitation.json +1 -3
  267. package/test/config.json +1 -2
  268. package/test/config.old.json +1 -2
  269. package/test/moddas/annotatedservice.js +5 -5
  270. package/test/moddas/debugmailer.js +2 -3
  271. package/test/moddas/fakeservice.js +2 -3
  272. package/test/moddas/voidstore.js +6 -4
  273. package/test/models/ident.js +2 -6
  274. package/test/models/task.js +3 -7
  275. package/test/package.json +2 -1
  276. package/webda.module.json +956 -189
@@ -1,25 +1,14 @@
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
- const assert = require("assert");
19
- const mocha_1 = require("@testdeck/mocha");
20
- const test_1 = require("./test");
21
- const httpcontext_1 = require("./utils/httpcontext");
22
- let RouterTest = class RouterTest extends test_1.WebdaTest {
7
+ import { suite, test } from "@testdeck/mocha";
8
+ import * as assert from "assert";
9
+ import { WebdaTest } from "./test.js";
10
+ import { HttpContext } from "./utils/httpcontext.js";
11
+ let RouterTest = class RouterTest extends WebdaTest {
23
12
  testGetRouteMethodsFromUrl() {
24
13
  const info = { methods: ["GET"], executor: "DefinedMailer" };
25
14
  this.webda.addRoute("/plop", info);
@@ -39,47 +28,39 @@ let RouterTest = class RouterTest extends test_1.WebdaTest {
39
28
  // Should be skipped
40
29
  this.webda.addRoute("/plop", info);
41
30
  }
42
- testRouterWithPrefix() {
43
- return __awaiter(this, void 0, void 0, function* () {
44
- this.webda.addRoute("/test/{uuid}", { methods: ["GET"], executor: "DefinedMailer" });
45
- this.webda.getGlobalParams().routePrefix = "/reprefix";
46
- assert.strictEqual(this.webda.getRouter().getFinalUrl("/test/plop"), "/reprefix/test/plop");
47
- assert.strictEqual(this.webda.getRouter().getFinalUrl("/reprefix/test/plop"), "/reprefix/test/plop");
48
- this.webda.getRouter().remapRoutes();
49
- });
31
+ async testRouterWithPrefix() {
32
+ this.webda.addRoute("/test/{uuid}", { methods: ["GET"], executor: "DefinedMailer" });
33
+ this.webda.getGlobalParams().routePrefix = "/reprefix";
34
+ assert.strictEqual(this.webda.getRouter().getFinalUrl("/test/plop"), "/reprefix/test/plop");
35
+ assert.strictEqual(this.webda.getRouter().getFinalUrl("/reprefix/test/plop"), "/reprefix/test/plop");
36
+ this.webda.getRouter().remapRoutes();
50
37
  }
51
- testRouteWithPrefix() {
52
- return __awaiter(this, void 0, void 0, function* () {
53
- this.webda.addRoute("/test/{uuid}", { methods: ["GET"], executor: "DefinedMailer" });
54
- let httpContext = new httpcontext_1.HttpContext("test.webda.io", "GET", "/prefix/test/plop", "https");
55
- httpContext.setPrefix("/prefix");
56
- let ctx = yield this.webda.newContext(httpContext);
57
- this.webda.updateContextWithRoute(ctx);
58
- assert.strictEqual(ctx.getPathParameters().uuid, "plop");
59
- });
38
+ async testRouteWithPrefix() {
39
+ this.webda.addRoute("/test/{uuid}", { methods: ["GET"], executor: "DefinedMailer" });
40
+ let httpContext = new HttpContext("test.webda.io", "GET", "/prefix/test/plop", "https");
41
+ httpContext.setPrefix("/prefix");
42
+ let ctx = await this.webda.newContext(httpContext);
43
+ this.webda.updateContextWithRoute(ctx);
44
+ assert.strictEqual(ctx.getPathParameters().uuid, "plop");
60
45
  }
61
- testRouteWithOverlap() {
62
- return __awaiter(this, void 0, void 0, function* () {
63
- this.webda.addRoute("/test/{uuid}", { methods: ["GET"], executor: "DefinedMailer" });
64
- this.webda.addRoute("/test/{id}", { methods: ["GET"], executor: "DefinedMailer" });
65
- let httpContext = new httpcontext_1.HttpContext("test.webda.io", "GET", "/test/plop", "https");
66
- let ctx = yield this.webda.newContext(httpContext);
67
- this.webda.updateContextWithRoute(ctx);
68
- assert.deepStrictEqual(this.webda.getRouter().getRouteMethodsFromUrl("/test/plop"), ["GET"]);
69
- });
46
+ async testRouteWithOverlap() {
47
+ this.webda.addRoute("/test/{uuid}", { methods: ["GET"], executor: "DefinedMailer" });
48
+ this.webda.addRoute("/test/{id}", { methods: ["GET"], executor: "DefinedMailer" });
49
+ let httpContext = new HttpContext("test.webda.io", "GET", "/test/plop", "https");
50
+ let ctx = await this.webda.newContext(httpContext);
51
+ this.webda.updateContextWithRoute(ctx);
52
+ assert.deepStrictEqual(this.webda.getRouter().getRouteMethodsFromUrl("/test/plop"), ["GET"]);
70
53
  }
71
- testRouteWithQueryParam() {
72
- return __awaiter(this, void 0, void 0, function* () {
73
- this.webda.addRoute("/test/plop{?uuid}", { methods: ["GET"], executor: "DefinedMailer" });
74
- let httpContext = new httpcontext_1.HttpContext("test.webda.io", "GET", "/test/plop", "http");
75
- let ctx = yield this.webda.newContext(httpContext);
76
- assert.strictEqual(this.webda.updateContextWithRoute(ctx), true);
77
- assert.strictEqual(ctx.getPathParameters().uuid, undefined);
78
- httpContext = new httpcontext_1.HttpContext("test.webda.io", "GET", "/test/plop?uuid=bouzouf", "http");
79
- ctx = yield this.webda.newContext(httpContext);
80
- assert.strictEqual(this.webda.updateContextWithRoute(ctx), true);
81
- assert.strictEqual(ctx.getPathParameters().uuid, "bouzouf");
82
- });
54
+ async testRouteWithQueryParam() {
55
+ this.webda.addRoute("/test/plop{?uuid}", { methods: ["GET"], executor: "DefinedMailer" });
56
+ let httpContext = new HttpContext("test.webda.io", "GET", "/test/plop", "http");
57
+ let ctx = await this.webda.newContext(httpContext);
58
+ assert.strictEqual(this.webda.updateContextWithRoute(ctx), true);
59
+ assert.strictEqual(ctx.getPathParameters().uuid, undefined);
60
+ httpContext = new HttpContext("test.webda.io", "GET", "/test/plop?uuid=bouzouf", "http");
61
+ ctx = await this.webda.newContext(httpContext);
62
+ assert.strictEqual(this.webda.updateContextWithRoute(ctx), true);
63
+ assert.strictEqual(ctx.getPathParameters().uuid, "bouzouf");
83
64
  }
84
65
  completeOpenApi() {
85
66
  let api = { paths: {}, info: { title: "Plop", version: "1.0" }, openapi: "", tags: [{ name: "test" }] };
@@ -105,26 +86,48 @@ let RouterTest = class RouterTest extends test_1.WebdaTest {
105
86
  assert.deepStrictEqual(api.paths["/plop"].get.tags, ["plop", "test"]);
106
87
  assert.ok(api.tags.filter(f => f.name === "plop").length === 1);
107
88
  }
89
+ cov() {
90
+ const info = {
91
+ methods: ["GET"],
92
+ executor: "DefinedMailer",
93
+ openapi: {
94
+ tags: ["plop", "test"],
95
+ hidden: true,
96
+ get: {
97
+ schemas: {
98
+ output: "test"
99
+ }
100
+ }
101
+ }
102
+ };
103
+ this.webda.addRoute("/cov", info);
104
+ this.webda.addRoute("/cov", info);
105
+ this.webda.addRoute("/cov", { ...info, methods: ["PUT"] });
106
+ this.webda.getRouter().removeRoute("/cov", info);
107
+ }
108
108
  };
109
109
  __decorate([
110
- mocha_1.test
110
+ test
111
111
  ], RouterTest.prototype, "testGetRouteMethodsFromUrl", null);
112
112
  __decorate([
113
- mocha_1.test
113
+ test
114
114
  ], RouterTest.prototype, "testRouterWithPrefix", null);
115
115
  __decorate([
116
- mocha_1.test
116
+ test
117
117
  ], RouterTest.prototype, "testRouteWithPrefix", null);
118
118
  __decorate([
119
- mocha_1.test
119
+ test
120
120
  ], RouterTest.prototype, "testRouteWithOverlap", null);
121
121
  __decorate([
122
- mocha_1.test
122
+ test
123
123
  ], RouterTest.prototype, "testRouteWithQueryParam", null);
124
124
  __decorate([
125
- mocha_1.test
125
+ test
126
126
  ], RouterTest.prototype, "completeOpenApi", null);
127
+ __decorate([
128
+ test
129
+ ], RouterTest.prototype, "cov", null);
127
130
  RouterTest = __decorate([
128
- mocha_1.suite
131
+ suite
129
132
  ], RouterTest);
130
133
  //# sourceMappingURL=router.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"router.spec.js","sourceRoot":"","sources":["../src/router.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.spec.js","sourceRoot":"","sources":["../src/router.spec.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { Queue } from "../queues/queueservice";
2
- import { Service, ServiceParameters } from "./service";
1
+ import { Queue } from "../queues/queueservice.js";
2
+ import { Service, ServiceParameters } from "./service.js";
3
3
  /**
4
4
  * AsyncEvent representation
5
5
  */
@@ -1,20 +1,8 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.EventService = exports.EventServiceParameters = exports.AsyncEvent = void 0;
13
- const service_1 = require("./service");
1
+ import { Service, ServiceParameters } from "./service.js";
14
2
  /**
15
3
  * AsyncEvent representation
16
4
  */
17
- class AsyncEvent {
5
+ export class AsyncEvent {
18
6
  constructor(service, type, payload = {}) {
19
7
  this.service = service;
20
8
  this.type = type;
@@ -29,12 +17,15 @@ class AsyncEvent {
29
17
  * @returns
30
18
  */
31
19
  toJSON() {
32
- return Object.assign(Object.assign({}, this), { payload: JSON.stringify(this.payload, (_key, value) => {
33
- if (value instanceof service_1.Service) {
20
+ return {
21
+ ...this,
22
+ payload: JSON.stringify(this.payload, (_key, value) => {
23
+ if (value instanceof Service) {
34
24
  return `${AsyncEvent.ServiceTag}${value.getName()}`;
35
25
  }
36
26
  return value;
37
- }) });
27
+ })
28
+ };
38
29
  }
39
30
  /**
40
31
  * Deserialize from the queue, reviving any detected service
@@ -61,7 +52,6 @@ class AsyncEvent {
61
52
  return this.service + "_" + this.type;
62
53
  }
63
54
  }
64
- exports.AsyncEvent = AsyncEvent;
65
55
  /**
66
56
  * Used when serializing a service
67
57
  */
@@ -69,23 +59,21 @@ AsyncEvent.ServiceTag = "#Webda:Service:";
69
59
  /**
70
60
  * @inheritdoc
71
61
  */
72
- class EventServiceParameters extends service_1.ServiceParameters {
62
+ export class EventServiceParameters extends ServiceParameters {
73
63
  /**
74
64
  * @inheritdoc
75
65
  */
76
66
  constructor(params) {
77
- var _a, _b;
78
67
  super(params);
79
- (_a = this.queues) !== null && _a !== void 0 ? _a : (this.queues = {});
80
- (_b = this.sync) !== null && _b !== void 0 ? _b : (this.sync = false);
68
+ this.queues ?? (this.queues = {});
69
+ this.sync ?? (this.sync = false);
81
70
  }
82
71
  }
83
- exports.EventServiceParameters = EventServiceParameters;
84
72
  /**
85
73
  * @category CoreServices
86
74
  * @WebdaModda AsyncEvents
87
75
  */
88
- class EventService extends service_1.Service {
76
+ class EventService extends Service {
89
77
  constructor() {
90
78
  super(...arguments);
91
79
  this._callbacks = {};
@@ -105,22 +93,20 @@ class EventService extends service_1.Service {
105
93
  * @ignore
106
94
  * Setup the default routes
107
95
  */
108
- computeParameters() {
109
- return __awaiter(this, void 0, void 0, function* () {
110
- Object.keys(this.parameters.queues).forEach(key => {
111
- // Define default as first queue
112
- if (!this._defaultQueue) {
113
- this._defaultQueue = key;
114
- }
115
- this._queues[key] = this.getService(this.parameters.queues[key]);
116
- });
117
- this._async = !this.parameters.sync;
118
- // Check we have at least one queue to handle asynchronous
119
- if (this._async && Object.keys(this._queues).length < 1) {
120
- this._webda.log("ERROR", "Need at least one queue for async to be ready", this.parameters);
121
- throw Error("Need at least one queue for async to be ready");
96
+ async computeParameters() {
97
+ Object.keys(this.parameters.queues).forEach(key => {
98
+ // Define default as first queue
99
+ if (!this._defaultQueue) {
100
+ this._defaultQueue = key;
122
101
  }
102
+ this._queues[key] = this.getService(this.parameters.queues[key]);
123
103
  });
104
+ this._async = !this.parameters.sync;
105
+ // Check we have at least one queue to handle asynchronous
106
+ if (this._async && Object.keys(this._queues).length < 1) {
107
+ this._webda.log("ERROR", "Need at least one queue for async to be ready", this.parameters);
108
+ throw Error("Need at least one queue for async to be ready");
109
+ }
124
110
  }
125
111
  /**
126
112
  * Bind a asynchronous event
@@ -169,16 +155,14 @@ class EventService extends service_1.Service {
169
155
  * @param payload
170
156
  * @returns
171
157
  */
172
- pushEvent(service, type, queue, payload) {
173
- return __awaiter(this, void 0, void 0, function* () {
174
- let event = new AsyncEvent(service.getName(), type, payload);
175
- if (this._async) {
176
- return this._queues[queue].sendMessage(event);
177
- }
178
- else {
179
- return this.handleEvent(event);
180
- }
181
- });
158
+ async pushEvent(service, type, queue, payload) {
159
+ let event = new AsyncEvent(service.getName(), type, payload);
160
+ if (this._async) {
161
+ return this._queues[queue].sendMessage(event);
162
+ }
163
+ else {
164
+ return this.handleEvent(event);
165
+ }
182
166
  }
183
167
  /**
184
168
  * Process one event
@@ -186,28 +170,24 @@ class EventService extends service_1.Service {
186
170
  * @param event
187
171
  * @returns
188
172
  */
189
- handleEvent(event) {
190
- return __awaiter(this, void 0, void 0, function* () {
191
- if (!this._callbacks[event.getMapper()]) {
192
- return Promise.reject("Callbacks should not be empty, possible application version mismatch between emitter and worker");
193
- }
194
- let promises = [];
195
- this._callbacks[event.getMapper()].map(executor => {
196
- promises.push(executor(event.payload, event));
197
- });
198
- // Need to handle the failure
199
- yield Promise.all(promises);
173
+ async handleEvent(event) {
174
+ if (!this._callbacks[event.getMapper()]) {
175
+ return Promise.reject("Callbacks should not be empty, possible application version mismatch between emitter and worker");
176
+ }
177
+ let promises = [];
178
+ this._callbacks[event.getMapper()].map(executor => {
179
+ promises.push(executor(event.payload, event));
200
180
  });
181
+ // Need to handle the failure
182
+ await Promise.all(promises);
201
183
  }
202
184
  /**
203
185
  *
204
186
  * @param eventBody serialized event
205
187
  * @returns
206
188
  */
207
- handleRawEvent(event) {
208
- return __awaiter(this, void 0, void 0, function* () {
209
- return this.handleEvent(AsyncEvent.fromQueue(event, this));
210
- });
189
+ async handleRawEvent(event) {
190
+ return this.handleEvent(AsyncEvent.fromQueue(event, this));
211
191
  }
212
192
  /**
213
193
  * Process asynchronous event on queue
@@ -220,5 +200,5 @@ class EventService extends service_1.Service {
220
200
  return this._queues[queue].consume(this.handleRawEvent.bind(this));
221
201
  }
222
202
  }
223
- exports.EventService = EventService;
203
+ export { EventService };
224
204
  //# sourceMappingURL=asyncevents.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"asyncevents.js","sourceRoot":"","sources":["../../src/services/asyncevents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"asyncevents.js","sourceRoot":"","sources":["../../src/services/asyncevents.ts"],"names":[],"mappings":"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"}
@@ -1,79 +1,66 @@
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
- const mocha_1 = require("@testdeck/mocha");
19
- const assert = require("assert");
20
- const sinon = require("sinon");
21
- const test_1 = require("../test");
22
- const asyncevents_1 = require("./asyncevents");
23
- let AsyncEventsTest = class AsyncEventsTest extends test_1.WebdaTest {
24
- simple() {
25
- return __awaiter(this, void 0, void 0, function* () {
26
- var users = this.webda.getService("users");
27
- var eventsCount = 0;
28
- var priorityEventsCount = 0;
29
- var defaultQueue = this.webda.getService("EventQueue");
30
- var priorityQueue = this.webda.getService("PriorityEventQueue");
31
- var eventService = this.webda.getService("AsyncEvents");
32
- users.onAsync("Store.Saved", () => {
33
- eventsCount++;
34
- });
35
- users.onAsync("Store.Deleted", () => {
36
- priorityEventsCount++;
37
- }, "priority");
38
- yield users.save({
39
- uuid: "test",
40
- type: 1
41
- });
42
- let size = yield defaultQueue.size();
43
- assert.strictEqual(size, 1);
44
- size = yield priorityQueue.size();
45
- assert.strictEqual(size, 0);
46
- yield users.delete("test");
47
- size = yield priorityQueue.size();
48
- assert.strictEqual(size, 1);
49
- size = yield defaultQueue.size();
50
- assert.strictEqual(size, 1);
51
- // Now that we have queued all messages see if they unqueue correctly
52
- // We need to emulate the worker as it wont stop pulling from the queue
53
- assert.strictEqual(eventsCount, 0);
54
- assert.strictEqual(priorityEventsCount, 0);
55
- let evts = yield defaultQueue.receiveMessage();
56
- // @ts-ignore
57
- yield eventService.handleRawEvent(evts[0].Message);
58
- assert.strictEqual(eventsCount, 1);
59
- assert.strictEqual(priorityEventsCount, 0);
60
- evts = yield priorityQueue.receiveMessage();
61
- // @ts-ignore
62
- yield eventService.handleRawEvent(evts[0].Message);
63
- assert.strictEqual(eventsCount, 1);
64
- assert.strictEqual(priorityEventsCount, 1);
65
- // Disable async and verify that it directly update now
66
- eventService._async = false;
67
- yield users.save({
68
- uuid: "test",
69
- type: 1
70
- });
71
- assert.strictEqual(eventsCount, 2);
72
- assert.strictEqual(priorityEventsCount, 1);
73
- yield users.delete("test");
74
- assert.strictEqual(eventsCount, 2);
75
- assert.strictEqual(priorityEventsCount, 2);
7
+ import { suite, test } from "@testdeck/mocha";
8
+ import * as assert from "assert";
9
+ import * as sinon from "sinon";
10
+ import { WebdaTest } from "../test.js";
11
+ import { EventService } from "./asyncevents.js";
12
+ let AsyncEventsTest = class AsyncEventsTest extends WebdaTest {
13
+ async simple() {
14
+ var users = this.webda.getService("users");
15
+ var eventsCount = 0;
16
+ var priorityEventsCount = 0;
17
+ var defaultQueue = this.webda.getService("EventQueue");
18
+ var priorityQueue = this.webda.getService("PriorityEventQueue");
19
+ var eventService = this.webda.getService("AsyncEvents");
20
+ users.onAsync("Store.Saved", () => {
21
+ eventsCount++;
22
+ });
23
+ users.onAsync("Store.Deleted", () => {
24
+ priorityEventsCount++;
25
+ }, "priority");
26
+ await users.save({
27
+ uuid: "test",
28
+ type: 1
76
29
  });
30
+ let size = await defaultQueue.size();
31
+ assert.strictEqual(size, 1);
32
+ size = await priorityQueue.size();
33
+ assert.strictEqual(size, 0);
34
+ await users.delete("test");
35
+ size = await priorityQueue.size();
36
+ assert.strictEqual(size, 1);
37
+ size = await defaultQueue.size();
38
+ assert.strictEqual(size, 1);
39
+ // Now that we have queued all messages see if they unqueue correctly
40
+ // We need to emulate the worker as it wont stop pulling from the queue
41
+ assert.strictEqual(eventsCount, 0);
42
+ assert.strictEqual(priorityEventsCount, 0);
43
+ let evts = await defaultQueue.receiveMessage();
44
+ // @ts-ignore
45
+ await eventService.handleRawEvent(evts[0].Message);
46
+ assert.strictEqual(eventsCount, 1);
47
+ assert.strictEqual(priorityEventsCount, 0);
48
+ evts = await priorityQueue.receiveMessage();
49
+ // @ts-ignore
50
+ await eventService.handleRawEvent(evts[0].Message);
51
+ assert.strictEqual(eventsCount, 1);
52
+ assert.strictEqual(priorityEventsCount, 1);
53
+ // Disable async and verify that it directly update now
54
+ eventService._async = false;
55
+ await users.save({
56
+ uuid: "test",
57
+ type: 1
58
+ });
59
+ assert.strictEqual(eventsCount, 2);
60
+ assert.strictEqual(priorityEventsCount, 1);
61
+ await users.delete("test");
62
+ assert.strictEqual(eventsCount, 2);
63
+ assert.strictEqual(priorityEventsCount, 2);
77
64
  }
78
65
  worker() {
79
66
  let eventService = this.webda.getService("AsyncEvents");
@@ -90,46 +77,42 @@ let AsyncEventsTest = class AsyncEventsTest extends test_1.WebdaTest {
90
77
  assert.strictEqual(eventService.worker("plop"), "ploper");
91
78
  assert.strictEqual(eventService.worker(), "default");
92
79
  }
93
- computeParameters() {
94
- return __awaiter(this, void 0, void 0, function* () {
95
- let evt = new asyncevents_1.EventService(this.webda, "none", { sync: false });
96
- yield assert.rejects(() => evt.computeParameters(), /Need at least one queue for async to be ready/);
97
- });
80
+ async computeParameters() {
81
+ let evt = new EventService(this.webda, "none", { sync: false });
82
+ await assert.rejects(() => evt.computeParameters(), /Need at least one queue for async to be ready/);
98
83
  }
99
- cov() {
100
- return __awaiter(this, void 0, void 0, function* () {
101
- let evt = new asyncevents_1.EventService(this.webda, "none", { sync: true });
102
- assert.throws(() => evt.bindAsyncListener(evt, "plop", undefined, "plop"), /EventService is not configured for asynchronous/);
103
- yield assert.rejects(
104
- // @ts-ignore
105
- () => evt.handleEvent({ getMapper: () => "plop" }), /Callbacks should not be empty, possible application version mismatch between emitter and worker/);
106
- evt._async = true;
107
- let stub = sinon.spy(this.webda.getService("users"), "on");
108
- try {
109
- evt.bindAsyncListener(this.webda.getService("users"), "plop", () => { }, "priority");
110
- evt.bindAsyncListener(this.webda.getService("users"), "plop", () => { }, "priority");
111
- // Should call 'on' only once
112
- assert.strictEqual(stub.callCount, 1);
113
- }
114
- finally {
115
- stub.restore();
116
- }
117
- });
84
+ async cov() {
85
+ let evt = new EventService(this.webda, "none", { sync: true });
86
+ assert.throws(() => evt.bindAsyncListener(evt, "plop", undefined, "plop"), /EventService is not configured for asynchronous/);
87
+ await assert.rejects(
88
+ // @ts-ignore
89
+ () => evt.handleEvent({ getMapper: () => "plop" }), /Callbacks should not be empty, possible application version mismatch between emitter and worker/);
90
+ evt._async = true;
91
+ let stub = sinon.spy(this.webda.getService("users"), "on");
92
+ try {
93
+ evt.bindAsyncListener(this.webda.getService("users"), "plop", () => { }, "priority");
94
+ evt.bindAsyncListener(this.webda.getService("users"), "plop", () => { }, "priority");
95
+ // Should call 'on' only once
96
+ assert.strictEqual(stub.callCount, 1);
97
+ }
98
+ finally {
99
+ stub.restore();
100
+ }
118
101
  }
119
102
  };
120
103
  __decorate([
121
- mocha_1.test
104
+ test
122
105
  ], AsyncEventsTest.prototype, "simple", null);
123
106
  __decorate([
124
- mocha_1.test
107
+ test
125
108
  ], AsyncEventsTest.prototype, "worker", null);
126
109
  __decorate([
127
- mocha_1.test
110
+ test
128
111
  ], AsyncEventsTest.prototype, "computeParameters", null);
129
112
  __decorate([
130
- mocha_1.test
113
+ test
131
114
  ], AsyncEventsTest.prototype, "cov", null);
132
115
  AsyncEventsTest = __decorate([
133
- mocha_1.suite
116
+ suite
134
117
  ], AsyncEventsTest);
135
118
  //# sourceMappingURL=asyncevents.spec.js.map