@webda/core 2.0.0-beta.2 → 2.0.0-beta.3

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 (117) hide show
  1. package/lib/application.d.ts +0 -16
  2. package/lib/application.js.map +1 -1
  3. package/lib/core.d.ts +26 -23
  4. package/lib/core.js +51 -39
  5. package/lib/core.js.map +1 -1
  6. package/lib/core.spec.js +21 -12
  7. package/lib/core.spec.js.map +1 -1
  8. package/lib/index.d.ts +3 -0
  9. package/lib/index.js +4 -0
  10. package/lib/index.js.map +1 -1
  11. package/lib/models/aclmodel.spec.js +1 -0
  12. package/lib/models/aclmodel.spec.js.map +1 -1
  13. package/lib/models/coremodel.d.ts +6 -3
  14. package/lib/models/coremodel.js.map +1 -1
  15. package/lib/models/ownermodel.js +1 -1
  16. package/lib/models/ownermodel.js.map +1 -1
  17. package/lib/models/ownermodel.spec.js +15 -13
  18. package/lib/models/ownermodel.spec.js.map +1 -1
  19. package/lib/models/rolemodel.d.ts +1 -1
  20. package/lib/models/rolemodel.spec.js +2 -0
  21. package/lib/models/rolemodel.spec.js.map +1 -1
  22. package/lib/queues/queueservice.d.ts +1 -1
  23. package/lib/queues/queueservice.js +1 -0
  24. package/lib/queues/queueservice.js.map +1 -1
  25. package/lib/services/authentication.d.ts +6 -7
  26. package/lib/services/authentication.js +12 -18
  27. package/lib/services/authentication.js.map +1 -1
  28. package/lib/services/authentication.spec.js +15 -15
  29. package/lib/services/authentication.spec.js.map +1 -1
  30. package/lib/services/binary.d.ts +1 -1
  31. package/lib/services/binary.js +1 -0
  32. package/lib/services/binary.js.map +1 -1
  33. package/lib/services/configuration.d.ts +5 -2
  34. package/lib/services/configuration.js +2 -0
  35. package/lib/services/configuration.js.map +1 -1
  36. package/lib/services/cryptoservice.d.ts +253 -0
  37. package/lib/services/cryptoservice.js +346 -0
  38. package/lib/services/cryptoservice.js.map +1 -0
  39. package/lib/services/cryptoservice.spec.d.ts +1 -0
  40. package/lib/services/cryptoservice.spec.js +164 -0
  41. package/lib/services/cryptoservice.spec.js.map +1 -0
  42. package/lib/services/filebinary.d.ts +6 -1
  43. package/lib/services/filebinary.js +18 -7
  44. package/lib/services/filebinary.js.map +1 -1
  45. package/lib/services/filebinary.spec.js +3 -4
  46. package/lib/services/filebinary.spec.js.map +1 -1
  47. package/lib/services/fileconfiguration.d.ts +1 -1
  48. package/lib/services/fileconfiguration.js +1 -0
  49. package/lib/services/fileconfiguration.js.map +1 -1
  50. package/lib/services/invitationservice.d.ts +2 -2
  51. package/lib/services/invitationservice.js +2 -0
  52. package/lib/services/invitationservice.js.map +1 -1
  53. package/lib/services/invitationservice.spec.js +1 -1
  54. package/lib/services/invitationservice.spec.js.map +1 -1
  55. package/lib/services/kubernetesconfiguration.d.ts +1 -1
  56. package/lib/services/kubernetesconfiguration.js +1 -0
  57. package/lib/services/kubernetesconfiguration.js.map +1 -1
  58. package/lib/services/notificationservice.d.ts +1 -1
  59. package/lib/services/notificationservice.js +2 -0
  60. package/lib/services/notificationservice.js.map +1 -1
  61. package/lib/services/oauth.d.ts +28 -2
  62. package/lib/services/oauth.js +18 -8
  63. package/lib/services/oauth.js.map +1 -1
  64. package/lib/services/oauth.spec.js +19 -13
  65. package/lib/services/oauth.spec.js.map +1 -1
  66. package/lib/services/proxy.d.ts +78 -0
  67. package/lib/services/proxy.js +139 -0
  68. package/lib/services/proxy.js.map +1 -0
  69. package/lib/services/proxy.spec.d.ts +1 -0
  70. package/lib/services/proxy.spec.js +78 -0
  71. package/lib/services/proxy.spec.js.map +1 -0
  72. package/lib/services/service.d.ts +3 -3
  73. package/lib/services/service.js +2 -0
  74. package/lib/services/service.js.map +1 -1
  75. package/lib/stores/aggregator.d.ts +1 -1
  76. package/lib/stores/aggregator.js +1 -0
  77. package/lib/stores/aggregator.js.map +1 -1
  78. package/lib/stores/mapper.d.ts +1 -1
  79. package/lib/stores/mapper.js +1 -0
  80. package/lib/stores/mapper.js.map +1 -1
  81. package/lib/stores/memory.d.ts +64 -3
  82. package/lib/stores/memory.js +85 -1
  83. package/lib/stores/memory.js.map +1 -1
  84. package/lib/stores/memory.spec.d.ts +1 -0
  85. package/lib/stores/memory.spec.js +43 -0
  86. package/lib/stores/memory.spec.js.map +1 -1
  87. package/lib/stores/store.d.ts +14 -0
  88. package/lib/stores/store.js +33 -0
  89. package/lib/stores/store.js.map +1 -1
  90. package/lib/stores/store.spec.d.ts +1 -0
  91. package/lib/stores/store.spec.js +25 -0
  92. package/lib/stores/store.spec.js.map +1 -1
  93. package/lib/test.js +8 -1
  94. package/lib/test.js.map +1 -1
  95. package/lib/unpackedapplication.js +2 -2
  96. package/lib/unpackedapplication.js.map +1 -1
  97. package/lib/utils/context.d.ts +55 -25
  98. package/lib/utils/context.js +54 -40
  99. package/lib/utils/context.js.map +1 -1
  100. package/lib/utils/context.spec.js +27 -12
  101. package/lib/utils/context.spec.js.map +1 -1
  102. package/lib/utils/cookie.d.ts +65 -44
  103. package/lib/utils/cookie.js +75 -145
  104. package/lib/utils/cookie.js.map +1 -1
  105. package/lib/utils/cookie.spec.js +199 -195
  106. package/lib/utils/cookie.spec.js.map +1 -1
  107. package/lib/utils/httpcontext.js +2 -2
  108. package/lib/utils/httpcontext.js.map +1 -1
  109. package/lib/utils/session.d.ts +120 -0
  110. package/lib/utils/session.js +177 -0
  111. package/lib/utils/session.js.map +1 -0
  112. package/lib/utils/session.spec.d.ts +1 -0
  113. package/lib/utils/session.spec.js +79 -0
  114. package/lib/utils/session.spec.js.map +1 -0
  115. package/package.json +9 -6
  116. package/test/config.json +2 -1
  117. package/webda.module.json +3 -2
@@ -0,0 +1,177 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ 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
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
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
+ exports.UnknownSession = exports.Session = exports.CookieSessionManager = exports.CookieSessionParameters = exports.SessionManager = void 0;
19
+ const coremodel_1 = require("../models/coremodel");
20
+ const service_1 = require("../services/service");
21
+ const cookie_1 = require("./cookie");
22
+ /**
23
+ * Manage load and save of sessions
24
+ */
25
+ class SessionManager extends service_1.Service {
26
+ }
27
+ exports.SessionManager = SessionManager;
28
+ class CookieSessionParameters extends service_1.ServiceParameters {
29
+ constructor(params) {
30
+ var _a;
31
+ super(params);
32
+ (_a = this.cookie) !== null && _a !== void 0 ? _a : (this.cookie = new cookie_1.CookieOptions({}));
33
+ }
34
+ }
35
+ exports.CookieSessionParameters = CookieSessionParameters;
36
+ /**
37
+ * SessionManager that store info in a cookie
38
+ *
39
+ * If SessionStore service exists, only uuid is in the cookie
40
+ * the rest of data is stored within the session store
41
+ *
42
+ * @WebdaModda
43
+ */
44
+ class CookieSessionManager extends SessionManager {
45
+ /**
46
+ * @override
47
+ */
48
+ loadParameters(params) {
49
+ return new CookieSessionParameters(params);
50
+ }
51
+ /**
52
+ * @override
53
+ */
54
+ resolve() {
55
+ super.resolve();
56
+ if (this.sessionStore && this.sessionStore.getParameters().expose) {
57
+ throw new Error("SessionStore should not be exposed");
58
+ }
59
+ return this;
60
+ }
61
+ /**
62
+ * @override
63
+ */
64
+ load(context) {
65
+ var _a, _b;
66
+ return __awaiter(this, void 0, void 0, function* () {
67
+ const session = new Session();
68
+ let cookie = yield cookie_1.SecureCookie.load(this.parameters.cookie.name, context, this.parameters.jwt);
69
+ if (this.sessionStore) {
70
+ if (cookie.sub) {
71
+ Object.assign(session, (_a = (yield this.sessionStore.get(cookie.sub))) === null || _a === void 0 ? void 0 : _a.session);
72
+ }
73
+ (_b = session.uuid) !== null && _b !== void 0 ? _b : (session.uuid = context.getWebda().getUuid("base64"));
74
+ }
75
+ else {
76
+ Object.assign(session, cookie);
77
+ }
78
+ return session;
79
+ });
80
+ }
81
+ /**
82
+ * @override
83
+ */
84
+ save(context, session) {
85
+ return __awaiter(this, void 0, void 0, function* () {
86
+ // If store is found session info are stored in db
87
+ if (this.sessionStore) {
88
+ yield this.sessionStore.save({
89
+ uuid: session.uuid,
90
+ session,
91
+ ttl: Date.now() + this.parameters.cookie.maxAge * 1000
92
+ });
93
+ cookie_1.SecureCookie.save(this.parameters.cookie.name, context, {}, Object.assign(Object.assign({}, this.parameters.jwt), { subject: session.uuid }));
94
+ return;
95
+ }
96
+ cookie_1.SecureCookie.save(this.parameters.cookie.name, context, session, this.parameters.jwt);
97
+ });
98
+ }
99
+ }
100
+ __decorate([
101
+ (0, service_1.Inject)("CryptoService")
102
+ ], CookieSessionManager.prototype, "cryptoService", void 0);
103
+ __decorate([
104
+ (0, service_1.Inject)("SessionStore", true)
105
+ ], CookieSessionManager.prototype, "sessionStore", void 0);
106
+ exports.CookieSessionManager = CookieSessionManager;
107
+ /**
108
+ * Session model
109
+ *
110
+ * @WebdaModel
111
+ */
112
+ class Session {
113
+ constructor() {
114
+ this.changed = false;
115
+ }
116
+ /**
117
+ * Login
118
+ * @param userId
119
+ * @param identUsed
120
+ */
121
+ login(userId, identUsed) {
122
+ this.userId = userId;
123
+ this.identUsed = identUsed;
124
+ }
125
+ /**
126
+ * Logout
127
+ */
128
+ logout() {
129
+ delete this.userId;
130
+ delete this.identUsed;
131
+ delete this.roles;
132
+ }
133
+ /**
134
+ * If session is authenticated
135
+ */
136
+ isLogged() {
137
+ return this.userId !== undefined;
138
+ }
139
+ /**
140
+ * Session is dirty and requires save
141
+ * @returns
142
+ */
143
+ isDirty() {
144
+ return this.changed;
145
+ }
146
+ /**
147
+ * Get the proxy to be able to track modification
148
+ * @returns
149
+ */
150
+ getProxy() {
151
+ const proxyHandler = {
152
+ set: (obj, property, value) => {
153
+ this.changed = true;
154
+ obj[property] = value;
155
+ return true;
156
+ },
157
+ get: (obj, property) => {
158
+ if (typeof obj[property] === "object") {
159
+ return new Proxy(obj[property], proxyHandler);
160
+ }
161
+ return obj[property];
162
+ }
163
+ };
164
+ return new Proxy(this, proxyHandler);
165
+ }
166
+ }
167
+ __decorate([
168
+ coremodel_1.NotEnumerable
169
+ ], Session.prototype, "changed", void 0);
170
+ exports.Session = Session;
171
+ /**
172
+ * Unknown session that allows all keys
173
+ */
174
+ class UnknownSession extends Session {
175
+ }
176
+ exports.UnknownSession = UnknownSession;
177
+ //# sourceMappingURL=session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/utils/session.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ 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
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
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 memory_1 = require("../stores/memory");
21
+ const test_1 = require("../test");
22
+ const session_1 = require("./session");
23
+ let SessionTest = class SessionTest {
24
+ basic() {
25
+ let session = new session_1.UnknownSession().getProxy();
26
+ session.plop = "test";
27
+ assert.ok(session.isDirty());
28
+ assert.ok(!session.isLogged());
29
+ session.login("user1", "ident1");
30
+ assert.ok(session.isLogged());
31
+ session.logout();
32
+ assert.ok(!session.isLogged());
33
+ }
34
+ };
35
+ __decorate([
36
+ mocha_1.test
37
+ ], SessionTest.prototype, "basic", null);
38
+ SessionTest = __decorate([
39
+ mocha_1.suite
40
+ ], SessionTest);
41
+ let SessionStoreTest = class SessionStoreTest extends test_1.WebdaTest {
42
+ sessionStore() {
43
+ return __awaiter(this, void 0, void 0, function* () {
44
+ // Test MemoryStore
45
+ const store = (this.webda.getServices()["sessionstore"] = yield new memory_1.MemoryStore(this.webda, "SessionStore", {})
46
+ .resolve()
47
+ .init());
48
+ store.getParameters().expose = { url: "url" };
49
+ assert.throws(() => this.getService("SessionManager").resolve(), /SessionStore should not be exposed/);
50
+ store.getParameters().expose = undefined;
51
+ this.getService("SessionManager").resolve();
52
+ let ctx = yield this.newContext();
53
+ ctx.getSession().identUsed = "bouzouf";
54
+ yield ctx.end();
55
+ let sessions = yield store.getAll();
56
+ assert.strictEqual(sessions.length, 1);
57
+ let cookie = yield this.webda.getCrypto().jwtVerify(ctx.getResponseCookies()["test"].value);
58
+ assert.strictEqual(cookie.uuid, undefined);
59
+ assert.strictEqual(cookie.identUsed, undefined);
60
+ assert.strictEqual(cookie.sub, sessions[0].getUuid());
61
+ let ctx2 = yield this.newContext();
62
+ ctx2.getHttpContext().cookies = {
63
+ test: ctx.getResponseCookies()["test"].value
64
+ };
65
+ yield ctx2.init();
66
+ let session = ctx2.getSession();
67
+ assert.strictEqual(session.uuid, sessions[0].getUuid());
68
+ assert.strictEqual(session.identUsed, "bouzouf");
69
+ assert.strictEqual(session.sub, undefined);
70
+ });
71
+ }
72
+ };
73
+ __decorate([
74
+ mocha_1.test
75
+ ], SessionStoreTest.prototype, "sessionStore", null);
76
+ SessionStoreTest = __decorate([
77
+ mocha_1.suite
78
+ ], SessionStoreTest);
79
+ //# sourceMappingURL=session.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.spec.js","sourceRoot":"","sources":["../../src/utils/session.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": "2.0.0-beta.2",
3
+ "version": "2.0.0-beta.3",
4
4
  "description": "Expose API with Lambda",
5
5
  "keywords": [
6
6
  "aws",
@@ -17,11 +17,11 @@
17
17
  "pretest": "npm run build",
18
18
  "lint": "prettier --check src/**/*",
19
19
  "lint:fix": "prettier --write src/**/*",
20
- "test": "nyc mocha --recursive --exit --timeout=100000 -r ../../node_modules/ts-node/register src/**/*.spec.ts src/*.spec.ts src/**/**/*.spec.ts"
20
+ "test": "nyc mocha --recursive --exit --timeout=30000 -r ../../node_modules/ts-node/register src/**/*.spec.ts src/*.spec.ts src/**/**/*.spec.ts"
21
21
  },
22
22
  "dependencies": {
23
23
  "@types/json-schema": "^7.0.8",
24
- "@webda/workout": "^2.0.0-beta.2",
24
+ "@webda/workout": "^2.0.0-beta.3",
25
25
  "accept-language": "^3.0.18",
26
26
  "ajv": "^8.6.2",
27
27
  "ajv-formats": "^2.1.1",
@@ -41,10 +41,13 @@
41
41
  "mime-types": "^2.1.31",
42
42
  "mustache": "^4.2.0",
43
43
  "node-cron": "^3.0.0",
44
+ "node-machine-id": "^1.1.12",
44
45
  "nodemailer": "^6.6.3",
45
- "openapi-types": "^11.0.0",
46
+ "openapi-types": "^12.0.0",
47
+ "pem-jwk": "^2.0.0",
46
48
  "sanitize-html": "^2.4.0",
47
49
  "semver": "^7.3.5",
50
+ "stream-buffers": "^3.0.2",
48
51
  "ts-method-cache": "^3.3.1",
49
52
  "uri-templates": "^0.2.0",
50
53
  "uuid": "^8.3.2",
@@ -64,7 +67,7 @@
64
67
  "sinon": "^14.0.0",
65
68
  "source-map-support": "^0.5.19",
66
69
  "ts-node": "^10.1.0",
67
- "typescript": "~4.6.4"
70
+ "typescript": "~4.7.2"
68
71
  },
69
72
  "files": [
70
73
  "lib",
@@ -94,5 +97,5 @@
94
97
  "webda": {
95
98
  "namespace": "Webda"
96
99
  },
97
- "gitHead": "4928e6830cd4164166d00195ff2fef0d52bf0ba6"
100
+ "gitHead": "f95827566d42d22c32aed524b74d0446fff66ed4"
98
101
  }
package/test/config.json CHANGED
@@ -2,7 +2,8 @@
2
2
  "version": 2,
3
3
  "parameters": {
4
4
  "cookie": {
5
- "sameSite": "None"
5
+ "sameSite": "None",
6
+ "name": "test"
6
7
  },
7
8
  "TEST": "Global",
8
9
  "region": "us-east-1",
package/webda.module.json CHANGED
@@ -3,9 +3,11 @@
3
3
  "webda/aggregator": "lib/stores/aggregator:default",
4
4
  "webda/asyncevents": "lib/services/asyncevents:EventService",
5
5
  "webda/authentication": "lib/services/authentication:Authentication",
6
+ "webda/cookiesessionmanager": "lib/utils/session:CookieSessionManager",
6
7
  "webda/configurationservice": "lib/services/configuration:default",
7
8
  "webda/consolelogger": "lib/utils/logger:ConsoleLoggerService",
8
9
  "webda/cronservice": "lib/services/cron:CronService",
10
+ "webda/cryptoservice": "lib/services/cryptoservice:CryptoService",
9
11
  "webda/debugmailer": "lib/services/debugmailer:default",
10
12
  "webda/echoservice": "lib/services/echo:EchoService",
11
13
  "webda/filebinary": "lib/services/filebinary:FileBinary",
@@ -31,8 +33,7 @@
31
33
  "webda/coremodel": "lib/models/coremodel:CoreModel",
32
34
  "webda/ident": "lib/models/ident:Ident",
33
35
  "webda/ownermodel": "lib/models/ownermodel:OwnerModel",
34
- "webda/securecookie": "lib/utils/cookie:SecureCookie",
35
- "webda/sessioncookie": "lib/utils/cookie:SessionCookie",
36
+ "webda/session": "lib/utils/session:Session",
36
37
  "webda/user": "lib/models/user:User"
37
38
  },
38
39
  "deployers": {},