@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,44 +1,29 @@
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 __1 = require("../");
21
- const test_1 = require("../test");
22
- const oauth_1 = require("./oauth");
23
- class FakeOAuthService extends oauth_1.OAuthService {
7
+ import { suite, test } from "@testdeck/mocha";
8
+ import * as assert from "assert";
9
+ import { HttpContext } from "../.js";
10
+ import { WebdaTest } from "../test.js";
11
+ import { OAuthService } from "./oauth.js";
12
+ class FakeOAuthService extends OAuthService {
24
13
  getDefaultUrl() {
25
14
  return "/fake";
26
15
  }
27
16
  generateAuthUrl() {
28
17
  return "/fakeredirect";
29
18
  }
30
- handleToken() {
31
- return __awaiter(this, void 0, void 0, function* () {
32
- return {
33
- identId: "i1",
34
- profile: {}
35
- };
36
- });
19
+ async handleToken() {
20
+ return {
21
+ identId: "i1",
22
+ profile: {}
23
+ };
37
24
  }
38
- handleCallback() {
39
- return __awaiter(this, void 0, void 0, function* () {
40
- return this.handleToken();
41
- });
25
+ async handleCallback() {
26
+ return this.handleToken();
42
27
  }
43
28
  getName() {
44
29
  return "fake";
@@ -47,147 +32,136 @@ class FakeOAuthService extends oauth_1.OAuthService {
47
32
  return [/bouzouf\d?\.com$/];
48
33
  }
49
34
  }
50
- let OAuthServiceTest = class OAuthServiceTest extends test_1.WebdaTest {
51
- before() {
52
- const _super = Object.create(null, {
53
- before: { get: () => super.before }
54
- });
55
- return __awaiter(this, void 0, void 0, function* () {
56
- yield _super.before.call(this);
57
- this.service = new FakeOAuthService(this.webda, "fake", {
58
- authorized_uris: ["https://redirect.me/plop"]
59
- });
60
- this.registerService(this.service);
35
+ let OAuthServiceTest = class OAuthServiceTest extends WebdaTest {
36
+ async before() {
37
+ await super.before();
38
+ this.service = new FakeOAuthService(this.webda, "fake", {
39
+ authorized_uris: ["https://redirect.me/plop"]
61
40
  });
41
+ this.registerService(this.service);
62
42
  }
63
- testCheckRequest() {
64
- return __awaiter(this, void 0, void 0, function* () {
65
- let ctx = yield this.newContext();
66
- ctx.setHttpContext(new __1.HttpContext("bouzouf.com", "GET", "/fake", "https", 80, { referer: "bouzouf.com" }));
67
- assert.strictEqual(yield this.service.checkRequest(ctx), true, "should allow bouzouf.com referer");
68
- ctx.setHttpContext(new __1.HttpContext("bouzouf.com", "GET", "/fake", "https", 80, { referer: "bouzouf2.com" }));
69
- assert.strictEqual(yield this.service.checkRequest(ctx), true, "should allow bouzouf2.com referer");
70
- ctx.setHttpContext(new __1.HttpContext("bouzouf.com", "GET", "/fake", "https", 80, { referer: "bouzouf12.com" }));
71
- assert.strictEqual(yield this.service.checkRequest(ctx), false, "should not allow bouzouf12.com referer");
72
- ctx.setHttpContext(new __1.HttpContext("bouzouf.com", "GET", "/plop", "https", 80, { referer: "bouzouf.com" }));
73
- assert.strictEqual(yield this.service.checkRequest(ctx), false, "should allow bouzouf.com only on its own url");
74
- ctx.setHttpContext(new __1.HttpContext("bouzouf.com", "GET", "/fake", "https", 80, {}));
75
- assert.strictEqual(yield this.service.checkRequest(ctx), false, "should not allow without referer");
76
- this.service.getParameters().no_referer = true;
77
- ctx.setHttpContext(new __1.HttpContext("bouzouf.com", "GET", "/fake", "https", 80, {}));
78
- assert.strictEqual(yield this.service.checkRequest(ctx), true, "should allow without referer");
79
- });
43
+ async testCheckRequest() {
44
+ let ctx = await this.newContext();
45
+ ctx.setHttpContext(new HttpContext("bouzouf.com", "GET", "/fake", "https", 80, { referer: "bouzouf.com" }));
46
+ assert.strictEqual(await this.service.checkRequest(ctx), true, "should allow bouzouf.com referer");
47
+ ctx.setHttpContext(new HttpContext("bouzouf.com", "GET", "/fake", "https", 80, { referer: "bouzouf2.com" }));
48
+ assert.strictEqual(await this.service.checkRequest(ctx), true, "should allow bouzouf2.com referer");
49
+ ctx.setHttpContext(new HttpContext("bouzouf.com", "GET", "/fake", "https", 80, { referer: "bouzouf12.com" }));
50
+ assert.strictEqual(await this.service.checkRequest(ctx), false, "should not allow bouzouf12.com referer");
51
+ ctx.setHttpContext(new HttpContext("bouzouf.com", "GET", "/plop", "https", 80, { referer: "bouzouf.com" }));
52
+ assert.strictEqual(await this.service.checkRequest(ctx), false, "should allow bouzouf.com only on its own url");
53
+ ctx.setHttpContext(new HttpContext("bouzouf.com", "GET", "/fake", "https", 80, {}));
54
+ assert.strictEqual(await this.service.checkRequest(ctx), false, "should not allow without referer");
55
+ this.service.getParameters().no_referer = true;
56
+ ctx.setHttpContext(new HttpContext("bouzouf.com", "GET", "/fake", "https", 80, {}));
57
+ assert.strictEqual(await this.service.checkRequest(ctx), true, "should allow without referer");
80
58
  }
81
- misc() {
82
- return __awaiter(this, void 0, void 0, function* () {
83
- this.service.resolve();
84
- assert.notStrictEqual(this.service._authenticationService, undefined, "Should get default Authentication service");
85
- // Test the 403 on handleReturn
86
- assert.rejects(() => this.service.handleReturn(undefined, undefined, undefined), /403/);
87
- let ctx = yield this.newContext();
88
- yield this.webda.getService("Idents").__clean();
89
- // Register with oauth
90
- yield this.service.handleReturn(ctx, "plop", { email: "rcattiau@gmail.com" }, undefined);
91
- // We should have two idents existing now
92
- assert.strictEqual(yield this.webda.getService("Idents").exists("plop_fake"), true);
93
- assert.strictEqual(yield this.webda.getService("Idents").exists("rcattiau@gmail.com_email"), true);
94
- ctx.newSession();
95
- // Log with known ident / email
96
- assert.strictEqual(ctx.getSession().identUsed, undefined);
97
- yield this.service.handleReturn(ctx, "plop", { email: "rcattiau@gmail.com" }, undefined);
98
- assert.strictEqual(ctx.getSession().identUsed, "plop_fake");
99
- let userId = ctx.getCurrentUserId();
100
- ctx.newSession();
101
- // Log with new ident / known email
102
- yield this.service.handleReturn(ctx, "plop2", { email: "rcattiau@gmail.com" }, undefined);
103
- assert.strictEqual(ctx.getSession().identUsed, "plop2_fake");
104
- assert.strictEqual(ctx.getCurrentUserId(), userId);
105
- yield this.service.handleReturn(ctx, "plop3", { email: "rcattiau@gmail.com" }, undefined);
106
- // Default to false for token
107
- assert.rejects(() => this.execute(ctx, "webda.io", "GET", "/fake/scope"), /404/);
108
- assert.rejects(() => this.execute(ctx, "webda.io", "POST", "/fake/token"), /404/);
109
- // @ts-ignore
110
- this.service.parameters = this.service.loadParameters({
111
- authenticationService: "Authentication2",
112
- exposeScope: true,
113
- scope: ["email", "image"],
114
- url: "/bouzouf",
115
- authorized_uris: ["google.com"]
116
- });
117
- this.service.hasToken = () => true;
118
- this.service.resolve();
119
- this.registerService(this.service);
120
- assert.strictEqual(this.service._authenticationService, undefined, "Should not get any Authentication service");
121
- yield this.execute(ctx, "webda.io", "GET", "/bouzouf/scope");
122
- assert.deepStrictEqual(JSON.parse(ctx.getResponseBody()), ["email", "image"]);
123
- let event = 0;
124
- this.service.on("OAuth.Callback", evt => {
125
- if (evt.type === "token") {
126
- event++;
127
- }
128
- });
129
- yield this.execute(ctx, "webda.io", "POST", "/bouzouf/token");
130
- assert.strictEqual(event, 1);
131
- this.service.removeAllListeners();
132
- this.service.on("OAuth.Callback", evt => {
133
- if (evt.type === "callback") {
134
- event++;
135
- }
136
- });
137
- ctx.getSession().oauth.redirect = "bouzouf.com";
138
- yield this.getExecutor(ctx, "webda.io", "GET", "/bouzouf/callback").execute(ctx);
139
- assert.strictEqual(event, 2);
140
- assert.strictEqual(ctx.getResponseHeaders()["Location"], "bouzouf.com");
141
- assert.strictEqual(ctx.getSession().oauth.redirect, undefined);
142
- assert.strictEqual(ctx.getSession().oauth.state, undefined);
143
- // @ts-ignore
144
- this.service.parameters = this.service.loadParameters({
145
- authenticationService: "Authentication2",
146
- exposeScope: true,
147
- scope: ["email", "image"],
148
- url: "/bouzouf"
149
- });
150
- // @ts-ignore readonly
151
- ctx.getHttpContext().getHeaders().referer = "http://myownwebsite.com";
152
- this.service._redirect(ctx);
153
- assert.strictEqual(ctx.getSession().oauth.redirect, "http://myownwebsite.com");
59
+ async misc() {
60
+ this.service.resolve();
61
+ assert.notStrictEqual(this.service._authenticationService, undefined, "Should get default Authentication service");
62
+ // Test the 403 on handleReturn
63
+ assert.rejects(() => this.service.handleReturn(undefined, undefined, undefined), /403/);
64
+ let ctx = await this.newContext();
65
+ await this.webda.getService("Idents").__clean();
66
+ // Register with oauth
67
+ await this.service.handleReturn(ctx, "plop", { email: "rcattiau@gmail.com" }, undefined);
68
+ // We should have two idents existing now
69
+ assert.strictEqual(await this.webda.getService("Idents").exists("plop_fake"), true);
70
+ assert.strictEqual(await this.webda.getService("Idents").exists("rcattiau@gmail.com_email"), true);
71
+ ctx.newSession();
72
+ // Log with known ident / email
73
+ assert.strictEqual(ctx.getSession().identUsed, undefined);
74
+ await this.service.handleReturn(ctx, "plop", { email: "rcattiau@gmail.com" }, undefined);
75
+ assert.strictEqual(ctx.getSession().identUsed, "plop_fake");
76
+ let userId = ctx.getCurrentUserId();
77
+ ctx.newSession();
78
+ // Log with new ident / known email
79
+ await this.service.handleReturn(ctx, "plop2", { email: "rcattiau@gmail.com" }, undefined);
80
+ assert.strictEqual(ctx.getSession().identUsed, "plop2_fake");
81
+ assert.strictEqual(ctx.getCurrentUserId(), userId);
82
+ await this.service.handleReturn(ctx, "plop3", { email: "rcattiau@gmail.com" }, undefined);
83
+ // Default to false for token
84
+ assert.rejects(() => this.execute(ctx, "webda.io", "GET", "/fake/scope"), /404/);
85
+ assert.rejects(() => this.execute(ctx, "webda.io", "POST", "/fake/token"), /404/);
86
+ // @ts-ignore
87
+ this.service.parameters = this.service.loadParameters({
88
+ authenticationService: "Authentication2",
89
+ exposeScope: true,
90
+ scope: ["email", "image"],
91
+ url: "/bouzouf",
92
+ authorized_uris: ["google.com"]
154
93
  });
155
- }
156
- redirect() {
157
- return __awaiter(this, void 0, void 0, function* () {
158
- let ctx = yield this.newContext();
159
- ctx.setHttpContext(new __1.HttpContext("test.webda.io", "GET", "/fake", "https", 443, {
160
- referer: "https://redirect.me/plop"
161
- }));
162
- yield this.service._redirect(ctx);
163
- assert.notStrictEqual(ctx.getSession().oauth.state, undefined);
164
- assert.strictEqual(ctx.getSession().oauth.redirect, "https://redirect.me/plop");
165
- assert.strictEqual(ctx.getResponseHeaders().Location, "/fakeredirect");
166
- ctx.setHttpContext(new __1.HttpContext("test.webda.io", "GET", "/fake", "https", 443, {
167
- referer: "https://redirect.me/plop2"
168
- }));
169
- assert.throws(() => this.service._redirect(ctx), /401/);
170
- // Test w/o referer
171
- ctx.setHttpContext(new __1.HttpContext("test.webda.io", "GET", "/fake"));
172
- assert.throws(() => this.service._redirect(ctx), /401/);
173
- // Enable the no_referer
174
- this.service.getParameters().no_referer = true;
175
- this.service._redirect(ctx);
176
- assert.strictEqual(ctx.getSession().oauth.redirect, undefined);
177
- assert.strictEqual(ctx.getResponseHeaders().Location, "/fakeredirect");
94
+ this.service.hasToken = () => true;
95
+ this.service.resolve();
96
+ this.registerService(this.service);
97
+ assert.strictEqual(this.service._authenticationService, undefined, "Should not get any Authentication service");
98
+ await this.execute(ctx, "webda.io", "GET", "/bouzouf/scope");
99
+ assert.deepStrictEqual(JSON.parse(ctx.getResponseBody()), ["email", "image"]);
100
+ let event = 0;
101
+ this.service.on("OAuth.Callback", evt => {
102
+ if (evt.type === "token") {
103
+ event++;
104
+ }
105
+ });
106
+ await this.execute(ctx, "webda.io", "POST", "/bouzouf/token");
107
+ assert.strictEqual(event, 1);
108
+ this.service.removeAllListeners();
109
+ this.service.on("OAuth.Callback", evt => {
110
+ if (evt.type === "callback") {
111
+ event++;
112
+ }
178
113
  });
114
+ ctx.getSession().oauth.redirect = "bouzouf.com";
115
+ await this.getExecutor(ctx, "webda.io", "GET", "/bouzouf/callback").execute(ctx);
116
+ assert.strictEqual(event, 2);
117
+ assert.strictEqual(ctx.getResponseHeaders()["Location"], "bouzouf.com");
118
+ assert.strictEqual(ctx.getSession().oauth.redirect, undefined);
119
+ assert.strictEqual(ctx.getSession().oauth.state, undefined);
120
+ // @ts-ignore
121
+ this.service.parameters = this.service.loadParameters({
122
+ authenticationService: "Authentication2",
123
+ exposeScope: true,
124
+ scope: ["email", "image"],
125
+ url: "/bouzouf"
126
+ });
127
+ // @ts-ignore readonly
128
+ ctx.getHttpContext().getHeaders().referer = "http://myownwebsite.com";
129
+ this.service._redirect(ctx);
130
+ assert.strictEqual(ctx.getSession().oauth.redirect, "http://myownwebsite.com");
131
+ }
132
+ async redirect() {
133
+ let ctx = await this.newContext();
134
+ ctx.setHttpContext(new HttpContext("test.webda.io", "GET", "/fake", "https", 443, {
135
+ referer: "https://redirect.me/plop"
136
+ }));
137
+ await this.service._redirect(ctx);
138
+ assert.notStrictEqual(ctx.getSession().oauth.state, undefined);
139
+ assert.strictEqual(ctx.getSession().oauth.redirect, "https://redirect.me/plop");
140
+ assert.strictEqual(ctx.getResponseHeaders().Location, "/fakeredirect");
141
+ ctx.setHttpContext(new HttpContext("test.webda.io", "GET", "/fake", "https", 443, {
142
+ referer: "https://redirect.me/plop2"
143
+ }));
144
+ assert.throws(() => this.service._redirect(ctx), /401/);
145
+ // Test w/o referer
146
+ ctx.setHttpContext(new HttpContext("test.webda.io", "GET", "/fake"));
147
+ assert.throws(() => this.service._redirect(ctx), /401/);
148
+ // Enable the no_referer
149
+ this.service.getParameters().no_referer = true;
150
+ this.service._redirect(ctx);
151
+ assert.strictEqual(ctx.getSession().oauth.redirect, undefined);
152
+ assert.strictEqual(ctx.getResponseHeaders().Location, "/fakeredirect");
179
153
  }
180
154
  };
181
155
  __decorate([
182
- mocha_1.test
156
+ test
183
157
  ], OAuthServiceTest.prototype, "testCheckRequest", null);
184
158
  __decorate([
185
- mocha_1.test
159
+ test
186
160
  ], OAuthServiceTest.prototype, "misc", null);
187
161
  __decorate([
188
- mocha_1.test
162
+ test
189
163
  ], OAuthServiceTest.prototype, "redirect", null);
190
164
  OAuthServiceTest = __decorate([
191
- mocha_1.suite
165
+ suite
192
166
  ], OAuthServiceTest);
193
167
  //# sourceMappingURL=oauth.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.spec.js","sourceRoot":"","sources":["../../src/services/oauth.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauth.spec.js","sourceRoot":"","sources":["../../src/services/oauth.spec.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /// <reference types="node" />
2
2
  import * as http from "http";
3
- import { Context } from "../utils/context";
4
- import { Service, ServiceParameters } from "./service";
3
+ import { Context } from "../utils/context.js";
4
+ import { Service, ServiceParameters } from "./service.js";
5
5
  /**
6
6
  * Proxy to a backend service
7
7
  */
@@ -29,10 +29,6 @@ export declare class ProxyService<T extends ProxyParameters = ProxyParameters> e
29
29
  * @override
30
30
  */
31
31
  loadParameters(params: any): ProxyParameters;
32
- /**
33
- * @override
34
- */
35
- resolve(): this;
36
32
  /**
37
33
  * Create the request to the backend
38
34
  * @param url
@@ -1,47 +1,28 @@
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
- });
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
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;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
10
6
  };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.ProxyService = exports.ProxyParameters = void 0;
13
- const http = require("http");
14
- const service_1 = require("./service");
7
+ import * as http from "http";
8
+ import { Route, Service, ServiceParameters } from "./service.js";
15
9
  /**
16
10
  * Proxy to a backend service
17
11
  */
18
- class ProxyParameters extends service_1.ServiceParameters {
12
+ export class ProxyParameters extends ServiceParameters {
19
13
  }
20
- exports.ProxyParameters = ProxyParameters;
21
14
  /**
22
15
  * Proxy to starling computation api
23
16
  *
24
17
  * @WebdaModda
25
18
  */
26
- class ProxyService extends service_1.Service {
19
+ export class ProxyService extends Service {
27
20
  /**
28
21
  * @override
29
22
  */
30
23
  loadParameters(params) {
31
24
  return new ProxyParameters(params);
32
25
  }
33
- /**
34
- * @override
35
- */
36
- resolve() {
37
- super.resolve();
38
- // Can be used to reuse proxy system without exposing it directly
39
- if (this.parameters.url) {
40
- this.addRoute(this.parameters.url, ["GET", "POST", "DELETE", "PUT", "PATCH"], this.proxyRoute);
41
- this.addRoute(`${this.parameters.url}/{path}`, ["GET", "POST", "DELETE", "PUT", "PATCH"], this.proxyRoute, undefined, true);
42
- }
43
- return this;
44
- }
45
26
  /**
46
27
  * Create the request to the backend
47
28
  * @param url
@@ -97,43 +78,49 @@ class ProxyService extends service_1.Service {
97
78
  * @param host
98
79
  * @param url
99
80
  */
100
- proxy(ctx, host, url) {
101
- return __awaiter(this, void 0, void 0, function* () {
102
- const subUrl = ctx.getHttpContext().getRelativeUri().substring(url.length);
103
- this.log("DEBUG", "Proxying to", `${ctx.getHttpContext().getMethod()} ${host}${subUrl}`);
104
- yield new Promise((resolve, reject) => {
105
- let xff = ctx.getHttpContext().getHeader("x-forwarded-for");
106
- if (!xff) {
107
- xff += `, ${ctx.getHttpContext().getClientIp()}`;
108
- }
109
- else {
110
- xff = ctx.getHttpContext().getClientIp();
111
- }
112
- let req = this.createRequest(`${host}${subUrl}`, ctx.getHttpContext().getMethod(), Object.assign(Object.assign({}, this.getRequestHeaders(ctx)), { "X-Rewrite-URL": ctx.getHttpContext().getRelativeUri(), "X-Forwarded-Host": ctx
113
- .getHttpContext()
114
- .getHeader("x-forwarded-host", `${ctx.getHttpContext().getHost()}:${ctx.getHttpContext().getPort()}`), "X-Forwarded-Proto": ctx.getHttpContext().getHeader("x-forwarded-proto", ctx.getHttpContext().getProtocol()), "X-Forwarded-For": xff }), res => {
115
- res.on("end", resolve);
116
- res.on("error", reject);
117
- this.forwardResponse(res, ctx);
118
- });
119
- req.on("error", reject);
120
- ctx.getHttpContext().getRawStream().pipe(req);
81
+ async proxy(ctx, host, url) {
82
+ const subUrl = ctx.getHttpContext().getRelativeUri().substring(url.length);
83
+ this.log("DEBUG", "Proxying to", `${ctx.getHttpContext().getMethod()} ${host}${subUrl}`);
84
+ await new Promise((resolve, reject) => {
85
+ let xff = ctx.getHttpContext().getHeader("x-forwarded-for");
86
+ if (!xff) {
87
+ xff += `, ${ctx.getHttpContext().getClientIp()}`;
88
+ }
89
+ else {
90
+ xff = ctx.getHttpContext().getClientIp();
91
+ }
92
+ const protocol = ctx.getHttpContext().getProtocol();
93
+ let req = this.createRequest(`${host}${subUrl}`, ctx.getHttpContext().getMethod(), {
94
+ ...this.getRequestHeaders(ctx),
95
+ "X-Rewrite-URL": ctx.getHttpContext().getRelativeUri(),
96
+ "X-Forwarded-Host": ctx.getHttpContext().getHeader("x-forwarded-host", `${ctx.getHttpContext().getHost()}`),
97
+ "X-Forwarded-Proto": ctx
98
+ .getHttpContext()
99
+ .getHeader("x-forwarded-proto", protocol.substring(0, protocol.length - 1)),
100
+ "X-Forwarded-For": xff
101
+ }, res => {
102
+ res.on("end", resolve);
103
+ res.on("error", reject);
104
+ this.forwardResponse(res, ctx);
121
105
  });
106
+ req.on("error", reject);
107
+ ctx.getHttpContext().getRawStream().pipe(req);
122
108
  });
123
109
  }
124
110
  /**
125
111
  * Proxy to starling
126
112
  * @param ctx
127
113
  */
128
- proxyRoute(ctx) {
129
- return __awaiter(this, void 0, void 0, function* () {
130
- if (this.parameters.requireAuthentication && !ctx.getCurrentUserId()) {
131
- throw 401;
132
- }
133
- // Add any additional controls here
134
- yield this.proxy(ctx, this.parameters.backend, this.parameters.url);
135
- });
114
+ async proxyRoute(ctx) {
115
+ if (this.parameters.requireAuthentication && !ctx.getCurrentUserId()) {
116
+ throw 401;
117
+ }
118
+ // Add any additional controls here
119
+ await this.proxy(ctx, this.parameters.backend, this.parameters.url);
136
120
  }
137
121
  }
138
- exports.ProxyService = ProxyService;
122
+ __decorate([
123
+ Route("./{path}", ["GET", "POST", "DELETE", "PUT", "PATCH"], true),
124
+ Route(".", ["GET", "POST", "DELETE", "PUT", "PATCH"])
125
+ ], ProxyService.prototype, "proxyRoute", null);
139
126
  //# sourceMappingURL=proxy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/services/proxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/services/proxy.ts"],"names":[],"mappings":"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"}