@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,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.WaitFor = exports.WaitExponentialDelay = exports.WaitLinearDelay = void 0;
12
+ exports.CancelableLoopPromise = exports.CancelablePromise = exports.WaitFor = exports.WaitDelayerFactories = exports.WaitExponentialDelay = exports.WaitLinearDelay = void 0;
13
13
  const uuid_1 = require("uuid");
14
14
  /**
15
15
  * Return a delayer that always wait for the same amount of time
@@ -29,6 +29,40 @@ function WaitExponentialDelay(pause) {
29
29
  return (retries) => Math.pow(2, retries - 1) * pause;
30
30
  }
31
31
  exports.WaitExponentialDelay = WaitExponentialDelay;
32
+ /**
33
+ * Registry for DelayerFactory
34
+ */
35
+ class WaitDelayerFactories {
36
+ /**
37
+ * Add a delayer
38
+ * @param type
39
+ * @param delayer
40
+ */
41
+ static registerFactory(type, delayer) {
42
+ WaitDelayerFactories.registry[type] = delayer;
43
+ }
44
+ /**
45
+ * Return a registered delayer
46
+ * @param type
47
+ * @returns
48
+ */
49
+ static getFactory(type) {
50
+ return WaitDelayerFactories.registry[type];
51
+ }
52
+ /**
53
+ *
54
+ * @param definition to get delayer from
55
+ * @returns
56
+ */
57
+ static get(definition = { interval: 1000, type: "exponential" }) {
58
+ return WaitDelayerFactories.getFactory(definition.type)(definition.interval);
59
+ }
60
+ }
61
+ exports.WaitDelayerFactories = WaitDelayerFactories;
62
+ WaitDelayerFactories.registry = {
63
+ linear: WaitLinearDelay,
64
+ exponential: WaitExponentialDelay
65
+ };
32
66
  /**
33
67
  * Wait for an operation to end
34
68
  *
@@ -49,11 +83,11 @@ exports.WaitExponentialDelay = WaitExponentialDelay;
49
83
  function WaitFor(callback, retries, title, logger, delayer) {
50
84
  return __awaiter(this, void 0, void 0, function* () {
51
85
  if (!delayer) {
52
- delayer = WaitExponentialDelay(1000);
86
+ delayer = WaitDelayerFactories.get();
53
87
  }
54
88
  return new Promise((mainResolve, mainReject) => __awaiter(this, void 0, void 0, function* () {
55
89
  let tries = 0;
56
- let uuid = uuid_1.v4();
90
+ let uuid = (0, uuid_1.v4)();
57
91
  if (logger) {
58
92
  logger.logProgressStart(uuid, retries, title);
59
93
  }
@@ -77,4 +111,53 @@ function WaitFor(callback, retries, title, logger, delayer) {
77
111
  });
78
112
  }
79
113
  exports.WaitFor = WaitFor;
114
+ /**
115
+ * Return a promise that can be cancelled
116
+ */
117
+ class CancelablePromise extends Promise {
118
+ constructor(callback = () => {
119
+ // noop
120
+ }, onCancel = undefined) {
121
+ let localReject;
122
+ super((resolve, reject) => {
123
+ localReject = () => __awaiter(this, void 0, void 0, function* () {
124
+ if (onCancel) {
125
+ yield onCancel();
126
+ }
127
+ reject("Cancelled");
128
+ });
129
+ callback(resolve, reject);
130
+ });
131
+ this.cancel = localReject;
132
+ }
133
+ }
134
+ exports.CancelablePromise = CancelablePromise;
135
+ /**
136
+ * Create a promise that will loop on the same callback until cancelled
137
+ */
138
+ class CancelableLoopPromise extends Promise {
139
+ constructor(callback, onCancel = undefined) {
140
+ let localReject;
141
+ let shouldRun = true;
142
+ super(resolve => {
143
+ localReject = () => __awaiter(this, void 0, void 0, function* () {
144
+ if (onCancel) {
145
+ yield onCancel();
146
+ }
147
+ shouldRun = false;
148
+ });
149
+ let loop = () => {
150
+ if (shouldRun) {
151
+ return callback(localReject).then(loop);
152
+ }
153
+ };
154
+ resolve(callback(localReject).then(loop));
155
+ });
156
+ this.cancel = localReject;
157
+ }
158
+ static get [Symbol.species]() {
159
+ return Promise;
160
+ }
161
+ }
162
+ exports.CancelableLoopPromise = CancelableLoopPromise;
80
163
  //# sourceMappingURL=waiter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"waiter.js","sourceRoot":"","sources":["../../src/utils/waiter.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,+BAAoC;AAOpC;;;;GAIG;AACH,SAAgB,eAAe,CAAC,KAAa;IAC3C,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC;AACrB,CAAC;AAFD,0CAEC;AAED;;;;GAIG;AACH,SAAgB,oBAAoB,CAAC,KAAa;IAChD,OAAO,CAAC,OAAe,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;AAC/D,CAAC;AAFD,oDAEC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,SAAsB,OAAO,CAC3B,QAA4F,EAC5F,OAAe,EACf,KAAa,EACb,MAAe,EACf,OAAqB;;QAErB,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;SACtC;QACD,OAAO,IAAI,OAAO,CAAI,CAAO,WAAW,EAAE,UAAU,EAAE,EAAE;YACtD,IAAI,KAAK,GAAW,CAAC,CAAC;YACtB,IAAI,IAAI,GAAG,SAAM,EAAE,CAAC;YACpB,IAAI,MAAM,EAAE;gBACV,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;aAC/C;YACD,OAAO,OAAO,GAAG,KAAK,EAAE,EAAE;gBACxB,IAAI,KAAK,IAAI,MAAM,EAAE;oBACnB,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,OAAO,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC;iBAC/D;gBACD,IAAI,MAAM,EAAE;oBACV,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;iBACvC;gBACD,IAAI,MAAM,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC,EAAE;oBAC3C,IAAI,MAAM,EAAE;wBACV,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;qBACnC;oBACD,OAAO;iBACR;gBACD,MAAM,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aACzE;YACD,UAAU,CAAC,4BAA4B,GAAG,KAAK,CAAC,CAAC;QACnD,CAAC,CAAA,CAAC,CAAC;IACL,CAAC;CAAA;AAjCD,0BAiCC"}
1
+ {"version":3,"file":"waiter.js","sourceRoot":"","sources":["../../src/utils/waiter.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,+BAAoC;AAOpC;;;;GAIG;AACH,SAAgB,eAAe,CAAC,KAAa;IAC3C,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC;AACrB,CAAC;AAFD,0CAEC;AAED;;;;GAIG;AACH,SAAgB,oBAAoB,CAAC,KAAa;IAChD,OAAO,CAAC,OAAe,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;AAC/D,CAAC;AAFD,oDAEC;AAqBD;;GAEG;AACH,MAAa,oBAAoB;IAM/B;;;;OAIG;IACH,MAAM,CAAC,eAAe,CAAC,IAAY,EAAE,OAA2B;QAC9D,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;IAChD,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,IAAY;QAC5B,OAAO,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,GAAG,CAAC,aAAoC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE;QACpF,OAAO,oBAAoB,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC/E,CAAC;;AA/BH,oDAgCC;AA/BQ,6BAAQ,GAA0C;IACvD,MAAM,EAAE,eAAe;IACvB,WAAW,EAAE,oBAAoB;CAClC,CAAC;AA8BJ;;;;;;;;;;;;;;;;GAgBG;AACH,SAAsB,OAAO,CAC3B,QAA4F,EAC5F,OAAe,EACf,KAAc,EACd,MAAe,EACf,OAAqB;;QAErB,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,GAAG,oBAAoB,CAAC,GAAG,EAAE,CAAC;SACtC;QACD,OAAO,IAAI,OAAO,CAAI,CAAO,WAAW,EAAE,UAAU,EAAE,EAAE;YACtD,IAAI,KAAK,GAAW,CAAC,CAAC;YACtB,IAAI,IAAI,GAAG,IAAA,SAAM,GAAE,CAAC;YACpB,IAAI,MAAM,EAAE;gBACV,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;aAC/C;YACD,OAAO,OAAO,GAAG,KAAK,EAAE,EAAE;gBACxB,IAAI,KAAK,IAAI,MAAM,EAAE;oBACnB,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,OAAO,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC;iBAC/D;gBACD,IAAI,MAAM,EAAE;oBACV,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;iBACvC;gBACD,IAAI,MAAM,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC,EAAE;oBAC3C,IAAI,MAAM,EAAE;wBACV,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;qBACnC;oBACD,OAAO;iBACR;gBACD,MAAM,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aACzE;YACD,UAAU,CAAC,4BAA4B,GAAG,KAAK,CAAC,CAAC;QACnD,CAAC,CAAA,CAAC,CAAC;IACL,CAAC;CAAA;AAjCD,0BAiCC;AAED;;GAEG;AACH,MAAa,iBAA4B,SAAQ,OAAU;IAEzD,YACE,WAA4E,GAAG,EAAE;QAC/E,OAAO;IACT,CAAC,EACD,WAAgC,SAAS;QAEzC,IAAI,WAAW,CAAC;QAChB,KAAK,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxB,WAAW,GAAG,GAAS,EAAE;gBACvB,IAAI,QAAQ,EAAE;oBACZ,MAAM,QAAQ,EAAE,CAAC;iBAClB;gBACD,MAAM,CAAC,WAAW,CAAC,CAAC;YACtB,CAAC,CAAA,CAAC;YACF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;IAC5B,CAAC;CACF;AApBD,8CAoBC;AAED;;GAEG;AACH,MAAa,qBAAsB,SAAQ,OAAa;IAEtD,YAAY,QAA2D,EAAE,WAAgC,SAAS;QAChH,IAAI,WAAW,CAAC;QAChB,IAAI,SAAS,GAAG,IAAI,CAAC;QACrB,KAAK,CAAC,OAAO,CAAC,EAAE;YACd,WAAW,GAAG,GAAS,EAAE;gBACvB,IAAI,QAAQ,EAAE;oBACZ,MAAM,QAAQ,EAAE,CAAC;iBAClB;gBACD,SAAS,GAAG,KAAK,CAAC;YACpB,CAAC,CAAA,CAAC;YACF,IAAI,IAAI,GAAG,GAAG,EAAE;gBACd,IAAI,SAAS,EAAE;oBACb,OAAO,QAAQ,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACzC;YACH,CAAC,CAAC;YACF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;IAC5B,CAAC;IAED,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;QACzB,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAzBD,sDAyBC"}
@@ -21,25 +21,42 @@ const assert = require("assert");
21
21
  const waiter_1 = require("./waiter");
22
22
  const sinon = require("sinon");
23
23
  let WaiterTest = class WaiterTest {
24
+ cancellablePromise() {
25
+ return __awaiter(this, void 0, void 0, function* () {
26
+ let promise = new waiter_1.CancelablePromise();
27
+ yield promise.cancel();
28
+ yield assert.rejects(() => promise, /Cancelled/);
29
+ let callback = false;
30
+ promise = new waiter_1.CancelablePromise(() => { }, () => __awaiter(this, void 0, void 0, function* () {
31
+ callback = true;
32
+ }));
33
+ yield promise.cancel();
34
+ yield assert.rejects(() => promise, /Cancelled/);
35
+ assert.strictEqual(callback, true);
36
+ });
37
+ }
24
38
  testWaitFor() {
25
39
  return __awaiter(this, void 0, void 0, function* () {
26
40
  let logger = new logger_1.Logger(undefined, undefined);
27
41
  let consoleSpy = sinon.stub(logger, "log");
28
42
  sinon.stub(logger, "logProgressStart");
29
43
  sinon.stub(logger, "logProgressUpdate");
44
+ waiter_1.WaitDelayerFactories.registerFactory("static", () => {
45
+ return t => t;
46
+ });
30
47
  try {
31
- yield assert.rejects(() => __awaiter(this, void 0, void 0, function* () { return yield waiter_1.WaitFor(() => __awaiter(this, void 0, void 0, function* () { return false; }), 3, "title", logger, waiter_1.WaitExponentialDelay(1)); }), /Timeout while waiting for title/g);
48
+ yield assert.rejects(() => __awaiter(this, void 0, void 0, function* () { return yield (0, waiter_1.WaitFor)(() => __awaiter(this, void 0, void 0, function* () { return false; }), 3, "title", logger, (0, waiter_1.WaitExponentialDelay)(1)); }), /Timeout while waiting for title/g);
32
49
  assert.strictEqual(consoleSpy.callCount, 3);
33
50
  assert.strictEqual(consoleSpy.calledWith("DEBUG", "[1/3]", "title"), true);
34
51
  assert.strictEqual(consoleSpy.calledWith("DEBUG", "[2/3]", "title"), true);
35
52
  assert.strictEqual(consoleSpy.calledWith("DEBUG", "[3/3]", "title"), true);
36
53
  consoleSpy.resetHistory();
37
- let res = yield waiter_1.WaitFor((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
54
+ let res = yield (0, waiter_1.WaitFor)((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
38
55
  if (consoleSpy.callCount === 2) {
39
56
  resolve({ myobject: "test" });
40
57
  return true;
41
58
  }
42
- }), 3, "title", logger, waiter_1.WaitLinearDelay(1));
59
+ }), 3, "title", logger, (0, waiter_1.WaitLinearDelay)(1));
43
60
  assert.strictEqual(consoleSpy.callCount, 2);
44
61
  assert.strictEqual(consoleSpy.calledWith("DEBUG", "[1/3]", "title"), true);
45
62
  assert.strictEqual(consoleSpy.calledWith("DEBUG", "[2/3]", "title"), true);
@@ -47,7 +64,7 @@ let WaiterTest = class WaiterTest {
47
64
  assert.deepStrictEqual(res, { myobject: "test" });
48
65
  let time = Date.now();
49
66
  consoleSpy.resetHistory();
50
- yield waiter_1.WaitFor((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
67
+ yield (0, waiter_1.WaitFor)((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
51
68
  if (consoleSpy.callCount === 3) {
52
69
  resolve({ myobject: "test" });
53
70
  return true;
@@ -55,16 +72,43 @@ let WaiterTest = class WaiterTest {
55
72
  }), 3, "title", logger);
56
73
  let elapsed = Date.now() - time;
57
74
  assert.strictEqual(elapsed > 2500 && elapsed < 3500, true, `Should have a duration close to 3 seconds, got: ${elapsed}ms`);
75
+ // COV test
76
+ yield (0, waiter_1.WaitFor)((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
77
+ resolve();
78
+ return true;
79
+ }), 3);
80
+ yield (0, waiter_1.WaitFor)((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
81
+ resolve();
82
+ return true;
83
+ }), 3, "title");
58
84
  }
59
85
  finally {
60
86
  consoleSpy.restore();
61
87
  }
62
88
  });
63
89
  }
90
+ loopPromise() {
91
+ return __awaiter(this, void 0, void 0, function* () {
92
+ let i = 0;
93
+ yield new waiter_1.CancelableLoopPromise((canceller) => __awaiter(this, void 0, void 0, function* () {
94
+ i++;
95
+ if (i > 10) {
96
+ yield canceller();
97
+ }
98
+ }), () => __awaiter(this, void 0, void 0, function* () { }));
99
+ assert.strictEqual(i, 11);
100
+ });
101
+ }
64
102
  };
103
+ __decorate([
104
+ mocha_1.test
105
+ ], WaiterTest.prototype, "cancellablePromise", null);
65
106
  __decorate([
66
107
  mocha_1.test
67
108
  ], WaiterTest.prototype, "testWaitFor", null);
109
+ __decorate([
110
+ mocha_1.test
111
+ ], WaiterTest.prototype, "loopPromise", null);
68
112
  WaiterTest = __decorate([
69
113
  mocha_1.suite
70
114
  ], WaiterTest);
@@ -1 +1 @@
1
- {"version":3,"file":"waiter.spec.js","sourceRoot":"","sources":["../../src/utils/waiter.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"waiter.spec.js","sourceRoot":"","sources":["../../src/utils/waiter.spec.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webda/core",
3
- "version": "1.2.1",
3
+ "version": "1.6.0-beta.0",
4
4
  "description": "Expose API with Lambda",
5
5
  "keywords": [
6
6
  "aws",
@@ -20,7 +20,7 @@
20
20
  },
21
21
  "dependencies": {
22
22
  "@types/json-schema": "^7.0.8",
23
- "@webda/workout": "^1.2.1",
23
+ "@webda/workout": "^1.6.0-beta.0",
24
24
  "accept-language": "^3.0.18",
25
25
  "ajv": "^8.6.2",
26
26
  "bcryptjs": "^2.4.3",
@@ -29,6 +29,7 @@
29
29
  "deepmerge": "^4.2.2",
30
30
  "email-templates": "^8.0.7",
31
31
  "fs-finder": "^1.8.1",
32
+ "glob": "^7.1.7",
32
33
  "global": "^4.4.0",
33
34
  "jsonpath": "^1.1.1",
34
35
  "jsonwebtoken": "^8.5.1",
@@ -37,7 +38,7 @@
37
38
  "mustache": "^4.2.0",
38
39
  "node-cron": "^3.0.0",
39
40
  "nodemailer": "^6.6.3",
40
- "openapi-types": "^9.1.0",
41
+ "openapi-types": "^10.0.0",
41
42
  "sanitize-html": "^2.4.0",
42
43
  "semver": "^7.3.5",
43
44
  "ts-method-cache": "^3.3.1",
@@ -48,18 +49,16 @@
48
49
  "devDependencies": {
49
50
  "@istanbuljs/nyc-config-typescript": "^1.0.1",
50
51
  "@testdeck/mocha": "^0.1.2",
51
- "@types/node": "^16.4.2",
52
+ "@types/node": "14.0.0",
53
+ "axios": "^0.24.0",
52
54
  "fs-extra": "^10.0.0",
53
- "glob": "^7.1.7",
54
- "istanbul": "^0.4.5",
55
55
  "mocha": "^9.0.2",
56
56
  "nyc": "^15.1.0",
57
57
  "prettier": "^2.3.2",
58
- "remap-istanbul": "^0.13.0",
59
- "sinon": "^11.1.1",
58
+ "sinon": "^12.0.1",
60
59
  "source-map-support": "^0.5.19",
61
60
  "ts-node": "^10.1.0",
62
- "typescript": "~4.2.4"
61
+ "typescript": "~4.5.2"
63
62
  },
64
63
  "files": [
65
64
  "lib",
@@ -71,7 +70,13 @@
71
70
  "reporter": [
72
71
  "html",
73
72
  "lcov",
74
- "json"
73
+ "json",
74
+ "text"
75
+ ],
76
+ "exclude": [
77
+ "src/test.ts",
78
+ "**/*.spec.ts",
79
+ "test/**/*"
75
80
  ]
76
81
  },
77
82
  "homepage": "https://webda.io",
@@ -81,5 +86,5 @@
81
86
  "webda": {
82
87
  "namespace": "Webda"
83
88
  },
84
- "gitHead": "a547205d0e2033b073db5558521120c739366dbc"
89
+ "gitHead": "259be61f3760c5c56a88c2f870ac608908cf4e4e"
85
90
  }
@@ -0,0 +1,4 @@
1
+ {
2
+ "name": "badapp",
3
+ "version": "0.1.0"
4
+ }
@@ -0,0 +1 @@
1
+ BAD APP FILE
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 2,
3
+ "module": {},
4
+ "cachedModules": {
5
+ "sources": ["./test/moddas/fakeservice.js", "./test/models/task.js"]
6
+ }
7
+ }
@@ -0,0 +1,70 @@
1
+ {
2
+ "version": 1,
3
+ "parameters": {
4
+ "TEST": "Global",
5
+ "region": "us-east-1",
6
+ "website": ["test.webda.io", "test2.webda.io"],
7
+ "locales": ["es-ES", "en-GB", "fr-FR"],
8
+ "configurationService": "FileConfigurationService"
9
+ },
10
+ "moddas": {
11
+ "Test/Mailer": {
12
+ "type": "local",
13
+ "require": "../test/moddas/debugmailer"
14
+ },
15
+ "Test/VoidStore": {
16
+ "type": "local",
17
+ "require": "../test/moddas/voidstore"
18
+ }
19
+ },
20
+ "models": {
21
+ "WebdaTest/Task": "../test/models/task",
22
+ "WebdaTest/Ident": "../test/models/ident"
23
+ },
24
+ "services": {
25
+ "Authentication": {
26
+ "successRedirect": "https://webda.io/user.html",
27
+ "failureRedirect": "/login-error",
28
+ "providers": {
29
+ "facebook": {},
30
+ "email": {
31
+ "from": "",
32
+ "subject": "",
33
+ "html": "",
34
+ "text": "Test",
35
+ "mailer": "DefinedMailer",
36
+ "postValidation": false
37
+ },
38
+ "phone": {},
39
+ "twitter": {},
40
+ "google": {},
41
+ "github": {}
42
+ }
43
+ },
44
+ "DefinedMailer": {
45
+ "type": "Test/Mailer"
46
+ },
47
+ "Users": {
48
+ "type": "MemoryStore"
49
+ },
50
+ "Idents": {
51
+ "type": "MemoryStore"
52
+ },
53
+ "FileConfigurationService": {
54
+ "source": "./my-cnf.json",
55
+ "default": {
56
+ "webda": {
57
+ "services": {
58
+ "Authentication": {
59
+ "providers": {
60
+ "email": {
61
+ "text": "Test"
62
+ }
63
+ }
64
+ }
65
+ }
66
+ }
67
+ }
68
+ }
69
+ }
70
+ }
@@ -54,7 +54,13 @@
54
54
  "default": {
55
55
  "webda": {
56
56
  "services": {
57
- "Authentication.providers.email.text": "Test"
57
+ "Authentication": {
58
+ "providers": {
59
+ "email": {
60
+ "text": "Test"
61
+ }
62
+ }
63
+ }
58
64
  }
59
65
  }
60
66
  }
@@ -54,7 +54,13 @@
54
54
  "default": {
55
55
  "webda": {
56
56
  "services": {
57
- "Authentication.providers.email.text": "Test"
57
+ "Authentication": {
58
+ "providers": {
59
+ "email": {
60
+ "text": "Plop0"
61
+ }
62
+ }
63
+ }
58
64
  }
59
65
  },
60
66
  "other": "text",
package/test/config.json CHANGED
@@ -42,7 +42,13 @@
42
42
  },
43
43
  "MemoryQueue": {
44
44
  "type": "MemoryQueue",
45
- "expire": 1
45
+ "expire": 1,
46
+ "maxConsumers": 1
47
+ },
48
+ "FileQueue": {
49
+ "type": "FileQueue",
50
+ "expire": 1,
51
+ "folder": "./test/data/queue"
46
52
  },
47
53
  "PriorityEventQueue": {
48
54
  "type": "MemoryQueue",
@@ -54,6 +60,7 @@
54
60
  },
55
61
  "Authentication": {
56
62
  "successRedirect": "https://webda.io/user.html",
63
+ "registerRedirect": "https://webda.io/register.html",
57
64
  "failureRedirect": "/login-error",
58
65
  "email": {
59
66
  "from": "",
@@ -73,16 +80,25 @@
73
80
  "transport": "ses"
74
81
  }
75
82
  },
83
+ "MemoryIdentsIndexer": {
84
+ "type": "Webda/Aggregator",
85
+ "source": "MemoryIdents",
86
+ "target": "MemoryAggregators",
87
+ "fields": "type"
88
+ },
89
+ "MemoryAggregators": {
90
+ "type": "MemoryStore"
91
+ },
92
+ "MemoryIdentsMapper": {
93
+ "type": "Webda/Mapper",
94
+ "source": "MemoryIdents",
95
+ "targetAttribute": "idents",
96
+ "target": "MemoryUsers",
97
+ "attribute": "_user",
98
+ "fields": "type,_lastUpdate",
99
+ "cascade": true
100
+ },
76
101
  "MemoryIdents": {
77
- "map": {
78
- "MemoryUsers": {
79
- "key": "_user",
80
- "target": "idents",
81
- "fields": "type,_lastUpdate",
82
- "cascade": true
83
- }
84
- },
85
- "index": ["type", "_lastUpdate"],
86
102
  "asyncDelete": true,
87
103
  "expose": {
88
104
  "url": "/memory/idents"
@@ -96,16 +112,23 @@
96
112
  },
97
113
  "type": "MemoryStore"
98
114
  },
115
+ "IdentsMapper": {
116
+ "type": "Webda/Mapper",
117
+ "source": "Idents",
118
+ "targetAttribute": "idents",
119
+ "target": "Users",
120
+ "attribute": "_user",
121
+ "fields": "type,_lastUpdate,counter",
122
+ "cascade": true
123
+ },
124
+ "IdentsIndexer": {
125
+ "type": "Webda/Aggregator",
126
+ "source": "Idents",
127
+ "target": "MemoryAggregators",
128
+ "fields": "type,_lastUpdate",
129
+ "key": "idents-index"
130
+ },
99
131
  "Idents": {
100
- "map": {
101
- "Users": {
102
- "key": "_user",
103
- "target": "idents",
104
- "fields": "type,_lastUpdate",
105
- "cascade": true
106
- }
107
- },
108
- "index": ["type", "_lastUpdate"],
109
132
  "asyncDelete": true,
110
133
  "expose": {
111
134
  "restrict": {
@@ -124,7 +147,7 @@
124
147
  "url": "/users"
125
148
  },
126
149
  "type": "FileStore",
127
- "folder": "./test/data/users",
150
+ "folder": "./test/data/idents",
128
151
  "model": "Webda/User"
129
152
  },
130
153
  "Tasks": {
@@ -137,7 +160,8 @@
137
160
  "type": "FileBinary",
138
161
  "folder": "./test/data/binaries",
139
162
  "map": {
140
- "users": ["images"]
163
+ "users": ["images"],
164
+ "notexisting": ["images"]
141
165
  },
142
166
  "expose": {
143
167
  "url": "/binary"
@@ -62,14 +62,6 @@
62
62
  "type": "Test/Mailer"
63
63
  },
64
64
  "MemoryIdents": {
65
- "map": {
66
- "MemoryUsers": {
67
- "key": "user",
68
- "target": "idents",
69
- "fields": "type",
70
- "cascade": true
71
- }
72
- },
73
65
  "asyncDelete": true,
74
66
  "expose": {
75
67
  "restrict": {
@@ -88,14 +80,6 @@
88
80
  "type": "MemoryStore"
89
81
  },
90
82
  "Idents": {
91
- "map": {
92
- "Users": {
93
- "key": "user",
94
- "target": "idents",
95
- "fields": "type",
96
- "cascade": true
97
- }
98
- },
99
83
  "asyncDelete": true,
100
84
  "expose": {
101
85
  "restrict": {
@@ -64,14 +64,6 @@
64
64
  "type": "Test/Mailer"
65
65
  },
66
66
  "MemoryIdents": {
67
- "map": {
68
- "MemoryUsers": {
69
- "key": "user",
70
- "target": "idents",
71
- "fields": "type",
72
- "cascade": true
73
- }
74
- },
75
67
  "asyncDelete": true,
76
68
  "expose": {
77
69
  "restrict": {
@@ -90,14 +82,6 @@
90
82
  "type": "MemoryStore"
91
83
  },
92
84
  "Idents": {
93
- "map": {
94
- "Users": {
95
- "key": "user",
96
- "target": "idents",
97
- "fields": "type",
98
- "cascade": true
99
- }
100
- },
101
85
  "asyncDelete": true,
102
86
  "expose": {
103
87
  "restrict": {
@@ -0,0 +1 @@
1
+ INVALID DEPLOYMENT
@@ -0,0 +1,5 @@
1
+ const Webda = require("../../lib/index.js");
2
+
3
+ class FakeService extends Webda.Service {}
4
+
5
+ module.exports = FakeService;
@@ -6,37 +6,33 @@ const WebdaIdent = require("../../lib/index.js").Ident;
6
6
  * @class
7
7
  */
8
8
  class Ident extends WebdaIdent {
9
-
10
9
  static getActions() {
11
10
  return {
12
- 'plop': {},
13
- 'index': {
11
+ plop: {},
12
+ index: {
14
13
  global: true,
15
- method: 'GET'
14
+ methods: ["GET"]
16
15
  },
17
- 'yop': {
18
- method: ['GET', 'POST']
16
+ yop: {
17
+ methods: ["GET", "POST"]
19
18
  }
20
19
  };
21
20
  }
22
21
 
23
22
  _yop() {
24
-
23
+ return "youpi";
25
24
  }
26
25
 
27
- canAct(ctx, action) {
28
-
29
- }
26
+ canAct(ctx, action) {}
30
27
 
31
28
  static _index(ctx) {
32
- ctx.write('indexer');
29
+ ctx.write("indexer");
33
30
  }
34
31
 
35
32
  _plop(ctx) {
36
- this._plop = true;
37
- ctx.write(this);
33
+ ctx.write({ _plop: true });
38
34
  return Promise.resolve();
39
35
  }
40
36
  }
41
37
 
42
- module.exports = Ident
38
+ module.exports = Ident;