@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.
- package/lib/application.d.ts +5 -5
- package/lib/application.js +71 -84
- package/lib/application.js.map +1 -1
- package/lib/application.spec.js +121 -140
- package/lib/application.spec.js.map +1 -1
- package/lib/core.d.ts +20 -24
- package/lib/core.js +222 -315
- package/lib/core.js.map +1 -1
- package/lib/core.spec.js +332 -406
- package/lib/core.spec.js.map +1 -1
- package/lib/index.d.ts +49 -48
- package/lib/index.js +53 -70
- package/lib/index.js.map +1 -1
- package/lib/models/aclmodel.d.ts +2 -2
- package/lib/models/aclmodel.js +63 -90
- package/lib/models/aclmodel.js.map +1 -1
- package/lib/models/aclmodel.spec.js +127 -152
- package/lib/models/aclmodel.spec.js.map +1 -1
- package/lib/models/coremodel.d.ts +7 -6
- package/lib/models/coremodel.js +65 -113
- package/lib/models/coremodel.js.map +1 -1
- package/lib/models/coremodel.spec.js +88 -107
- package/lib/models/coremodel.spec.js.map +1 -1
- package/lib/models/deployment.js +1 -2
- package/lib/models/ident.d.ts +3 -3
- package/lib/models/ident.js +4 -9
- package/lib/models/ident.js.map +1 -1
- package/lib/models/ident.spec.js +9 -11
- package/lib/models/ident.spec.js.map +1 -1
- package/lib/models/ownermodel.d.ts +2 -2
- package/lib/models/ownermodel.js +39 -62
- package/lib/models/ownermodel.js.map +1 -1
- package/lib/models/ownermodel.spec.js +126 -168
- package/lib/models/ownermodel.spec.js.map +1 -1
- package/lib/models/rolemodel.d.ts +1 -1
- package/lib/models/rolemodel.js +24 -40
- package/lib/models/rolemodel.js.map +1 -1
- package/lib/models/rolemodel.spec.js +44 -63
- package/lib/models/rolemodel.spec.js.map +1 -1
- package/lib/models/user.d.ts +3 -3
- package/lib/models/user.js +3 -8
- package/lib/models/user.js.map +1 -1
- package/lib/models/user.spec.js +14 -16
- package/lib/models/user.spec.js.map +1 -1
- package/lib/queues/filequeue.d.ts +2 -2
- package/lib/queues/filequeue.js +72 -93
- package/lib/queues/filequeue.js.map +1 -1
- package/lib/queues/filequeue.spec.js +53 -70
- package/lib/queues/filequeue.spec.js.map +1 -1
- package/lib/queues/memoryqueue.d.ts +2 -2
- package/lib/queues/memoryqueue.js +37 -61
- package/lib/queues/memoryqueue.js.map +1 -1
- package/lib/queues/memoryqueue.spec.js +142 -165
- package/lib/queues/memoryqueue.spec.js.map +1 -1
- package/lib/queues/pubsubservice.d.ts +2 -2
- package/lib/queues/pubsubservice.js +3 -7
- package/lib/queues/pubsubservice.js.map +1 -1
- package/lib/queues/queue.spec.d.ts +1 -1
- package/lib/queues/queue.spec.js +42 -56
- package/lib/queues/queue.spec.js.map +1 -1
- package/lib/queues/queueservice.d.ts +3 -3
- package/lib/queues/queueservice.js +51 -67
- package/lib/queues/queueservice.js.map +1 -1
- package/lib/router.d.ts +3 -3
- package/lib/router.js +46 -47
- package/lib/router.js.map +1 -1
- package/lib/router.spec.js +64 -61
- package/lib/router.spec.js.map +1 -1
- package/lib/services/asyncevents.d.ts +2 -2
- package/lib/services/asyncevents.js +44 -64
- package/lib/services/asyncevents.js.map +1 -1
- package/lib/services/asyncevents.spec.js +81 -98
- package/lib/services/asyncevents.spec.js.map +1 -1
- package/lib/services/authentication.d.ts +23 -13
- package/lib/services/authentication.js +537 -563
- package/lib/services/authentication.js.map +1 -1
- package/lib/services/authentication.spec.js +411 -447
- package/lib/services/authentication.spec.js.map +1 -1
- package/lib/services/binary.d.ts +7 -5
- package/lib/services/binary.js +211 -244
- package/lib/services/binary.js.map +1 -1
- package/lib/services/binary.spec.d.ts +3 -3
- package/lib/services/binary.spec.js +390 -443
- package/lib/services/binary.spec.js.map +1 -1
- package/lib/services/cloudbinary.d.ts +3 -3
- package/lib/services/cloudbinary.js +45 -70
- package/lib/services/cloudbinary.js.map +1 -1
- package/lib/services/cloudbinary.spec.d.ts +3 -3
- package/lib/services/cloudbinary.spec.js +133 -162
- package/lib/services/cloudbinary.spec.js.map +1 -1
- package/lib/services/configuration.d.ts +1 -1
- package/lib/services/configuration.js +78 -105
- package/lib/services/configuration.js.map +1 -1
- package/lib/services/configuration.spec.js +63 -83
- package/lib/services/configuration.spec.js.map +1 -1
- package/lib/services/cron.d.ts +3 -2
- package/lib/services/cron.js +9 -13
- package/lib/services/cron.js.map +1 -1
- package/lib/services/cron.spec.js +18 -21
- package/lib/services/cron.spec.js.map +1 -1
- package/lib/services/cryptoservice.d.ts +9 -4
- package/lib/services/cryptoservice.js +187 -221
- package/lib/services/cryptoservice.js.map +1 -1
- package/lib/services/cryptoservice.spec.js +88 -115
- package/lib/services/cryptoservice.spec.js.map +1 -1
- package/lib/services/debugmailer.d.ts +1 -1
- package/lib/services/debugmailer.js +13 -34
- package/lib/services/debugmailer.js.map +1 -1
- package/lib/services/debugmailer.spec.js +16 -29
- package/lib/services/debugmailer.spec.js.map +1 -1
- package/lib/services/echo.d.ts +2 -2
- package/lib/services/echo.js +15 -31
- package/lib/services/echo.js.map +1 -1
- package/lib/services/echo.spec.js +27 -40
- package/lib/services/echo.spec.js.map +1 -1
- package/lib/services/filebinary.d.ts +5 -5
- package/lib/services/filebinary.js +165 -210
- package/lib/services/filebinary.js.map +1 -1
- package/lib/services/filebinary.spec.d.ts +2 -1
- package/lib/services/filebinary.spec.js +106 -116
- package/lib/services/filebinary.spec.js.map +1 -1
- package/lib/services/fileconfiguration.d.ts +1 -1
- package/lib/services/fileconfiguration.js +25 -44
- package/lib/services/fileconfiguration.js.map +1 -1
- package/lib/services/fileconfiguration.spec.js +79 -109
- package/lib/services/fileconfiguration.spec.js.map +1 -1
- package/lib/services/invitationservice.d.ts +7 -7
- package/lib/services/invitationservice.js +274 -314
- package/lib/services/invitationservice.js.map +1 -1
- package/lib/services/invitationservice.spec.js +442 -448
- package/lib/services/invitationservice.spec.js.map +1 -1
- package/lib/services/kubernetesconfiguration.d.ts +1 -1
- package/lib/services/kubernetesconfiguration.js +41 -60
- package/lib/services/kubernetesconfiguration.js.map +1 -1
- package/lib/services/kubernetesconfiguration.spec.js +80 -98
- package/lib/services/kubernetesconfiguration.spec.js.map +1 -1
- package/lib/services/mailer.d.ts +4 -4
- package/lib/services/mailer.js +62 -86
- package/lib/services/mailer.js.map +1 -1
- package/lib/services/mailer.spec.js +86 -127
- package/lib/services/mailer.spec.js.map +1 -1
- package/lib/services/notificationservice.d.ts +3 -3
- package/lib/services/notificationservice.js +21 -42
- package/lib/services/notificationservice.js.map +1 -1
- package/lib/services/notificationservice.spec.js +47 -73
- package/lib/services/notificationservice.spec.js.map +1 -1
- package/lib/services/oauth.d.ts +4 -4
- package/lib/services/oauth.js +68 -83
- package/lib/services/oauth.js.map +1 -1
- package/lib/services/oauth.spec.js +130 -156
- package/lib/services/oauth.spec.js.map +1 -1
- package/lib/services/proxy.d.ts +2 -6
- package/lib/services/proxy.js +45 -58
- package/lib/services/proxy.js.map +1 -1
- package/lib/services/proxy.spec.js +34 -53
- package/lib/services/proxy.spec.js.map +1 -1
- package/lib/services/resource.d.ts +2 -2
- package/lib/services/resource.js +12 -18
- package/lib/services/resource.js.map +1 -1
- package/lib/services/resource.spec.js +67 -99
- package/lib/services/resource.spec.js.map +1 -1
- package/lib/services/service.d.ts +26 -3
- package/lib/services/service.js +68 -40
- package/lib/services/service.js.map +1 -1
- package/lib/services/service.spec.js +62 -67
- package/lib/services/service.spec.js.map +1 -1
- package/lib/services/version.d.ts +1 -1
- package/lib/services/version.js +3 -8
- package/lib/services/version.js.map +1 -1
- package/lib/services/version.spec.js +11 -24
- package/lib/services/version.spec.js.map +1 -1
- package/lib/stores/aggregator.d.ts +2 -2
- package/lib/stores/aggregator.js +37 -58
- package/lib/stores/aggregator.js.map +1 -1
- package/lib/stores/file.d.ts +3 -3
- package/lib/stores/file.js +93 -131
- package/lib/stores/file.js.map +1 -1
- package/lib/stores/file.spec.d.ts +2 -2
- package/lib/stores/file.spec.js +261 -289
- package/lib/stores/file.spec.js.map +1 -1
- package/lib/stores/mapper.d.ts +3 -3
- package/lib/stores/mapper.js +110 -137
- package/lib/stores/mapper.js.map +1 -1
- package/lib/stores/mapper.spec.js +131 -150
- package/lib/stores/mapper.spec.js.map +1 -1
- package/lib/stores/memory.d.ts +3 -3
- package/lib/stores/memory.js +98 -144
- package/lib/stores/memory.js.map +1 -1
- package/lib/stores/memory.spec.d.ts +2 -2
- package/lib/stores/memory.spec.js +124 -145
- package/lib/stores/memory.spec.js.map +1 -1
- package/lib/stores/store.d.ts +17 -13
- package/lib/stores/store.js +819 -847
- package/lib/stores/store.js.map +1 -1
- package/lib/stores/store.spec.d.ts +5 -4
- package/lib/stores/store.spec.js +624 -669
- package/lib/stores/store.spec.js.map +1 -1
- package/lib/stores/webdaql/WebdaQLLexer.d.ts +4 -4
- package/lib/stores/webdaql/WebdaQLLexer.js +9 -13
- package/lib/stores/webdaql/WebdaQLLexer.js.map +1 -1
- package/lib/stores/webdaql/WebdaQLParserLexer.d.ts +4 -4
- package/lib/stores/webdaql/WebdaQLParserLexer.js +9 -13
- package/lib/stores/webdaql/WebdaQLParserLexer.js.map +1 -1
- package/lib/stores/webdaql/WebdaQLParserListener.d.ts +2 -2
- package/lib/stores/webdaql/WebdaQLParserListener.js +1 -2
- package/lib/stores/webdaql/WebdaQLParserListener.js.map +1 -1
- package/lib/stores/webdaql/WebdaQLParserParser.d.ts +10 -10
- package/lib/stores/webdaql/WebdaQLParserParser.js +62 -91
- package/lib/stores/webdaql/WebdaQLParserParser.js.map +1 -1
- package/lib/stores/webdaql/WebdaQLParserVisitor.d.ts +2 -2
- package/lib/stores/webdaql/WebdaQLParserVisitor.js +1 -2
- package/lib/stores/webdaql/WebdaQLParserVisitor.js.map +1 -1
- package/lib/stores/webdaql/query.d.ts +4 -5
- package/lib/stores/webdaql/query.js +16 -19
- package/lib/stores/webdaql/query.js.map +1 -1
- package/lib/stores/webdaql/query.spec.js +30 -32
- package/lib/stores/webdaql/query.spec.js.map +1 -1
- package/lib/test.d.ts +3 -3
- package/lib/test.js +73 -100
- package/lib/test.js.map +1 -1
- package/lib/unpackedapplication.d.ts +1 -1
- package/lib/unpackedapplication.js +25 -31
- package/lib/unpackedapplication.js.map +1 -1
- package/lib/utils/abstractdeployer.js +1 -5
- package/lib/utils/abstractdeployer.js.map +1 -1
- package/lib/utils/abstractdeployer.spec.js +6 -8
- package/lib/utils/abstractdeployer.spec.js.map +1 -1
- package/lib/utils/context.d.ts +7 -5
- package/lib/utils/context.js +95 -103
- package/lib/utils/context.js.map +1 -1
- package/lib/utils/context.spec.js +139 -163
- package/lib/utils/context.spec.js.map +1 -1
- package/lib/utils/cookie.d.ts +3 -3
- package/lib/utils/cookie.js +42 -61
- package/lib/utils/cookie.js.map +1 -1
- package/lib/utils/cookie.spec.js +42 -64
- package/lib/utils/cookie.spec.js.map +1 -1
- package/lib/utils/esm.d.ts +4 -0
- package/lib/utils/esm.js +10 -0
- package/lib/utils/esm.js.map +1 -0
- package/lib/utils/httpcontext.d.ts +3 -0
- package/lib/utils/httpcontext.js +48 -65
- package/lib/utils/httpcontext.js.map +1 -1
- package/lib/utils/httpcontext.spec.js +37 -56
- package/lib/utils/httpcontext.spec.js.map +1 -1
- package/lib/utils/logger.d.ts +2 -2
- package/lib/utils/logger.js +15 -28
- package/lib/utils/logger.js.map +1 -1
- package/lib/utils/logger.spec.js +9 -11
- package/lib/utils/logger.spec.js.map +1 -1
- package/lib/utils/serializers.js +17 -20
- package/lib/utils/serializers.js.map +1 -1
- package/lib/utils/serializers.spec.js +43 -44
- package/lib/utils/serializers.spec.js.map +1 -1
- package/lib/utils/session.d.ts +6 -6
- package/lib/utils/session.js +37 -59
- package/lib/utils/session.js.map +1 -1
- package/lib/utils/session.spec.js +38 -51
- package/lib/utils/session.spec.js.map +1 -1
- package/lib/utils/waiter.d.ts +1 -1
- package/lib/utils/waiter.js +32 -52
- package/lib/utils/waiter.js.map +1 -1
- package/lib/utils/waiter.spec.js +75 -92
- package/lib/utils/waiter.spec.js.map +1 -1
- package/package.json +17 -12
- package/test/config-invitation.json +1 -3
- package/test/config.json +1 -2
- package/test/config.old.json +1 -2
- package/test/moddas/annotatedservice.js +5 -5
- package/test/moddas/debugmailer.js +2 -3
- package/test/moddas/fakeservice.js +2 -3
- package/test/moddas/voidstore.js +6 -4
- package/test/models/ident.js +2 -6
- package/test/models/task.js +3 -7
- package/test/package.json +2 -1
- package/webda.module.json +956 -189
package/lib/test.js
CHANGED
|
@@ -1,24 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.WebdaTest = exports.TestApplication = exports.Executor = void 0;
|
|
13
|
-
const index_1 = require("./index");
|
|
14
|
-
const logger_1 = require("./utils/logger");
|
|
15
|
-
const path = require("path");
|
|
16
|
-
const child_process_1 = require("child_process");
|
|
17
|
-
const application_1 = require("./application");
|
|
18
|
-
const fs_1 = require("fs");
|
|
19
|
-
const unpackedapplication_1 = require("./unpackedapplication");
|
|
20
|
-
const serializers_1 = require("./utils/serializers");
|
|
21
|
-
class Executor {
|
|
1
|
+
import { Context, Core, HttpContext } from "./index.js";
|
|
2
|
+
import { ConsoleLoggerService } from "./utils/logger.js";
|
|
3
|
+
import * as path from "path";
|
|
4
|
+
import { execSync } from "child_process";
|
|
5
|
+
import { SectionEnum } from "./application.js";
|
|
6
|
+
import { existsSync, unlinkSync } from "fs";
|
|
7
|
+
import { UnpackedApplication } from "./unpackedapplication.js";
|
|
8
|
+
import { FileUtils, JSONUtils } from "./utils/serializers.js";
|
|
9
|
+
export class Executor {
|
|
22
10
|
/**
|
|
23
11
|
* Main method called by the webda framework if the route don't specify a _method
|
|
24
12
|
*/
|
|
@@ -29,13 +17,12 @@ class Executor {
|
|
|
29
17
|
return Promise.reject(Error("Not implemented"));
|
|
30
18
|
}
|
|
31
19
|
}
|
|
32
|
-
exports.Executor = Executor;
|
|
33
20
|
/**
|
|
34
21
|
* TestApplication ensure we load the typescript sources instead of compiled version
|
|
35
22
|
*
|
|
36
23
|
* Test use ts-node so to share same prototypes we need to load from the sources
|
|
37
24
|
*/
|
|
38
|
-
class TestApplication extends
|
|
25
|
+
export class TestApplication extends UnpackedApplication {
|
|
39
26
|
constructor() {
|
|
40
27
|
super(...arguments);
|
|
41
28
|
/**
|
|
@@ -61,7 +48,7 @@ class TestApplication extends unpackedapplication_1.UnpackedApplication {
|
|
|
61
48
|
// exec typescript
|
|
62
49
|
this.log("DEBUG", "Compiling application");
|
|
63
50
|
try {
|
|
64
|
-
|
|
51
|
+
execSync(`tsc -p ${this.appPath}`);
|
|
65
52
|
}
|
|
66
53
|
catch (err) {
|
|
67
54
|
(err.stdout.toString() + err.stderr.toString())
|
|
@@ -94,12 +81,12 @@ class TestApplication extends unpackedapplication_1.UnpackedApplication {
|
|
|
94
81
|
loadWebdaModule(moduleFile) {
|
|
95
82
|
// Test are using ts-node so local source should be loaded from .ts with ts-node aswell
|
|
96
83
|
if (process.cwd() === path.dirname(moduleFile)) {
|
|
97
|
-
let module =
|
|
98
|
-
Object.keys(
|
|
84
|
+
let module = FileUtils.load(moduleFile);
|
|
85
|
+
Object.keys(SectionEnum)
|
|
99
86
|
.filter(k => Number.isNaN(+k))
|
|
100
87
|
.forEach(p => {
|
|
101
|
-
for (let key in module[
|
|
102
|
-
module[
|
|
88
|
+
for (let key in module[SectionEnum[p]]) {
|
|
89
|
+
module[SectionEnum[p]][key] = path.join(path.relative(this.getAppPath(), path.dirname(moduleFile)), module[SectionEnum[p]][key].replace(/^lib\//, "src/"));
|
|
103
90
|
}
|
|
104
91
|
});
|
|
105
92
|
return module;
|
|
@@ -107,7 +94,6 @@ class TestApplication extends unpackedapplication_1.UnpackedApplication {
|
|
|
107
94
|
return super.loadWebdaModule(moduleFile);
|
|
108
95
|
}
|
|
109
96
|
}
|
|
110
|
-
exports.TestApplication = TestApplication;
|
|
111
97
|
/**
|
|
112
98
|
* Utility class for UnitTest
|
|
113
99
|
*
|
|
@@ -129,53 +115,46 @@ class WebdaTest {
|
|
|
129
115
|
* Allow test to add custom made service
|
|
130
116
|
* @param app
|
|
131
117
|
*/
|
|
132
|
-
tweakApp(app) {
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
app.addModel("webdatest/ident", yield Promise.resolve().then(() => require("../test/models/ident")));
|
|
139
|
-
});
|
|
118
|
+
async tweakApp(app) {
|
|
119
|
+
app.addService("webdatest/voidstore", (await import("../test/moddas/voidstore")).VoidStore);
|
|
120
|
+
app.addService("webdatest/fakeservice", (await import("../test/moddas/fakeservice")).FakeService);
|
|
121
|
+
app.addService("webdatest/mailer", (await import("../test/moddas/debugmailer")).DebugMailer);
|
|
122
|
+
app.addModel("webdatest/task", (await import("../test/models/task")).Task);
|
|
123
|
+
app.addModel("webdatest/ident", (await import("../test/models/ident")).Ident);
|
|
140
124
|
}
|
|
141
125
|
/**
|
|
142
126
|
* Build the webda application
|
|
143
127
|
*
|
|
144
128
|
* Add a ConsoleLogger if addConsoleLogger is true
|
|
145
129
|
*/
|
|
146
|
-
buildWebda() {
|
|
130
|
+
async buildWebda() {
|
|
147
131
|
var _a;
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
this.webda.services["ConsoleLogger"] = new logger_1.ConsoleLoggerService(this.webda, "ConsoleLogger", {});
|
|
164
|
-
}
|
|
165
|
-
});
|
|
132
|
+
let app = new TestApplication(this.getTestConfiguration());
|
|
133
|
+
await app.load();
|
|
134
|
+
if (app.getConfiguration() && app.getConfiguration().parameters) {
|
|
135
|
+
(_a = app.getConfiguration().parameters).sessionSecret ?? (_a.sessionSecret = "1234567890ABCDEF".repeat(16));
|
|
136
|
+
}
|
|
137
|
+
await this.tweakApp(app);
|
|
138
|
+
if (JSONUtils.loadFile("package.json").name === "@webda/core" && existsSync(".registry")) {
|
|
139
|
+
// Auto remove registry for core test
|
|
140
|
+
unlinkSync(".registry");
|
|
141
|
+
}
|
|
142
|
+
this.webda = new Core(app);
|
|
143
|
+
if (this.addConsoleLogger) {
|
|
144
|
+
// @ts-ignore - Hack a ConsoleLogger in
|
|
145
|
+
this.webda.services["ConsoleLogger"] = new ConsoleLoggerService(this.webda, "ConsoleLogger", {});
|
|
146
|
+
}
|
|
166
147
|
}
|
|
167
148
|
/**
|
|
168
149
|
* Rebuild Webda application before each test
|
|
169
150
|
*
|
|
170
151
|
* @param init wait for the full init
|
|
171
152
|
*/
|
|
172
|
-
before(init = true) {
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
}
|
|
178
|
-
});
|
|
153
|
+
async before(init = true) {
|
|
154
|
+
await this.buildWebda();
|
|
155
|
+
if (init) {
|
|
156
|
+
await this.webda.init();
|
|
157
|
+
}
|
|
179
158
|
}
|
|
180
159
|
/**
|
|
181
160
|
*
|
|
@@ -198,12 +177,10 @@ class WebdaTest {
|
|
|
198
177
|
* @param body to add to the context
|
|
199
178
|
* @returns
|
|
200
179
|
*/
|
|
201
|
-
newContext(body = {}) {
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
return res;
|
|
206
|
-
});
|
|
180
|
+
async newContext(body = {}) {
|
|
181
|
+
let res = await this.webda.newContext(new HttpContext("test.webda.io", "GET", "/"));
|
|
182
|
+
res.getHttpContext().setBody(body);
|
|
183
|
+
return res;
|
|
207
184
|
}
|
|
208
185
|
/**
|
|
209
186
|
* Get an Executor from Webda
|
|
@@ -217,62 +194,58 @@ class WebdaTest {
|
|
|
217
194
|
* @returns
|
|
218
195
|
*/
|
|
219
196
|
getExecutor(ctx = undefined, host = "test.webda.io", method = "GET", url = "/", body = {}, headers = {}) {
|
|
220
|
-
let httpContext = new
|
|
197
|
+
let httpContext = new HttpContext(host, method, url, "http", 80, headers);
|
|
221
198
|
httpContext.setBody(body);
|
|
222
199
|
httpContext.setClientIp("127.0.0.1");
|
|
223
200
|
if (!ctx) {
|
|
224
|
-
ctx = new
|
|
201
|
+
ctx = new Context(this.webda, httpContext);
|
|
225
202
|
}
|
|
226
203
|
else {
|
|
227
204
|
ctx.setHttpContext(httpContext);
|
|
228
205
|
}
|
|
229
206
|
if (this.webda.updateContextWithRoute(ctx)) {
|
|
230
207
|
return {
|
|
231
|
-
execute: (argCtx = ctx) =>
|
|
208
|
+
execute: async (argCtx = ctx) => {
|
|
232
209
|
if (typeof argCtx._route._method === "function") {
|
|
233
210
|
return Promise.resolve(argCtx.getExecutor()[argCtx._route._method.name](argCtx));
|
|
234
211
|
}
|
|
235
|
-
}
|
|
212
|
+
}
|
|
236
213
|
};
|
|
237
214
|
}
|
|
238
215
|
}
|
|
239
|
-
execute(ctx = undefined, host = "test.webda.io", method = "GET", url = "/", body = {}, headers = {}) {
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
216
|
+
async execute(ctx = undefined, host = "test.webda.io", method = "GET", url = "/", body = {}, headers = {}) {
|
|
217
|
+
const exec = this.getExecutor(ctx, host, method, url, body, headers);
|
|
218
|
+
if (!exec) {
|
|
219
|
+
throw new Error(`${method} ${url} route not found`);
|
|
220
|
+
}
|
|
221
|
+
try {
|
|
222
|
+
await exec.execute(ctx);
|
|
223
|
+
}
|
|
224
|
+
catch (err) {
|
|
225
|
+
if (err instanceof Error) {
|
|
226
|
+
this.log("ERROR", err);
|
|
227
|
+
throw 500;
|
|
244
228
|
}
|
|
229
|
+
throw err;
|
|
230
|
+
}
|
|
231
|
+
let res = ctx.getResponseBody();
|
|
232
|
+
if (res) {
|
|
245
233
|
try {
|
|
246
|
-
|
|
234
|
+
return JSON.parse(res);
|
|
247
235
|
}
|
|
248
236
|
catch (err) {
|
|
249
|
-
|
|
250
|
-
this.log("ERROR", err);
|
|
251
|
-
throw 500;
|
|
252
|
-
}
|
|
253
|
-
throw err;
|
|
237
|
+
return res;
|
|
254
238
|
}
|
|
255
|
-
|
|
256
|
-
if (res) {
|
|
257
|
-
try {
|
|
258
|
-
return JSON.parse(res);
|
|
259
|
-
}
|
|
260
|
-
catch (err) {
|
|
261
|
-
return res;
|
|
262
|
-
}
|
|
263
|
-
}
|
|
264
|
-
});
|
|
239
|
+
}
|
|
265
240
|
}
|
|
266
241
|
/**
|
|
267
242
|
* Pause for time ms
|
|
268
243
|
*
|
|
269
244
|
* @param time ms
|
|
270
245
|
*/
|
|
271
|
-
sleep(time) {
|
|
272
|
-
return
|
|
273
|
-
|
|
274
|
-
setTimeout(resolve, time);
|
|
275
|
-
});
|
|
246
|
+
async sleep(time) {
|
|
247
|
+
return new Promise(resolve => {
|
|
248
|
+
setTimeout(resolve, time);
|
|
276
249
|
});
|
|
277
250
|
}
|
|
278
251
|
/**
|
|
@@ -295,5 +268,5 @@ class WebdaTest {
|
|
|
295
268
|
this.webda.services[name.toLowerCase()] = service;
|
|
296
269
|
}
|
|
297
270
|
}
|
|
298
|
-
|
|
271
|
+
export { WebdaTest };
|
|
299
272
|
//# sourceMappingURL=test.js.map
|
package/lib/test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.js","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"test.js","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { WorkerOutput } from "@webda/workout";
|
|
2
|
-
import { Application, CachedModule, Configuration, GitInformation, ProjectInformation } from "./application";
|
|
2
|
+
import { Application, CachedModule, Configuration, GitInformation, ProjectInformation } from "./application.js";
|
|
3
3
|
/**
|
|
4
4
|
* Empty git information
|
|
5
5
|
*/
|
|
@@ -1,15 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const application_1 = require("./application");
|
|
8
|
-
const serializers_1 = require("./utils/serializers");
|
|
1
|
+
import { deepmerge } from "deepmerge-ts";
|
|
2
|
+
import * as fs from "fs";
|
|
3
|
+
import Finder from "fs-finder";
|
|
4
|
+
import * as path from "path";
|
|
5
|
+
import { Application, SectionEnum } from "./application.js";
|
|
6
|
+
import { FileUtils } from "./utils/serializers.js";
|
|
9
7
|
/**
|
|
10
8
|
* Empty git information
|
|
11
9
|
*/
|
|
12
|
-
|
|
10
|
+
export const EmptyGitInformation = {
|
|
13
11
|
branch: "",
|
|
14
12
|
commit: "",
|
|
15
13
|
short: "",
|
|
@@ -24,7 +22,7 @@ exports.EmptyGitInformation = {
|
|
|
24
22
|
* The normal Application is designed to load all this information from
|
|
25
23
|
* the cachedModule to avoid any unecessary action within a production environment
|
|
26
24
|
*/
|
|
27
|
-
class UnpackedApplication extends
|
|
25
|
+
export class UnpackedApplication extends Application {
|
|
28
26
|
constructor(file, logger) {
|
|
29
27
|
super(file, logger);
|
|
30
28
|
}
|
|
@@ -41,7 +39,7 @@ class UnpackedApplication extends application_1.Application {
|
|
|
41
39
|
this.baseConfiguration = this.completeConfiguration({ version: 3 });
|
|
42
40
|
}
|
|
43
41
|
else {
|
|
44
|
-
this.baseConfiguration = this.completeConfiguration(
|
|
42
|
+
this.baseConfiguration = this.completeConfiguration(FileUtils.load(file));
|
|
45
43
|
}
|
|
46
44
|
}
|
|
47
45
|
/**
|
|
@@ -52,7 +50,6 @@ class UnpackedApplication extends application_1.Application {
|
|
|
52
50
|
* @returns
|
|
53
51
|
*/
|
|
54
52
|
completeConfiguration(configuration) {
|
|
55
|
-
var _a;
|
|
56
53
|
// Only one level of includes is permitted
|
|
57
54
|
let imports = configuration.imports || [];
|
|
58
55
|
let effectiveImports = [];
|
|
@@ -62,11 +59,11 @@ class UnpackedApplication extends application_1.Application {
|
|
|
62
59
|
continue;
|
|
63
60
|
}
|
|
64
61
|
effectiveImports.push(importFile);
|
|
65
|
-
let includeConfiguration =
|
|
66
|
-
if (
|
|
62
|
+
let includeConfiguration = FileUtils.load(this.getAppPath(importFile));
|
|
63
|
+
if (includeConfiguration.imports?.length) {
|
|
67
64
|
this.log("WARN", `Imported configuration '${importFile}' has nested imports that will be skipped`);
|
|
68
65
|
}
|
|
69
|
-
configuration =
|
|
66
|
+
configuration = deepmerge(includeConfiguration, configuration);
|
|
70
67
|
}
|
|
71
68
|
configuration.imports = effectiveImports;
|
|
72
69
|
configuration.cachedModules = {
|
|
@@ -97,7 +94,6 @@ class UnpackedApplication extends application_1.Application {
|
|
|
97
94
|
* Check package.json
|
|
98
95
|
*/
|
|
99
96
|
loadProjectInformation() {
|
|
100
|
-
var _a, _b;
|
|
101
97
|
const info = {
|
|
102
98
|
deployment: {
|
|
103
99
|
name: ""
|
|
@@ -106,20 +102,20 @@ class UnpackedApplication extends application_1.Application {
|
|
|
106
102
|
name: "",
|
|
107
103
|
version: ""
|
|
108
104
|
},
|
|
109
|
-
git:
|
|
105
|
+
git: EmptyGitInformation,
|
|
110
106
|
webda: {}
|
|
111
107
|
};
|
|
112
108
|
let packageJson = path.join(this.appPath, "package.json");
|
|
113
109
|
if (fs.existsSync(packageJson)) {
|
|
114
|
-
info.package =
|
|
110
|
+
info.package = FileUtils.load(packageJson);
|
|
115
111
|
}
|
|
116
|
-
info.git = this.getGitInformation(
|
|
112
|
+
info.git = this.getGitInformation(info.package?.name, info.package?.version);
|
|
117
113
|
info.webda = info.package.webda || {};
|
|
118
114
|
let parent = path.join(this.appPath, "..");
|
|
119
115
|
do {
|
|
120
116
|
packageJson = path.join(parent, "package.json");
|
|
121
117
|
if (fs.existsSync(packageJson)) {
|
|
122
|
-
let currentInfo =
|
|
118
|
+
let currentInfo = FileUtils.load(packageJson);
|
|
123
119
|
if (currentInfo.workspaces) {
|
|
124
120
|
this.log("DEBUG", "Application is running within a workspace");
|
|
125
121
|
// Replace any relative path by absolute one
|
|
@@ -128,7 +124,7 @@ class UnpackedApplication extends application_1.Application {
|
|
|
128
124
|
currentInfo.webda[i] = path.join(path.resolve(parent), currentInfo.webda[i].substr(2));
|
|
129
125
|
}
|
|
130
126
|
}
|
|
131
|
-
info.webda =
|
|
127
|
+
info.webda = deepmerge(currentInfo.webda || {}, info.webda);
|
|
132
128
|
info.webda.workspaces = {
|
|
133
129
|
packages: currentInfo.workspaces,
|
|
134
130
|
parent: currentInfo,
|
|
@@ -149,9 +145,8 @@ class UnpackedApplication extends application_1.Application {
|
|
|
149
145
|
* Load any imported webda.module.json
|
|
150
146
|
*/
|
|
151
147
|
findModules(module) {
|
|
152
|
-
const Finder = require("fs-finder");
|
|
153
148
|
// Modules should be cached on deploy
|
|
154
|
-
|
|
149
|
+
let files = [];
|
|
155
150
|
let nodeModules = this.getAppPath("node_modules");
|
|
156
151
|
if (fs.existsSync(nodeModules)) {
|
|
157
152
|
files = Finder.from(nodeModules).findFiles("webda.module.json");
|
|
@@ -184,12 +179,12 @@ class UnpackedApplication extends application_1.Application {
|
|
|
184
179
|
* @returns
|
|
185
180
|
*/
|
|
186
181
|
loadWebdaModule(moduleFile) {
|
|
187
|
-
let module =
|
|
188
|
-
Object.keys(
|
|
182
|
+
let module = FileUtils.load(moduleFile);
|
|
183
|
+
Object.keys(SectionEnum)
|
|
189
184
|
.filter(k => Number.isNaN(+k))
|
|
190
185
|
.forEach(p => {
|
|
191
|
-
for (let key in module[
|
|
192
|
-
module[
|
|
186
|
+
for (let key in module[SectionEnum[p]]) {
|
|
187
|
+
module[SectionEnum[p]][key] = path.join(path.relative(this.getAppPath(), path.dirname(moduleFile)), module[SectionEnum[p]][key]);
|
|
193
188
|
}
|
|
194
189
|
});
|
|
195
190
|
return module;
|
|
@@ -205,15 +200,14 @@ class UnpackedApplication extends application_1.Application {
|
|
|
205
200
|
let value = Array.from(files)
|
|
206
201
|
.map(f => this.loadWebdaModule(f))
|
|
207
202
|
.reduce((prev, val) => {
|
|
208
|
-
return
|
|
203
|
+
return deepmerge(prev, val);
|
|
209
204
|
}, module);
|
|
210
|
-
Object.keys(
|
|
205
|
+
Object.keys(SectionEnum)
|
|
211
206
|
.filter(k => Number.isNaN(+k))
|
|
212
207
|
.forEach(p => {
|
|
213
|
-
module[
|
|
208
|
+
module[SectionEnum[p]] = value[SectionEnum[p]];
|
|
214
209
|
});
|
|
215
210
|
module.schemas = value.schemas;
|
|
216
211
|
}
|
|
217
212
|
}
|
|
218
|
-
exports.UnpackedApplication = UnpackedApplication;
|
|
219
213
|
//# sourceMappingURL=unpackedapplication.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unpackedapplication.js","sourceRoot":"","sources":["../src/unpackedapplication.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"unpackedapplication.js","sourceRoot":"","sources":["../src/unpackedapplication.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AbstractDeployer = void 0;
|
|
4
|
-
class AbstractDeployer {
|
|
1
|
+
export class AbstractDeployer {
|
|
5
2
|
/**
|
|
6
3
|
* Allow to specify the JSONSchema to configure this service
|
|
7
4
|
*
|
|
@@ -13,5 +10,4 @@ class AbstractDeployer {
|
|
|
13
10
|
return undefined;
|
|
14
11
|
}
|
|
15
12
|
}
|
|
16
|
-
exports.AbstractDeployer = AbstractDeployer;
|
|
17
13
|
//# sourceMappingURL=abstractdeployer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstractdeployer.js","sourceRoot":"","sources":["../../src/utils/abstractdeployer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"abstractdeployer.js","sourceRoot":"","sources":["../../src/utils/abstractdeployer.ts"],"names":[],"mappings":"AAOA,MAAM,OAAO,gBAAgB;IAE3B;;;;;;OAMG;IACH,MAAM,CAAC,SAAS;QACd,OAAO,SAAS,CAAC;IACnB,CAAC;CACF"}
|
|
@@ -1,23 +1,21 @@
|
|
|
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
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
const abstractdeployer_1 = require("./abstractdeployer");
|
|
7
|
+
import { suite, test } from "@testdeck/mocha";
|
|
8
|
+
import * as assert from "assert";
|
|
9
|
+
import { AbstractDeployer } from "./abstractdeployer.js";
|
|
12
10
|
let CovAbstractDeployer = class CovAbstractDeployer {
|
|
13
11
|
getSchema() {
|
|
14
|
-
assert.strictEqual(
|
|
12
|
+
assert.strictEqual(AbstractDeployer.getSchema(), undefined);
|
|
15
13
|
}
|
|
16
14
|
};
|
|
17
15
|
__decorate([
|
|
18
|
-
|
|
16
|
+
test
|
|
19
17
|
], CovAbstractDeployer.prototype, "getSchema", null);
|
|
20
18
|
CovAbstractDeployer = __decorate([
|
|
21
|
-
|
|
19
|
+
suite
|
|
22
20
|
], CovAbstractDeployer);
|
|
23
21
|
//# sourceMappingURL=abstractdeployer.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstractdeployer.spec.js","sourceRoot":"","sources":["../../src/utils/abstractdeployer.spec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"abstractdeployer.spec.js","sourceRoot":"","sources":["../../src/utils/abstractdeployer.spec.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAEvB,SAAS;QACP,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,SAAS,EAAE,EAAE,SAAS,CAAC,CAAC;IAC9D,CAAC;CACF,CAAA;AAHC;IADC,IAAI;oDAGJ;AAJG,mBAAmB;IADxB,KAAK;GACA,mBAAmB,CAKxB"}
|
package/lib/utils/context.d.ts
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
3
|
+
/// <reference types="node" />
|
|
2
4
|
import { WorkerLogLevel } from "@webda/workout";
|
|
3
5
|
import { EventEmitter } from "events";
|
|
4
6
|
import * as http from "http";
|
|
5
7
|
import { Writable } from "stream";
|
|
6
|
-
import { Core } from "../core";
|
|
7
|
-
import { User } from "../models/user";
|
|
8
|
-
import { Service } from "../services/service";
|
|
9
|
-
import { Session } from "../utils/session";
|
|
10
|
-
import { HttpContext } from "./httpcontext";
|
|
8
|
+
import { Core } from "../core.js";
|
|
9
|
+
import { User } from "../models/user.js";
|
|
10
|
+
import { Service } from "../services/service.js";
|
|
11
|
+
import { Session } from "../utils/session.js";
|
|
12
|
+
import { HttpContext } from "./httpcontext.js";
|
|
11
13
|
/**
|
|
12
14
|
* @category CoreFeatures
|
|
13
15
|
*/
|