@webda/core 1.2.1 → 1.6.0-beta.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 (199) hide show
  1. package/lib/application.d.ts +3 -0
  2. package/lib/application.js +26 -22
  3. package/lib/application.js.map +1 -1
  4. package/lib/application.spec.js +185 -2
  5. package/lib/application.spec.js.map +1 -1
  6. package/lib/core.d.ts +62 -6
  7. package/lib/core.js +127 -86
  8. package/lib/core.js.map +1 -1
  9. package/lib/core.spec.js +151 -6
  10. package/lib/core.spec.js.map +1 -1
  11. package/lib/index.d.ts +4 -0
  12. package/lib/index.js +4 -0
  13. package/lib/index.js.map +1 -1
  14. package/lib/models/aclmodel.d.ts +42 -3
  15. package/lib/models/aclmodel.js +58 -3
  16. package/lib/models/aclmodel.js.map +1 -1
  17. package/lib/models/aclmodel.spec.js +46 -0
  18. package/lib/models/aclmodel.spec.js.map +1 -1
  19. package/lib/models/coremodel.d.ts +58 -10
  20. package/lib/models/coremodel.js +39 -32
  21. package/lib/models/coremodel.js.map +1 -1
  22. package/lib/models/coremodel.spec.js +68 -6
  23. package/lib/models/coremodel.spec.js.map +1 -1
  24. package/lib/models/ident.d.ts +8 -2
  25. package/lib/models/ident.js.map +1 -1
  26. package/lib/models/ident.spec.js +16 -0
  27. package/lib/models/ident.spec.js.map +1 -1
  28. package/lib/models/ownermodel.d.ts +1 -1
  29. package/lib/models/ownermodel.js.map +1 -1
  30. package/lib/models/ownermodel.spec.js +22 -19
  31. package/lib/models/ownermodel.spec.js.map +1 -1
  32. package/lib/models/user.d.ts +2 -0
  33. package/lib/models/user.js +4 -2
  34. package/lib/models/user.js.map +1 -1
  35. package/lib/models/user.spec.js +9 -2
  36. package/lib/models/user.spec.js.map +1 -1
  37. package/lib/queues/filequeue.d.ts +63 -0
  38. package/lib/queues/filequeue.js +161 -0
  39. package/lib/queues/filequeue.js.map +1 -0
  40. package/lib/queues/filequeue.spec.d.ts +1 -0
  41. package/lib/queues/filequeue.spec.js +90 -0
  42. package/lib/queues/filequeue.spec.js.map +1 -0
  43. package/lib/queues/memoryqueue.d.ts +18 -4
  44. package/lib/queues/memoryqueue.js +20 -13
  45. package/lib/queues/memoryqueue.js.map +1 -1
  46. package/lib/queues/memoryqueue.spec.js +142 -39
  47. package/lib/queues/memoryqueue.spec.js.map +1 -1
  48. package/lib/queues/pubsubservice.d.ts +27 -0
  49. package/lib/queues/pubsubservice.js +21 -0
  50. package/lib/queues/pubsubservice.js.map +1 -0
  51. package/lib/queues/queue.spec.js +16 -7
  52. package/lib/queues/queue.spec.js.map +1 -1
  53. package/lib/queues/queueservice.d.ts +108 -13
  54. package/lib/queues/queueservice.js +100 -36
  55. package/lib/queues/queueservice.js.map +1 -1
  56. package/lib/router.js +4 -6
  57. package/lib/router.js.map +1 -1
  58. package/lib/router.spec.js +27 -2
  59. package/lib/router.spec.js.map +1 -1
  60. package/lib/services/asyncevents.d.ts +110 -5
  61. package/lib/services/asyncevents.js +134 -39
  62. package/lib/services/asyncevents.js.map +1 -1
  63. package/lib/services/asyncevents.spec.js +58 -4
  64. package/lib/services/asyncevents.spec.js.map +1 -1
  65. package/lib/services/authentication.d.ts +57 -5
  66. package/lib/services/authentication.js +93 -84
  67. package/lib/services/authentication.js.map +1 -1
  68. package/lib/services/authentication.spec.js +118 -82
  69. package/lib/services/authentication.spec.js.map +1 -1
  70. package/lib/services/binary.d.ts +175 -48
  71. package/lib/services/binary.js +205 -170
  72. package/lib/services/binary.js.map +1 -1
  73. package/lib/services/binary.spec.d.ts +22 -3
  74. package/lib/services/binary.spec.js +327 -22
  75. package/lib/services/binary.spec.js.map +1 -1
  76. package/lib/services/configuration.d.ts +94 -13
  77. package/lib/services/configuration.js +98 -28
  78. package/lib/services/configuration.js.map +1 -1
  79. package/lib/services/configuration.spec.js +40 -1
  80. package/lib/services/configuration.spec.js.map +1 -1
  81. package/lib/services/cron.d.ts +4 -4
  82. package/lib/services/cron.js +37 -53
  83. package/lib/services/cron.js.map +1 -1
  84. package/lib/services/cron.spec.d.ts +1 -0
  85. package/lib/services/cron.spec.js +76 -0
  86. package/lib/services/cron.spec.js.map +1 -0
  87. package/lib/services/debugmailer.spec.js +18 -4
  88. package/lib/services/debugmailer.spec.js.map +1 -1
  89. package/lib/services/echo.js +22 -13
  90. package/lib/services/echo.js.map +1 -1
  91. package/lib/services/echo.spec.d.ts +1 -0
  92. package/lib/services/echo.spec.js +52 -0
  93. package/lib/services/echo.spec.js.map +1 -0
  94. package/lib/services/filebinary.d.ts +16 -9
  95. package/lib/services/filebinary.js +58 -73
  96. package/lib/services/filebinary.js.map +1 -1
  97. package/lib/services/filebinary.spec.d.ts +8 -1
  98. package/lib/services/filebinary.spec.js +133 -7
  99. package/lib/services/filebinary.spec.js.map +1 -1
  100. package/lib/services/fileconfiguration.d.ts +9 -3
  101. package/lib/services/fileconfiguration.js +13 -6
  102. package/lib/services/fileconfiguration.js.map +1 -1
  103. package/lib/services/fileconfiguration.spec.js +100 -5
  104. package/lib/services/fileconfiguration.spec.js.map +1 -1
  105. package/lib/services/kubernetesconfiguration.d.ts +8 -2
  106. package/lib/services/kubernetesconfiguration.js +16 -5
  107. package/lib/services/kubernetesconfiguration.js.map +1 -1
  108. package/lib/services/kubernetesconfiguration.spec.js +53 -16
  109. package/lib/services/kubernetesconfiguration.spec.js.map +1 -1
  110. package/lib/services/mailer.d.ts +11 -2
  111. package/lib/services/mailer.js +28 -34
  112. package/lib/services/mailer.js.map +1 -1
  113. package/lib/services/mailer.spec.js +69 -23
  114. package/lib/services/mailer.spec.js.map +1 -1
  115. package/lib/services/oauth.d.ts +5 -2
  116. package/lib/services/oauth.js +22 -8
  117. package/lib/services/oauth.js.map +1 -1
  118. package/lib/services/oauth.spec.js +33 -3
  119. package/lib/services/oauth.spec.js.map +1 -1
  120. package/lib/services/resource.spec.js +39 -2
  121. package/lib/services/resource.spec.js.map +1 -1
  122. package/lib/services/service.d.ts +16 -0
  123. package/lib/services/service.js +47 -6
  124. package/lib/services/service.js.map +1 -1
  125. package/lib/services/service.spec.d.ts +1 -0
  126. package/lib/services/service.spec.js +119 -0
  127. package/lib/services/service.spec.js.map +1 -0
  128. package/lib/stores/aggregator.d.ts +43 -0
  129. package/lib/stores/aggregator.js +106 -0
  130. package/lib/stores/aggregator.js.map +1 -0
  131. package/lib/stores/file.d.ts +49 -11
  132. package/lib/stores/file.js +84 -81
  133. package/lib/stores/file.js.map +1 -1
  134. package/lib/stores/file.spec.d.ts +6 -1
  135. package/lib/stores/file.spec.js +134 -9
  136. package/lib/stores/file.spec.js.map +1 -1
  137. package/lib/stores/mapper.d.ts +151 -0
  138. package/lib/stores/mapper.js +294 -0
  139. package/lib/stores/mapper.js.map +1 -0
  140. package/lib/stores/mapper.spec.d.ts +1 -0
  141. package/lib/stores/mapper.spec.js +55 -0
  142. package/lib/stores/mapper.spec.js.map +1 -0
  143. package/lib/stores/memory.d.ts +52 -7
  144. package/lib/stores/memory.js +71 -33
  145. package/lib/stores/memory.js.map +1 -1
  146. package/lib/stores/memory.spec.d.ts +6 -1
  147. package/lib/stores/memory.spec.js +65 -4
  148. package/lib/stores/memory.spec.js.map +1 -1
  149. package/lib/stores/store.d.ts +263 -126
  150. package/lib/stores/store.js +285 -493
  151. package/lib/stores/store.js.map +1 -1
  152. package/lib/stores/store.spec.d.ts +20 -0
  153. package/lib/stores/store.spec.js +242 -18
  154. package/lib/stores/store.spec.js.map +1 -1
  155. package/lib/test.d.ts +1 -7
  156. package/lib/test.js +3 -12
  157. package/lib/test.js.map +1 -1
  158. package/lib/utils/abstractdeployer.spec.d.ts +1 -0
  159. package/lib/utils/abstractdeployer.spec.js +23 -0
  160. package/lib/utils/abstractdeployer.spec.js.map +1 -0
  161. package/lib/utils/context.d.ts +25 -2
  162. package/lib/utils/context.js +33 -12
  163. package/lib/utils/context.js.map +1 -1
  164. package/lib/utils/context.spec.js +81 -11
  165. package/lib/utils/context.spec.js.map +1 -1
  166. package/lib/utils/cookie.d.ts +12 -0
  167. package/lib/utils/cookie.js +13 -1
  168. package/lib/utils/cookie.js.map +1 -1
  169. package/lib/utils/cookie.spec.js +42 -11
  170. package/lib/utils/cookie.spec.js.map +1 -1
  171. package/lib/utils/logger.d.ts +23 -4
  172. package/lib/utils/logger.js +29 -6
  173. package/lib/utils/logger.js.map +1 -1
  174. package/lib/utils/logger.spec.js +8 -0
  175. package/lib/utils/logger.spec.js.map +1 -1
  176. package/lib/utils/serializers.d.ts +5 -5
  177. package/lib/utils/serializers.js +10 -10
  178. package/lib/utils/serializers.js.map +1 -1
  179. package/lib/utils/serializers.spec.js +41 -16
  180. package/lib/utils/serializers.spec.js.map +1 -1
  181. package/lib/utils/waiter.d.ts +59 -1
  182. package/lib/utils/waiter.js +86 -3
  183. package/lib/utils/waiter.js.map +1 -1
  184. package/lib/utils/waiter.spec.js +48 -4
  185. package/lib/utils/waiter.spec.js.map +1 -1
  186. package/package.json +16 -11
  187. package/test/badapp/package.json +4 -0
  188. package/test/badapp/webda.config.json +1 -0
  189. package/test/cachedapp/webda.config.json +7 -0
  190. package/test/config-file-no-reload.json +70 -0
  191. package/test/config-file-reload.json +7 -1
  192. package/test/config-kube-reload.json +7 -1
  193. package/test/config.json +45 -21
  194. package/test/config.old-default.json +0 -16
  195. package/test/config.old.json +0 -16
  196. package/test/deployments/invalid.json +1 -0
  197. package/test/moddas/fakeservice.js +5 -0
  198. package/test/models/ident.js +10 -14
  199. package/test/models/task.js +2 -4
@@ -9,68 +9,132 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.Queue = void 0;
12
+ exports.Queue = exports.QueueParameters = void 0;
13
13
  const service_1 = require("../services/service");
14
+ const waiter_1 = require("../utils/waiter");
15
+ const pubsubservice_1 = require("./pubsubservice");
16
+ /**
17
+ * @inheritdoc
18
+ */
19
+ class QueueParameters extends service_1.ServiceParameters {
20
+ /**
21
+ * @inheritdoc
22
+ */
23
+ constructor(params) {
24
+ var _a, _b;
25
+ super(params);
26
+ (_a = this.workerParallelism) !== null && _a !== void 0 ? _a : (this.workerParallelism = true);
27
+ (_b = this.maxConsumers) !== null && _b !== void 0 ? _b : (this.maxConsumers = 10);
28
+ }
29
+ }
30
+ exports.QueueParameters = QueueParameters;
14
31
  /**
15
32
  * AbstractQueue implements the worker system
16
33
  *
17
- * A Worker allows you to define how to process message from
34
+ * A Consumer allows you to define how to process message from
18
35
  * the queue, implementing the retries policy
19
36
  *
20
37
  * @category CoreServices
21
38
  */
22
- class Queue extends service_1.Service {
23
- _workerResume() {
24
- return __awaiter(this, void 0, void 0, function* () {
25
- if (this._timeout) {
26
- clearTimeout(this._timeout);
27
- }
28
- this._timeout = setTimeout(this._workerReceiveMessage.bind(this), 1000);
29
- });
39
+ class Queue extends pubsubservice_1.PubSubService {
40
+ /**
41
+ * Create the delayer
42
+ */
43
+ resolve() {
44
+ super.resolve();
45
+ this.delayer = waiter_1.WaitDelayerFactories.get(this.parameters.workerDelayer);
30
46
  }
31
- _workerReceiveMessage() {
47
+ /**
48
+ * Receive and process message from the queue
49
+ *
50
+ * @returns
51
+ */
52
+ consumerReceiveMessage() {
32
53
  return __awaiter(this, void 0, void 0, function* () {
33
- if (this._interrupt) {
34
- return;
35
- }
36
54
  try {
37
- let items = yield this.receiveMessage();
55
+ let speed = Date.now();
56
+ let items = yield this.receiveMessage(this.eventPrototype);
57
+ speed = Date.now() - speed;
58
+ this.failedIterations = 0;
38
59
  if (items.length === 0) {
39
- return this._workerResume();
60
+ return { speed, items: items.length };
40
61
  }
41
- for (let msg of items) {
42
- let event = JSON.parse(msg.Body);
62
+ const msgWorker = (msg) => __awaiter(this, void 0, void 0, function* () {
43
63
  try {
44
- yield this.callback(event);
64
+ yield this.callback(msg.Message);
45
65
  yield this.deleteMessage(msg.ReceiptHandle);
46
66
  }
47
67
  catch (err) {
48
- this._webda.log("ERROR", "Notification", err);
68
+ this.getWebda().log("ERROR", `Message ${msg.ReceiptHandle}`, err);
49
69
  }
70
+ });
71
+ if (this.parameters.workerParallelism) {
72
+ // Parallelized processing
73
+ yield Promise.all(items.map(msgWorker));
50
74
  }
51
- return this._workerResume();
75
+ else {
76
+ // Serialized processing
77
+ for (const item of items) {
78
+ yield msgWorker(item);
79
+ }
80
+ }
81
+ return { speed, items: items.length };
52
82
  }
53
83
  catch (err) {
54
- this.pause *= 2;
55
- this._webda.log("ERROR", err);
56
- setTimeout(this._workerReceiveMessage.bind(this), this.pause * 1000);
84
+ this.failedIterations += 1;
85
+ this.log("ERROR", err);
86
+ yield new Promise(resolve => setTimeout(resolve, this.delayer(this.failedIterations)));
87
+ return { speed: 0, items: -1 };
57
88
  }
58
89
  });
59
90
  }
60
- worker(callback) {
61
- return __awaiter(this, void 0, void 0, function* () {
62
- this.pause = 1;
63
- this.callback = callback;
64
- while (!this._interrupt) {
65
- yield this._workerReceiveMessage();
91
+ /**
92
+ * Return the max consumers for the queue
93
+ *
94
+ * It is overridable so if a queue can retrieve several message at once
95
+ * it can just use the worker // and several messages at once
96
+ *
97
+ * SQS for example will return this.parameters.maxConsumers / 10
98
+ *
99
+ * @returns
100
+ */
101
+ getMaxConsumers() {
102
+ return this.parameters.maxConsumers;
103
+ }
104
+ /**
105
+ * Work a queue calling the callback with every Event received
106
+ * If the callback is called without exception the `deleteMessage` is called
107
+ * @param callback
108
+ * @param eventPrototype
109
+ */
110
+ consume(callback, eventPrototype) {
111
+ this.failedIterations = 0;
112
+ this.callback = callback;
113
+ this.eventPrototype = eventPrototype;
114
+ let consumers = new Set();
115
+ let childQueueCallback = (canceller) => __awaiter(this, void 0, void 0, function* () {
116
+ let res = yield this.consumerReceiveMessage();
117
+ // If an error occured or no results found, stop the child
118
+ if (res.items <= 0) {
119
+ yield canceller();
66
120
  }
67
121
  });
68
- }
69
- stop() {
70
- this._interrupt = true;
71
- if (this._timeout) {
72
- clearTimeout(this._timeout);
73
- }
122
+ let parentQueueCallback = (canceller) => __awaiter(this, void 0, void 0, function* () {
123
+ let res = yield this.consumerReceiveMessage();
124
+ if (res.items > 0 && res.speed < 3000 && consumers.size < this.getMaxConsumers() - 1) {
125
+ this.log("TRACE", `Launching a new queue consumer for ${this.getName()}`);
126
+ let consumer = new waiter_1.CancelableLoopPromise(childQueueCallback);
127
+ // Add consumer to our list
128
+ consumers.add(consumer);
129
+ // Remove consumer once finished
130
+ consumer.finally(() => {
131
+ consumers.delete(consumer);
132
+ });
133
+ }
134
+ });
135
+ return new waiter_1.CancelableLoopPromise(parentQueueCallback, () => __awaiter(this, void 0, void 0, function* () {
136
+ yield Promise.all(Array.from(consumers).map(c => c.cancel()));
137
+ }));
74
138
  }
75
139
  }
76
140
  exports.Queue = Queue;
@@ -1 +1 @@
1
- {"version":3,"file":"queueservice.js","sourceRoot":"","sources":["../../src/queues/queueservice.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iDAAiE;AAEjE;;;;;;;GAOG;AACH,MAAe,KAAuD,SAAQ,iBAAU;IAchF,aAAa;;YACjB,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC7B;YACD,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;QAC1E,CAAC;KAAA;IAEK,qBAAqB;;YACzB,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,OAAO;aACR;YACD,IAAI;gBACF,IAAI,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;oBACtB,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC;iBAC7B;gBACD,KAAK,IAAI,GAAG,IAAI,KAAK,EAAE;oBACrB,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACjC,IAAI;wBACF,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;wBAC3B,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;qBAC7C;oBAAC,OAAO,GAAG,EAAE;wBACZ,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,CAAC,CAAC;qBAC/C;iBACF;gBACD,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC;aAC7B;YAAC,OAAO,GAAG,EAAE;gBACZ,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;gBAChB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;gBAC9B,UAAU,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;aACtE;QACH,CAAC;KAAA;IAEK,MAAM,CAAC,QAAQ;;YACnB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;YACf,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE;gBACvB,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;aACpC;QACH,CAAC;KAAA;IAED,IAAI;QACF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC7B;IACH,CAAC;CACF;AAEQ,sBAAK"}
1
+ {"version":3,"file":"queueservice.js","sourceRoot":"","sources":["../../src/queues/queueservice.ts"],"names":[],"mappings":"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"}
package/lib/router.js CHANGED
@@ -19,7 +19,9 @@ class Router {
19
19
  * @param {Object} info the type of executor
20
20
  */
21
21
  addRoute(url, info) {
22
+ var _a;
22
23
  this.webda.log("TRACE", `Add route ${url}`);
24
+ (_a = info.openapi) !== null && _a !== void 0 ? _a : (info.openapi = {});
23
25
  if (this.routes[url]) {
24
26
  // If route is already added do not do anything
25
27
  if (this.routes[url].includes(info)) {
@@ -32,7 +34,8 @@ class Router {
32
34
  this.webda.log("WARN", `${m} ${url} overlap with another defined route`);
33
35
  }
34
36
  });
35
- this.routes[url].push(info);
37
+ // Last added need to be overriding
38
+ this.routes[url].unshift(info);
36
39
  }
37
40
  else {
38
41
  this.routes[url] = [info];
@@ -169,11 +172,6 @@ class Router {
169
172
  };
170
173
  for (let i in this.routes) {
171
174
  this.routes[i].forEach((route) => {
172
- if (!route.openapi) {
173
- route.openapi = {
174
- methods: {}
175
- };
176
- }
177
175
  if (route.openapi.hidden && skipHidden) {
178
176
  return;
179
177
  }
package/lib/router.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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"}
@@ -21,11 +21,12 @@ const test_1 = require("./test");
21
21
  const context_1 = require("./utils/context");
22
22
  let RouterTest = class RouterTest extends test_1.WebdaTest {
23
23
  testGetRouteMethodsFromUrl() {
24
- this.webda.addRoute("/plop", { methods: ["GET"], executor: "DefinedMailer" });
24
+ const info = { methods: ["GET"], executor: "DefinedMailer" };
25
+ this.webda.addRoute("/plop", info);
25
26
  assert.deepStrictEqual(this.webda.getRouter().getRouteMethodsFromUrl("/"), ["GET", "POST"]);
26
27
  assert.deepStrictEqual(this.webda.getRouter().getRouteMethodsFromUrl("/plop"), ["GET"]);
27
28
  this.webda.addRoute("/plop", { methods: ["POST"], executor: "DefinedMailer" });
28
- assert.deepStrictEqual(this.webda.getRouter().getRouteMethodsFromUrl("/plop"), ["GET", "POST"]);
29
+ assert.deepStrictEqual(this.webda.getRouter().getRouteMethodsFromUrl("/plop"), ["POST", "GET"]);
29
30
  let call = [];
30
31
  this.webda.log = (level, ...args) => {
31
32
  call.push({ level, args });
@@ -35,6 +36,8 @@ let RouterTest = class RouterTest extends test_1.WebdaTest {
35
36
  { level: "TRACE", args: ["Add route /plop"] },
36
37
  { level: "WARN", args: ["GET /plop overlap with another defined route"] }
37
38
  ]);
39
+ // Should be skipped
40
+ this.webda.addRoute("/plop", info);
38
41
  }
39
42
  testRouteWithPrefix() {
40
43
  return __awaiter(this, void 0, void 0, function* () {
@@ -69,6 +72,25 @@ let RouterTest = class RouterTest extends test_1.WebdaTest {
69
72
  assert.strictEqual(ctx.getPathParameters().uuid, "bouzouf");
70
73
  });
71
74
  }
75
+ completeOpenApi() {
76
+ let api = { paths: {}, info: { title: "Plop", version: "1.0" }, openapi: "", tags: [{ name: "test" }] };
77
+ const info = {
78
+ methods: ["GET"],
79
+ executor: "DefinedMailer",
80
+ openapi: {
81
+ tags: ["plop", "test"],
82
+ hidden: true
83
+ }
84
+ };
85
+ this.webda.addRoute("/plop{?*path}", info);
86
+ this.webda.getRouter().remapRoutes();
87
+ this.webda.getRouter().completeOpenAPI(api);
88
+ assert.strictEqual(api.paths["/plop"], undefined);
89
+ this.webda.getRouter().completeOpenAPI(api, false);
90
+ assert.notStrictEqual(api.paths["/plop"], undefined);
91
+ assert.deepStrictEqual(api.paths["/plop"].get.tags, ["plop", "test"]);
92
+ assert.ok(api.tags.filter(f => f.name === "plop").length === 1);
93
+ }
72
94
  };
73
95
  __decorate([
74
96
  mocha_1.test
@@ -82,6 +104,9 @@ __decorate([
82
104
  __decorate([
83
105
  mocha_1.test
84
106
  ], RouterTest.prototype, "testRouteWithQueryParam", null);
107
+ __decorate([
108
+ mocha_1.test
109
+ ], RouterTest.prototype, "completeOpenApi", null);
85
110
  RouterTest = __decorate([
86
111
  mocha_1.suite
87
112
  ], RouterTest);
@@ -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,8 +1,60 @@
1
1
  import { Queue } from "../queues/queueservice";
2
2
  import { Service, ServiceParameters } from "./service";
3
+ /**
4
+ * AsyncEvent representation
5
+ */
6
+ export declare class AsyncEvent {
7
+ /**
8
+ * Service emitted the event
9
+ */
10
+ service: string;
11
+ /**
12
+ * Type of event
13
+ */
14
+ type: string;
15
+ /**
16
+ * Payload of the event
17
+ */
18
+ payload: any;
19
+ /**
20
+ * Time
21
+ */
22
+ time: Date;
23
+ /**
24
+ * Used when serializing a service
25
+ */
26
+ static ServiceTag: string;
27
+ constructor(service: string, type: any, payload?: {});
28
+ /**
29
+ * Allow payload to contain Service but do not serialize them
30
+ * replacing them by a #Webda:Service:${service.getName()} so it
31
+ * can be revived
32
+ *
33
+ * @returns
34
+ */
35
+ toJSON(): this & {
36
+ payload: string;
37
+ };
38
+ /**
39
+ * Deserialize from the queue, reviving any detected service
40
+ *
41
+ * @param data
42
+ * @param service
43
+ * @returns
44
+ */
45
+ static fromQueue(data: any, service: Service): AsyncEvent;
46
+ /**
47
+ * Mapper name
48
+ * @returns
49
+ */
50
+ getMapper(): string;
51
+ }
3
52
  interface QueueMap {
4
53
  [key: string]: Queue;
5
54
  }
55
+ /**
56
+ * @inheritdoc
57
+ */
6
58
  export declare class EventServiceParameters extends ServiceParameters {
7
59
  /**
8
60
  * Queues to post async events to
@@ -14,6 +66,10 @@ export declare class EventServiceParameters extends ServiceParameters {
14
66
  * Make the event sending asynchronous
15
67
  */
16
68
  sync?: boolean;
69
+ /**
70
+ * @inheritdoc
71
+ */
72
+ constructor(params: any);
17
73
  }
18
74
  /**
19
75
  * @category CoreServices
@@ -35,10 +91,59 @@ declare class EventService<T extends EventServiceParameters = EventServiceParame
35
91
  * Setup the default routes
36
92
  */
37
93
  computeParameters(): Promise<void>;
38
- bindAsyncListener(service: any, event: any, callback: any, queue: any): void;
39
- pushEvent(service: any, type: any, queue: any, payload: any): Promise<void> | Promise<any[]>;
40
- _handleEvent(event: any): Promise<any[]>;
41
- _handleEvents(events: any): void;
42
- worker(queue: any): Promise<void>;
94
+ /**
95
+ * Bind a asynchronous event
96
+ *
97
+ * ```mermaid
98
+ * sequenceDiagram
99
+ * participant S as Service
100
+ * participant As as AsyncEventService
101
+ * participant Q as Queue
102
+ * participant Aw as AsyncEventService Worker
103
+ *
104
+ * As->>S: Bind event to a sendQueue listener
105
+ * activate As
106
+ * S->>As: Emit event
107
+ * As->>Q: Push the event to the queue
108
+ * deactivate As
109
+ * Aw->>Q: Consume queue
110
+ * Aw->>Aw: Call the original listener
111
+ * ```
112
+ *
113
+ * @param service
114
+ * @param event
115
+ * @param callback
116
+ * @param queue
117
+ */
118
+ bindAsyncListener(service: Service, event: string, callback: any, queue: string): void;
119
+ /**
120
+ * Synchronous Listener to proxy to async
121
+ *
122
+ * @param service
123
+ * @param type
124
+ * @param queue
125
+ * @param payload
126
+ * @returns
127
+ */
128
+ pushEvent(service: Service, type: string, queue: string, payload: any): Promise<void>;
129
+ /**
130
+ * Process one event
131
+ *
132
+ * @param event
133
+ * @returns
134
+ */
135
+ protected handleEvent(event: AsyncEvent): Promise<void>;
136
+ /**
137
+ *
138
+ * @param eventBody serialized event
139
+ * @returns
140
+ */
141
+ protected handleRawEvent(event: AsyncEvent): Promise<void>;
142
+ /**
143
+ * Process asynchronous event on queue
144
+ * @param queue
145
+ * @returns
146
+ */
147
+ worker(queue?: string): Promise<void>;
43
148
  }
44
149
  export { EventService, QueueMap };