@webda/core 2.4.2 → 3.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 (227) hide show
  1. package/lib/application.d.ts +171 -34
  2. package/lib/application.js +243 -47
  3. package/lib/application.js.map +1 -1
  4. package/lib/application.spec.js +44 -8
  5. package/lib/application.spec.js.map +1 -1
  6. package/lib/core.d.ts +113 -54
  7. package/lib/core.js +222 -135
  8. package/lib/core.js.map +1 -1
  9. package/lib/core.spec.js +87 -43
  10. package/lib/core.spec.js.map +1 -1
  11. package/lib/errors.d.ts +65 -0
  12. package/lib/errors.js +113 -0
  13. package/lib/errors.js.map +1 -0
  14. package/lib/errors.spec.d.ts +1 -0
  15. package/lib/errors.spec.js +33 -0
  16. package/lib/errors.spec.js.map +1 -0
  17. package/lib/index.d.ts +3 -0
  18. package/lib/index.js +3 -0
  19. package/lib/index.js.map +1 -1
  20. package/lib/models/aclmodel.d.ts +4 -4
  21. package/lib/models/aclmodel.js +10 -6
  22. package/lib/models/aclmodel.js.map +1 -1
  23. package/lib/models/aclmodel.spec.js +33 -24
  24. package/lib/models/aclmodel.spec.js.map +1 -1
  25. package/lib/models/coremodel.d.ts +284 -92
  26. package/lib/models/coremodel.js +403 -103
  27. package/lib/models/coremodel.js.map +1 -1
  28. package/lib/models/coremodel.spec.js +162 -24
  29. package/lib/models/coremodel.spec.js.map +1 -1
  30. package/lib/models/ident.d.ts +20 -6
  31. package/lib/models/ident.js.map +1 -1
  32. package/lib/models/ownermodel.d.ts +13 -23
  33. package/lib/models/ownermodel.js +24 -51
  34. package/lib/models/ownermodel.js.map +1 -1
  35. package/lib/models/ownermodel.spec.js +23 -11
  36. package/lib/models/ownermodel.spec.js.map +1 -1
  37. package/lib/models/relations.d.ts +167 -0
  38. package/lib/models/relations.js +113 -0
  39. package/lib/models/relations.js.map +1 -0
  40. package/lib/models/rolemodel.d.ts +3 -3
  41. package/lib/models/rolemodel.js +6 -6
  42. package/lib/models/rolemodel.js.map +1 -1
  43. package/lib/models/rolemodel.spec.js +12 -12
  44. package/lib/models/rolemodel.spec.js.map +1 -1
  45. package/lib/models/user.d.ts +40 -24
  46. package/lib/models/user.js +74 -48
  47. package/lib/models/user.js.map +1 -1
  48. package/lib/models/user.spec.js +24 -4
  49. package/lib/models/user.spec.js.map +1 -1
  50. package/lib/queues/memoryqueue.spec.js +9 -5
  51. package/lib/queues/memoryqueue.spec.js.map +1 -1
  52. package/lib/queues/queueservice.js.map +1 -1
  53. package/lib/router.d.ts +17 -8
  54. package/lib/router.js +81 -9
  55. package/lib/router.js.map +1 -1
  56. package/lib/router.spec.js +89 -5
  57. package/lib/router.spec.js.map +1 -1
  58. package/lib/services/asyncevents.spec.js +4 -4
  59. package/lib/services/authentication.d.ts +21 -22
  60. package/lib/services/authentication.js +90 -109
  61. package/lib/services/authentication.js.map +1 -1
  62. package/lib/services/authentication.spec.js +51 -65
  63. package/lib/services/authentication.spec.js.map +1 -1
  64. package/lib/services/binary.d.ts +132 -31
  65. package/lib/services/binary.js +257 -72
  66. package/lib/services/binary.js.map +1 -1
  67. package/lib/services/binary.spec.d.ts +16 -6
  68. package/lib/services/binary.spec.js +44 -117
  69. package/lib/services/binary.spec.js.map +1 -1
  70. package/lib/services/cloudbinary.d.ts +9 -10
  71. package/lib/services/cloudbinary.js +14 -15
  72. package/lib/services/cloudbinary.js.map +1 -1
  73. package/lib/services/cloudbinary.spec.d.ts +2 -2
  74. package/lib/services/cloudbinary.spec.js +13 -12
  75. package/lib/services/cloudbinary.spec.js.map +1 -1
  76. package/lib/services/configuration.js +9 -9
  77. package/lib/services/configuration.js.map +1 -1
  78. package/lib/services/configuration.spec.js +5 -7
  79. package/lib/services/configuration.spec.js.map +1 -1
  80. package/lib/services/cron.spec.js +3 -4
  81. package/lib/services/cron.spec.js.map +1 -1
  82. package/lib/services/cryptoservice.d.ts +2 -2
  83. package/lib/services/cryptoservice.js +5 -2
  84. package/lib/services/cryptoservice.js.map +1 -1
  85. package/lib/services/domainservice.d.ts +113 -0
  86. package/lib/services/domainservice.js +357 -0
  87. package/lib/services/domainservice.js.map +1 -0
  88. package/lib/services/domainservice.spec.d.ts +1 -0
  89. package/lib/services/domainservice.spec.js +334 -0
  90. package/lib/services/domainservice.spec.js.map +1 -0
  91. package/lib/services/echo.d.ts +2 -2
  92. package/lib/services/echo.js.map +1 -1
  93. package/lib/services/echo.spec.js +9 -2
  94. package/lib/services/echo.spec.js.map +1 -1
  95. package/lib/services/filebinary.d.ts +13 -14
  96. package/lib/services/filebinary.js +79 -73
  97. package/lib/services/filebinary.js.map +1 -1
  98. package/lib/services/filebinary.spec.d.ts +5 -0
  99. package/lib/services/filebinary.spec.js +222 -11
  100. package/lib/services/filebinary.spec.js.map +1 -1
  101. package/lib/services/fileconfiguration.js +4 -4
  102. package/lib/services/fileconfiguration.js.map +1 -1
  103. package/lib/services/fileconfiguration.spec.js +23 -24
  104. package/lib/services/fileconfiguration.spec.js.map +1 -1
  105. package/lib/services/invitationservice.d.ts +11 -9
  106. package/lib/services/invitationservice.js +17 -23
  107. package/lib/services/invitationservice.js.map +1 -1
  108. package/lib/services/invitationservice.spec.js +43 -40
  109. package/lib/services/invitationservice.spec.js.map +1 -1
  110. package/lib/services/kubernetesconfiguration.js +12 -22
  111. package/lib/services/kubernetesconfiguration.js.map +1 -1
  112. package/lib/services/kubernetesconfiguration.spec.js +1 -6
  113. package/lib/services/kubernetesconfiguration.spec.js.map +1 -1
  114. package/lib/services/mailer.js +1 -1
  115. package/lib/services/mailer.js.map +1 -1
  116. package/lib/services/mailer.spec.js +4 -1
  117. package/lib/services/mailer.spec.js.map +1 -1
  118. package/lib/services/oauth.d.ts +17 -9
  119. package/lib/services/oauth.js +30 -4
  120. package/lib/services/oauth.js.map +1 -1
  121. package/lib/services/oauth.spec.js +32 -15
  122. package/lib/services/oauth.spec.js.map +1 -1
  123. package/lib/services/prometheus.spec.js.map +1 -1
  124. package/lib/services/proxy.d.ts +9 -8
  125. package/lib/services/proxy.js +65 -36
  126. package/lib/services/proxy.js.map +1 -1
  127. package/lib/services/proxy.spec.js +28 -2
  128. package/lib/services/proxy.spec.js.map +1 -1
  129. package/lib/services/resource.d.ts +3 -3
  130. package/lib/services/resource.js +4 -3
  131. package/lib/services/resource.js.map +1 -1
  132. package/lib/services/resource.spec.js +3 -3
  133. package/lib/services/resource.spec.js.map +1 -1
  134. package/lib/services/service.d.ts +10 -13
  135. package/lib/services/service.js +29 -13
  136. package/lib/services/service.js.map +1 -1
  137. package/lib/services/service.spec.js +49 -11
  138. package/lib/services/service.spec.js.map +1 -1
  139. package/lib/services/version.d.ts +2 -2
  140. package/lib/services/version.js.map +1 -1
  141. package/lib/stores/aggregator.js +1 -0
  142. package/lib/stores/aggregator.js.map +1 -1
  143. package/lib/stores/aliasstore.d.ts +2 -2
  144. package/lib/stores/aliasstore.js +15 -4
  145. package/lib/stores/aliasstore.js.map +1 -1
  146. package/lib/stores/aliasstore.spec.js +4 -2
  147. package/lib/stores/aliasstore.spec.js.map +1 -1
  148. package/lib/stores/file.d.ts +5 -2
  149. package/lib/stores/file.js +11 -8
  150. package/lib/stores/file.js.map +1 -1
  151. package/lib/stores/file.spec.js +21 -34
  152. package/lib/stores/file.spec.js.map +1 -1
  153. package/lib/stores/mapper.d.ts +4 -2
  154. package/lib/stores/mapper.js +18 -11
  155. package/lib/stores/mapper.js.map +1 -1
  156. package/lib/stores/mapper.spec.js +6 -3
  157. package/lib/stores/mapper.spec.js.map +1 -1
  158. package/lib/stores/memory.d.ts +5 -2
  159. package/lib/stores/memory.js +11 -9
  160. package/lib/stores/memory.js.map +1 -1
  161. package/lib/stores/memory.spec.d.ts +3 -0
  162. package/lib/stores/memory.spec.js +100 -11
  163. package/lib/stores/memory.spec.js.map +1 -1
  164. package/lib/stores/store.d.ts +177 -87
  165. package/lib/stores/store.js +312 -141
  166. package/lib/stores/store.js.map +1 -1
  167. package/lib/stores/store.spec.d.ts +2 -2
  168. package/lib/stores/store.spec.js +54 -38
  169. package/lib/stores/store.spec.js.map +1 -1
  170. package/lib/stores/webdaql/WebdaQLLexer.d.ts +14 -13
  171. package/lib/stores/webdaql/WebdaQLLexer.js +121 -112
  172. package/lib/stores/webdaql/WebdaQLLexer.js.map +1 -1
  173. package/lib/stores/webdaql/WebdaQLParserLexer.d.ts +14 -13
  174. package/lib/stores/webdaql/WebdaQLParserLexer.js +121 -112
  175. package/lib/stores/webdaql/WebdaQLParserLexer.js.map +1 -1
  176. package/lib/stores/webdaql/WebdaQLParserListener.d.ts +15 -3
  177. package/lib/stores/webdaql/WebdaQLParserParser.d.ts +23 -13
  178. package/lib/stores/webdaql/WebdaQLParserParser.js +149 -94
  179. package/lib/stores/webdaql/WebdaQLParserParser.js.map +1 -1
  180. package/lib/stores/webdaql/WebdaQLParserVisitor.d.ts +9 -2
  181. package/lib/stores/webdaql/query.d.ts +6 -2
  182. package/lib/stores/webdaql/query.js +14 -1
  183. package/lib/stores/webdaql/query.js.map +1 -1
  184. package/lib/stores/webdaql/query.spec.js +10 -1
  185. package/lib/stores/webdaql/query.spec.js.map +1 -1
  186. package/lib/test.d.ts +48 -19
  187. package/lib/test.js +171 -63
  188. package/lib/test.js.map +1 -1
  189. package/lib/unpackedapplication.d.ts +5 -0
  190. package/lib/unpackedapplication.js +58 -10
  191. package/lib/unpackedapplication.js.map +1 -1
  192. package/lib/utils/context.d.ts +76 -29
  193. package/lib/utils/context.js +91 -55
  194. package/lib/utils/context.js.map +1 -1
  195. package/lib/utils/context.spec.d.ts +9 -1
  196. package/lib/utils/context.spec.js +73 -8
  197. package/lib/utils/context.spec.js.map +1 -1
  198. package/lib/utils/cookie.d.ts +4 -5
  199. package/lib/utils/cookie.js +1 -2
  200. package/lib/utils/cookie.js.map +1 -1
  201. package/lib/utils/cookie.spec.js +5 -3
  202. package/lib/utils/cookie.spec.js.map +1 -1
  203. package/lib/utils/httpcontext.spec.js +9 -3
  204. package/lib/utils/httpcontext.spec.js.map +1 -1
  205. package/lib/utils/serializers.d.ts +46 -17
  206. package/lib/utils/serializers.js +116 -2
  207. package/lib/utils/serializers.js.map +1 -1
  208. package/lib/utils/serializers.spec.js +84 -20
  209. package/lib/utils/serializers.spec.js.map +1 -1
  210. package/lib/utils/session.d.ts +14 -8
  211. package/lib/utils/session.js +14 -3
  212. package/lib/utils/session.js.map +1 -1
  213. package/lib/utils/session.spec.js +6 -1
  214. package/lib/utils/session.spec.js.map +1 -1
  215. package/package.json +16 -10
  216. package/test/cachedapp/webda.config.json +6 -1
  217. package/test/config-cached.json +5 -0
  218. package/test/config-file-missing-file.json +5 -7
  219. package/test/config-file-no-reload.json +5 -7
  220. package/test/config-file-reload.json +5 -7
  221. package/test/config-kube-reload.json +5 -11
  222. package/test/config-reload.json +2 -4
  223. package/test/config.json +12 -2
  224. package/test/moddas/voidstore.js +1 -1
  225. package/test/models/ident.js +6 -4
  226. package/test/models/task.js +4 -4
  227. package/webda.module.json +1587 -1266
package/lib/router.js CHANGED
@@ -15,6 +15,13 @@ export class Router {
15
15
  * @returns
16
16
  */
17
17
  getFinalUrl(url) {
18
+ // We have to replace all @ by %40 as it is allowed in url rfc (https://www.rfc-editor.org/rfc/rfc3986#page-22)
19
+ // But disallowed in https://www.rfc-editor.org/rfc/rfc6570#section-3.2.1
20
+ // Similar for / in query string
21
+ url = url.replace(/@/g, "%40");
22
+ if (url.includes("?")) {
23
+ url = url.substring(0, url.indexOf("?")) + "?" + url.substring(url.indexOf("?") + 1).replace(/\//g, "%2F");
24
+ }
18
25
  const prefix = this.webda.getGlobalParams().routePrefix || "";
19
26
  if (prefix && url.startsWith(prefix)) {
20
27
  return url;
@@ -105,8 +112,8 @@ export class Router {
105
112
  comparePath(a, b) {
106
113
  // Normal node works with localeCompare but not Lambda...
107
114
  // Local compare { to a return: 26 on Lambda
108
- let bs = b.url.split("/");
109
- let as = a.url.split("/");
115
+ let bs = b.url.replace(/\{[^{}]+}/, "{}").split("/");
116
+ let as = a.url.replace(/\{[^{}]+}/, "{}").split("/");
110
117
  for (let i in as) {
111
118
  if (bs[i] === undefined)
112
119
  return -1;
@@ -127,7 +134,48 @@ export class Router {
127
134
  // Prepare tbe URI parser
128
135
  for (let map in config) {
129
136
  if (map.indexOf("{") !== -1) {
130
- config[map].forEach((e) => (e._uriTemplateParse = uriTemplates(map)));
137
+ config[map].forEach((e) => {
138
+ let idx = map.indexOf("{?");
139
+ let queryOptional = true;
140
+ if (idx >= 0) {
141
+ let query = map.substring(idx + 2, map.length - 1);
142
+ e._queryParams = [];
143
+ query.split(",").forEach(q => {
144
+ if (q.endsWith("*")) {
145
+ e._queryCatchAll = q.substring(0, q.length - 1);
146
+ return;
147
+ }
148
+ else if (q.endsWith("+")) {
149
+ e._queryCatchAll = q.substring(0, q.length - 1);
150
+ queryOptional = false;
151
+ return;
152
+ }
153
+ else if (q.endsWith("?")) {
154
+ e._queryParams.push({ name: q.substring(0, q.length - 1), required: false });
155
+ }
156
+ else {
157
+ queryOptional = false;
158
+ e._queryParams.push({ name: q, required: true });
159
+ }
160
+ });
161
+ // We do not use uri-templates for query parsing
162
+ //map = map.substring(0, idx) + "?{+URITemplateQuery}";
163
+ const templates = [uriTemplates(map.substring(0, idx) + "?{+URITemplateQuery}")];
164
+ let pathTemplate = uriTemplates(map.substring(0, idx));
165
+ if (queryOptional) {
166
+ templates.push(pathTemplate);
167
+ }
168
+ e._uriTemplateParse = {
169
+ fromUri: (url) => {
170
+ return templates.reduce((v, t) => (v ? v : t.fromUri(url)), undefined);
171
+ },
172
+ varNames: [...pathTemplate.varNames, ...e._queryParams.map(q => q.name)]
173
+ };
174
+ }
175
+ else {
176
+ e._uriTemplateParse = uriTemplates(map);
177
+ }
178
+ });
131
179
  }
132
180
  }
133
181
  }
@@ -144,7 +192,7 @@ export class Router {
144
192
  const routeUrl = this.pathMap[i].url;
145
193
  const map = this.pathMap[i].config;
146
194
  if (routeUrl !== finalUrl &&
147
- (map._uriTemplateParse === undefined || map._uriTemplateParse.fromUri(finalUrl) === undefined)) {
195
+ (map._uriTemplateParse === undefined || map._uriTemplateParse.fromUri(finalUrl, { strict: true }) === undefined)) {
148
196
  continue;
149
197
  }
150
198
  map.methods.forEach(m => methods.add(m));
@@ -171,8 +219,33 @@ export class Router {
171
219
  if (map._uriTemplateParse === undefined) {
172
220
  continue;
173
221
  }
174
- const parse_result = map._uriTemplateParse.fromUri(finalUrl);
222
+ const parse_result = map._uriTemplateParse.fromUri(finalUrl, { strict: true });
175
223
  if (parse_result !== undefined) {
224
+ let parseUrl = new URL(`http://localhost${finalUrl}`);
225
+ if (map._queryCatchAll) {
226
+ parse_result[map._queryCatchAll] = {};
227
+ parseUrl.searchParams.forEach((v, k) => {
228
+ if (!map._queryParams?.find(q => q.name === k)) {
229
+ parse_result[map._queryCatchAll][k] = v;
230
+ }
231
+ });
232
+ }
233
+ // Check for each params
234
+ let mandatoryParams = true;
235
+ map._queryParams?.forEach(q => {
236
+ if (!parseUrl.searchParams.has(q.name)) {
237
+ mandatoryParams && (mandatoryParams = !q.required);
238
+ return;
239
+ }
240
+ parse_result[q.name] = parseUrl.searchParams.get(q.name);
241
+ });
242
+ // Skip if we miss mandatory params
243
+ if (!mandatoryParams) {
244
+ continue;
245
+ }
246
+ if (parse_result.URITemplateQuery) {
247
+ delete parse_result.URITemplateQuery;
248
+ }
176
249
  ctx.setServiceParameters(parameters);
177
250
  ctx.setPathParameters(parse_result);
178
251
  return map;
@@ -209,17 +282,16 @@ export class Router {
209
282
  return;
210
283
  }
211
284
  route.openapi.hidden = false;
212
- let urlParameters = [];
213
285
  let path = i;
214
286
  if (i.indexOf("{?") >= 0) {
215
- urlParameters = i.substring(i.indexOf("{?") + 2, i.length - 1).split(",");
216
287
  path = i.substring(0, i.indexOf("{?"));
217
288
  }
218
289
  openapi.paths[path] = openapi.paths[path] || {};
219
290
  if (route._uriTemplateParse) {
220
291
  openapi.paths[path].parameters = [];
221
292
  route._uriTemplateParse.varNames.forEach(varName => {
222
- if (urlParameters.indexOf(varName) >= 0) {
293
+ const queryParam = route._queryParams?.find(i => i.name === varName);
294
+ if (queryParam) {
223
295
  let name = varName;
224
296
  if (name.startsWith("*")) {
225
297
  name = name.substr(1);
@@ -227,7 +299,7 @@ export class Router {
227
299
  openapi.paths[path].parameters.push({
228
300
  name,
229
301
  in: "query",
230
- required: !varName.startsWith("*"),
302
+ required: queryParam.required,
231
303
  schema: {
232
304
  type: "string"
233
305
  }
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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"}
@@ -39,7 +39,7 @@ let RouterTest = class RouterTest extends WebdaTest {
39
39
  this.webda.addRoute("/test/{uuid}", { methods: ["GET"], executor: "DefinedMailer" });
40
40
  let httpContext = new HttpContext("test.webda.io", "GET", "/prefix/test/plop", "https");
41
41
  httpContext.setPrefix("/prefix");
42
- let ctx = await this.webda.newContext(httpContext);
42
+ let ctx = await this.webda.newWebContext(httpContext);
43
43
  this.webda.updateContextWithRoute(ctx);
44
44
  assert.strictEqual(ctx.getPathParameters().uuid, "plop");
45
45
  }
@@ -47,20 +47,92 @@ let RouterTest = class RouterTest extends WebdaTest {
47
47
  this.webda.addRoute("/test/{uuid}", { methods: ["GET"], executor: "DefinedMailer" });
48
48
  this.webda.addRoute("/test/{id}", { methods: ["GET"], executor: "DefinedMailer" });
49
49
  let httpContext = new HttpContext("test.webda.io", "GET", "/test/plop", "https");
50
- let ctx = await this.webda.newContext(httpContext);
50
+ let ctx = await this.webda.newWebContext(httpContext);
51
51
  this.webda.updateContextWithRoute(ctx);
52
52
  assert.deepStrictEqual(this.webda.getRouter().getRouteMethodsFromUrl("/test/plop"), ["GET"]);
53
53
  }
54
+ async testRouteWithWeirdSplit() {
55
+ this.webda.addRoute("/test/{uuid}at{domain}", { methods: ["GET"], executor: "DefinedMailer" });
56
+ let httpContext = new HttpContext("test.webda.io", "GET", "/test/plopatgoogle", "https");
57
+ let ctx = await this.webda.newWebContext(httpContext);
58
+ this.webda.updateContextWithRoute(ctx);
59
+ assert.deepStrictEqual(ctx.getPathParameters(), {
60
+ uuid: "plop",
61
+ domain: "google"
62
+ });
63
+ }
64
+ async testRouteWithSubPath() {
65
+ this.webda.addRoute("/test/{uuid}", { methods: ["GET"], executor: "DefinedMailer" });
66
+ this.webda.addRoute("/test/{uuid}/users", { methods: ["GET"], executor: "DefinedMailer2" });
67
+ this.webda.addRoute("/test/{puid}/users/{uuid}", { methods: ["GET"], executor: "DefinedMailer3" });
68
+ let httpContext = new HttpContext("test.webda.io", "GET", "/test/plop", "https");
69
+ let ctx = await this.webda.newWebContext(httpContext);
70
+ this.webda.updateContextWithRoute(ctx);
71
+ assert.deepStrictEqual(ctx.getPathParameters(), {
72
+ uuid: "plop"
73
+ });
74
+ httpContext = new HttpContext("test.webda.io", "GET", "/test/plop/users", "https");
75
+ ctx = await this.webda.newWebContext(httpContext);
76
+ this.webda.updateContextWithRoute(ctx);
77
+ assert.deepStrictEqual(ctx.getPathParameters(), {
78
+ uuid: "plop"
79
+ });
80
+ httpContext = new HttpContext("test.webda.io", "GET", "/test/plop/users/plip", "https");
81
+ ctx = await this.webda.newWebContext(httpContext);
82
+ this.webda.updateContextWithRoute(ctx);
83
+ assert.deepStrictEqual(ctx.getPathParameters(), {
84
+ uuid: "plip",
85
+ puid: "plop"
86
+ });
87
+ }
88
+ async testRouteWithPath() {
89
+ this.webda.addRoute("/test/{+path}", { methods: ["GET"], executor: "DefinedMailer" });
90
+ this.webda.addRoute("/test2/{+path}{?query*}", { methods: ["GET"], executor: "DefinedMailer" });
91
+ let httpContext = new HttpContext("test.webda.io", "GET", "/test/plop/toto/plus", "https");
92
+ let ctx = await this.webda.newWebContext(httpContext);
93
+ this.webda.updateContextWithRoute(ctx);
94
+ assert.deepStrictEqual(ctx.getPathParameters(), { path: "plop/toto/plus" });
95
+ httpContext = new HttpContext("test.webda.io", "GET", "/test2/plop/toto/plus?query3=12&query2=test,test2", "https");
96
+ ctx = await this.webda.newWebContext(httpContext);
97
+ this.webda.updateContextWithRoute(ctx);
98
+ assert.deepStrictEqual(ctx.getPathParameters(), {
99
+ path: "plop/toto/plus",
100
+ query: {
101
+ query3: "12",
102
+ query2: "test,test2"
103
+ }
104
+ });
105
+ }
106
+ async testRouteWithEmail() {
107
+ this.webda.addRoute("/email/{email}/test", { methods: ["GET"], executor: "DefinedMailer" });
108
+ this.webda.addRoute("/email/callback{?email,test?}", { methods: ["GET"], executor: "DefinedMailer" });
109
+ let httpContext = new HttpContext("test.webda.io", "GET", "/email/test%40webda.io/test", "https");
110
+ let ctx = await this.webda.newWebContext(httpContext);
111
+ this.webda.updateContextWithRoute(ctx);
112
+ assert.deepStrictEqual(ctx.getPathParameters(), { email: "test@webda.io" });
113
+ httpContext = new HttpContext("test.webda.io", "GET", "/email/callback?email=test%40webda.io", "https");
114
+ ctx = await this.webda.newWebContext(httpContext);
115
+ this.webda.updateContextWithRoute(ctx);
116
+ assert.deepStrictEqual(ctx.getPathParameters(), { email: "test@webda.io" });
117
+ }
54
118
  async testRouteWithQueryParam() {
55
- this.webda.addRoute("/test/plop{?uuid}", { methods: ["GET"], executor: "DefinedMailer" });
119
+ this.webda.addRoute("/test/plop{?uuid?}", { methods: ["GET"], executor: "DefinedMailer" });
56
120
  let httpContext = new HttpContext("test.webda.io", "GET", "/test/plop", "http");
57
- let ctx = await this.webda.newContext(httpContext);
121
+ let ctx = await this.webda.newWebContext(httpContext);
58
122
  assert.strictEqual(this.webda.updateContextWithRoute(ctx), true);
59
123
  assert.strictEqual(ctx.getPathParameters().uuid, undefined);
60
124
  httpContext = new HttpContext("test.webda.io", "GET", "/test/plop?uuid=bouzouf", "http");
61
- ctx = await this.webda.newContext(httpContext);
125
+ ctx = await this.webda.newWebContext(httpContext);
62
126
  assert.strictEqual(this.webda.updateContextWithRoute(ctx), true);
63
127
  assert.strictEqual(ctx.getPathParameters().uuid, "bouzouf");
128
+ this.webda.addRoute("/test/plop2{?params+}", { methods: ["GET"], executor: "DefinedMailer" });
129
+ httpContext = new HttpContext("test.webda.io", "GET", "/test/plop2", "http");
130
+ ctx = await this.webda.newWebContext(httpContext);
131
+ assert.strictEqual(this.webda.updateContextWithRoute(ctx), false);
132
+ httpContext = new HttpContext("test.webda.io", "GET", "/test/plop2?uuid=plop", "http");
133
+ ctx = await this.webda.newWebContext(httpContext);
134
+ assert.strictEqual(this.webda.updateContextWithRoute(ctx), true);
135
+ assert.strictEqual(ctx.getPathParameters().params.uuid, "plop");
64
136
  }
65
137
  completeOpenApi() {
66
138
  let api = { paths: {}, info: { title: "Plop", version: "1.0" }, openapi: "", tags: [{ name: "test" }] };
@@ -118,6 +190,18 @@ __decorate([
118
190
  __decorate([
119
191
  test
120
192
  ], RouterTest.prototype, "testRouteWithOverlap", null);
193
+ __decorate([
194
+ test
195
+ ], RouterTest.prototype, "testRouteWithWeirdSplit", null);
196
+ __decorate([
197
+ test
198
+ ], RouterTest.prototype, "testRouteWithSubPath", null);
199
+ __decorate([
200
+ test
201
+ ], RouterTest.prototype, "testRouteWithPath", null);
202
+ __decorate([
203
+ test
204
+ ], RouterTest.prototype, "testRouteWithEmail", null);
121
205
  __decorate([
122
206
  test
123
207
  ], RouterTest.prototype, "testRouteWithQueryParam", null);
@@ -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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"}
@@ -11,7 +11,7 @@ import { WebdaTest } from "../test.js";
11
11
  import { EventService } from "./asyncevents.js";
12
12
  let AsyncEventsTest = class AsyncEventsTest extends WebdaTest {
13
13
  async simple() {
14
- var users = this.webda.getService("users");
14
+ var users = this.webda.getService("Users");
15
15
  var eventsCount = 0;
16
16
  var priorityEventsCount = 0;
17
17
  var defaultQueue = this.webda.getService("EventQueue");
@@ -88,10 +88,10 @@ let AsyncEventsTest = class AsyncEventsTest extends WebdaTest {
88
88
  // @ts-ignore
89
89
  () => evt.handleEvent({ getMapper: () => "plop" }), /Callbacks should not be empty, possible application version mismatch between emitter and worker/);
90
90
  evt._async = true;
91
- let stub = sinon.spy(this.webda.getService("users"), "on");
91
+ let stub = sinon.spy(this.webda.getService("Users"), "on");
92
92
  try {
93
- evt.bindAsyncListener(this.webda.getService("users"), "plop", () => { }, "priority");
94
- evt.bindAsyncListener(this.webda.getService("users"), "plop", () => { }, "priority");
93
+ evt.bindAsyncListener(this.webda.getService("Users"), "plop", () => { }, "priority");
94
+ evt.bindAsyncListener(this.webda.getService("Users"), "plop", () => { }, "priority");
95
95
  // Should call 'on' only once
96
96
  assert.strictEqual(stub.callCount, 1);
97
97
  }
@@ -1,9 +1,10 @@
1
1
  import { Counter, EventWithContext } from "../core.js";
2
+ import { CoreModelDefinition } from "../models/coremodel.js";
2
3
  import { Ident } from "../models/ident.js";
3
4
  import { User } from "../models/user.js";
4
5
  import { Service, ServiceParameters } from "../services/service.js";
5
6
  import { Store } from "../stores/store.js";
6
- import { Context } from "../utils/context.js";
7
+ import { OperationContext, WebContext } from "../utils/context.js";
7
8
  import { HttpMethodType } from "../utils/httpcontext.js";
8
9
  import CryptoService from "./cryptoservice.js";
9
10
  import { Mailer } from "./mailer.js";
@@ -100,15 +101,15 @@ export declare class AuthenticationParameters extends ServiceParameters {
100
101
  /**
101
102
  * Idents store for authentication identifiers
102
103
  *
103
- * @default "idents"
104
+ * @default "Webda/Ident"
104
105
  */
105
- identStore?: string;
106
+ identModel?: string;
106
107
  /**
107
108
  * User store for authentication users
108
109
  *
109
- * @default "users"
110
+ * @default "Webda/User"
110
111
  */
111
- userStore?: string;
112
+ userModel?: string;
112
113
  /**
113
114
  * @default "/auth"
114
115
  */
@@ -204,8 +205,8 @@ export type AuthenticationEvents = {
204
205
  * @WebdaModda
205
206
  */
206
207
  declare class Authentication<T extends AuthenticationParameters = AuthenticationParameters, E extends AuthenticationEvents = AuthenticationEvents> extends Service<T, E> {
207
- _identsStore: Store<Ident>;
208
- _usersStore: Store<User>;
208
+ _identModel: CoreModelDefinition<Ident>;
209
+ _userModel: CoreModelDefinition<User>;
209
210
  /**
210
211
  * Used for hmac
211
212
  */
@@ -234,8 +235,6 @@ declare class Authentication<T extends AuthenticationParameters = Authentication
234
235
  * @returns
235
236
  */
236
237
  getIdentStore<K extends Ident = Ident>(): Store<K>;
237
- setIdents(identStore: any): void;
238
- setUsers(userStore: any): void;
239
238
  /**
240
239
  * @ignore
241
240
  * Setup the default routes
@@ -268,7 +267,7 @@ declare class Authentication<T extends AuthenticationParameters = Authentication
268
267
  * Return current user
269
268
  * @param ctx
270
269
  */
271
- _getMe(ctx: Context): Promise<void>;
270
+ _getMe(ctx: OperationContext): Promise<void>;
272
271
  /**
273
272
  * Handle both list of available authentication
274
273
  * and logout with method 'DELETE'
@@ -276,28 +275,28 @@ declare class Authentication<T extends AuthenticationParameters = Authentication
276
275
  * @param ctx
277
276
  * @returns
278
277
  */
279
- _listAuthentications(ctx: Context): Promise<void>;
280
- onIdentLogin(ctx: Context, provider: string, identId: string, profile: any, tokens?: any): Promise<void>;
278
+ _listAuthentications(ctx: WebContext): Promise<void>;
279
+ onIdentLogin(ctx: WebContext, provider: string, identId: string, profile: any, tokens?: any): Promise<void>;
281
280
  /**
282
281
  * Create a new User with the link ident
283
282
  * @param ident
284
283
  */
285
284
  createUserWithIdent(provider: string, identId: string, profile?: any): Promise<void>;
286
- registerUser(ctx: Context, data: any, identId: string, user?: any): Promise<any>;
285
+ registerUser(ctx: WebContext, data: any, identId: string, user?: User): Promise<User>;
287
286
  getPasswordRecoveryInfos(uuid: string | User, interval?: number): Promise<PasswordRecoveryInfos>;
288
287
  /**
289
288
  * Manage password recovery
290
289
  * @param ctx
291
290
  */
292
- _passwordRecoveryEmail(ctx: Context): Promise<void>;
291
+ _passwordRecoveryEmail(ctx: WebContext): Promise<void>;
293
292
  _verifyPassword(password: string, user?: User): Promise<void>;
294
- _passwordRecovery(ctx: Context<PasswordRecoveryBody>): Promise<void>;
293
+ _passwordRecovery(ctx: WebContext<PasswordRecoveryBody>): Promise<void>;
295
294
  /**
296
295
  * Callback to validate an email address
297
296
  * @param ctx
298
297
  * @returns
299
298
  */
300
- _handleEmailCallback(ctx: Context): Promise<void>;
299
+ _handleEmailCallback(ctx: WebContext): Promise<void>;
301
300
  /**
302
301
  * Send an email to recover the user password
303
302
  *
@@ -306,7 +305,7 @@ declare class Authentication<T extends AuthenticationParameters = Authentication
306
305
  * @param email
307
306
  * @returns
308
307
  */
309
- sendRecoveryEmail(ctx: Context, user: any, email: string): Promise<any>;
308
+ sendRecoveryEmail(ctx: WebContext, user: any, email: string): Promise<any>;
310
309
  /**
311
310
  * Send an email to validate the user email by sending a unique link to
312
311
  * his email
@@ -315,7 +314,7 @@ declare class Authentication<T extends AuthenticationParameters = Authentication
315
314
  * @param email
316
315
  * @returns
317
316
  */
318
- sendValidationEmail(ctx: Context, email: string): Promise<any>;
317
+ sendValidationEmail(ctx: WebContext, email: string): Promise<any>;
319
318
  /**
320
319
  * Check the password match the stored hash
321
320
  * @param hash generate prior by hashPassword
@@ -331,7 +330,7 @@ declare class Authentication<T extends AuthenticationParameters = Authentication
331
330
  /**
332
331
  * Logout user
333
332
  */
334
- logout(ctx: Context): Promise<void>;
333
+ logout(ctx: WebContext): Promise<void>;
335
334
  /**
336
335
  * Login a user
337
336
  *
@@ -340,7 +339,7 @@ declare class Authentication<T extends AuthenticationParameters = Authentication
340
339
  * @param ident
341
340
  * @returns
342
341
  */
343
- login(ctx: Context, user: User | string, ident: Ident, provider: string): Promise<any[]>;
342
+ login(ctx: WebContext, user: User | string, ident: Ident, provider: string): Promise<any[]>;
344
343
  getMailMan(): Mailer;
345
344
  /**
346
345
  * Handle a user login request
@@ -348,14 +347,14 @@ declare class Authentication<T extends AuthenticationParameters = Authentication
348
347
  * @param ctx
349
348
  * @param ident
350
349
  */
351
- protected handleLogin(ctx: Context<LoginBody>, ident: Ident): Promise<void>;
350
+ protected handleLogin(ctx: WebContext<LoginBody>, ident: Ident): Promise<void>;
352
351
  /**
353
352
  * Handle the POST /auth/email
354
353
  *
355
354
  * @param ctx
356
355
  * @returns
357
356
  */
358
- _handleEmail(ctx: Context<LoginBody>): Promise<any>;
357
+ _handleEmail(ctx: WebContext<LoginBody>): Promise<any>;
359
358
  generateEmailValidationToken(user: string, email: string): Promise<string>;
360
359
  }
361
360
  export { Authentication };