@webda/core 1.2.1 → 1.6.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/application.d.ts +3 -0
- package/lib/application.js +26 -22
- package/lib/application.js.map +1 -1
- package/lib/application.spec.js +185 -2
- package/lib/application.spec.js.map +1 -1
- package/lib/core.d.ts +62 -6
- package/lib/core.js +127 -86
- package/lib/core.js.map +1 -1
- package/lib/core.spec.js +151 -6
- package/lib/core.spec.js.map +1 -1
- package/lib/index.d.ts +4 -0
- package/lib/index.js +4 -0
- package/lib/index.js.map +1 -1
- package/lib/models/aclmodel.d.ts +42 -3
- package/lib/models/aclmodel.js +58 -3
- package/lib/models/aclmodel.js.map +1 -1
- package/lib/models/aclmodel.spec.js +46 -0
- package/lib/models/aclmodel.spec.js.map +1 -1
- package/lib/models/coremodel.d.ts +58 -10
- package/lib/models/coremodel.js +39 -32
- package/lib/models/coremodel.js.map +1 -1
- package/lib/models/coremodel.spec.js +68 -6
- package/lib/models/coremodel.spec.js.map +1 -1
- package/lib/models/ident.d.ts +8 -2
- package/lib/models/ident.js.map +1 -1
- package/lib/models/ident.spec.js +16 -0
- package/lib/models/ident.spec.js.map +1 -1
- package/lib/models/ownermodel.d.ts +1 -1
- package/lib/models/ownermodel.js.map +1 -1
- package/lib/models/ownermodel.spec.js +22 -19
- package/lib/models/ownermodel.spec.js.map +1 -1
- package/lib/models/user.d.ts +2 -0
- package/lib/models/user.js +4 -2
- package/lib/models/user.js.map +1 -1
- package/lib/models/user.spec.js +9 -2
- package/lib/models/user.spec.js.map +1 -1
- package/lib/queues/filequeue.d.ts +63 -0
- package/lib/queues/filequeue.js +161 -0
- package/lib/queues/filequeue.js.map +1 -0
- package/lib/queues/filequeue.spec.d.ts +1 -0
- package/lib/queues/filequeue.spec.js +90 -0
- package/lib/queues/filequeue.spec.js.map +1 -0
- package/lib/queues/memoryqueue.d.ts +18 -4
- package/lib/queues/memoryqueue.js +20 -13
- package/lib/queues/memoryqueue.js.map +1 -1
- package/lib/queues/memoryqueue.spec.js +142 -39
- package/lib/queues/memoryqueue.spec.js.map +1 -1
- package/lib/queues/pubsubservice.d.ts +27 -0
- package/lib/queues/pubsubservice.js +21 -0
- package/lib/queues/pubsubservice.js.map +1 -0
- package/lib/queues/queue.spec.js +16 -7
- package/lib/queues/queue.spec.js.map +1 -1
- package/lib/queues/queueservice.d.ts +108 -13
- package/lib/queues/queueservice.js +100 -36
- package/lib/queues/queueservice.js.map +1 -1
- package/lib/router.js +4 -6
- package/lib/router.js.map +1 -1
- package/lib/router.spec.js +27 -2
- package/lib/router.spec.js.map +1 -1
- package/lib/services/asyncevents.d.ts +110 -5
- package/lib/services/asyncevents.js +134 -39
- package/lib/services/asyncevents.js.map +1 -1
- package/lib/services/asyncevents.spec.js +58 -4
- package/lib/services/asyncevents.spec.js.map +1 -1
- package/lib/services/authentication.d.ts +57 -5
- package/lib/services/authentication.js +93 -84
- package/lib/services/authentication.js.map +1 -1
- package/lib/services/authentication.spec.js +118 -82
- package/lib/services/authentication.spec.js.map +1 -1
- package/lib/services/binary.d.ts +175 -48
- package/lib/services/binary.js +205 -170
- package/lib/services/binary.js.map +1 -1
- package/lib/services/binary.spec.d.ts +22 -3
- package/lib/services/binary.spec.js +327 -22
- package/lib/services/binary.spec.js.map +1 -1
- package/lib/services/configuration.d.ts +94 -13
- package/lib/services/configuration.js +98 -28
- package/lib/services/configuration.js.map +1 -1
- package/lib/services/configuration.spec.js +40 -1
- package/lib/services/configuration.spec.js.map +1 -1
- package/lib/services/cron.d.ts +4 -4
- package/lib/services/cron.js +37 -53
- package/lib/services/cron.js.map +1 -1
- package/lib/services/cron.spec.d.ts +1 -0
- package/lib/services/cron.spec.js +76 -0
- package/lib/services/cron.spec.js.map +1 -0
- package/lib/services/debugmailer.spec.js +18 -4
- package/lib/services/debugmailer.spec.js.map +1 -1
- package/lib/services/echo.js +22 -13
- package/lib/services/echo.js.map +1 -1
- package/lib/services/echo.spec.d.ts +1 -0
- package/lib/services/echo.spec.js +52 -0
- package/lib/services/echo.spec.js.map +1 -0
- package/lib/services/filebinary.d.ts +16 -9
- package/lib/services/filebinary.js +58 -73
- package/lib/services/filebinary.js.map +1 -1
- package/lib/services/filebinary.spec.d.ts +8 -1
- package/lib/services/filebinary.spec.js +133 -7
- package/lib/services/filebinary.spec.js.map +1 -1
- package/lib/services/fileconfiguration.d.ts +9 -3
- package/lib/services/fileconfiguration.js +13 -6
- package/lib/services/fileconfiguration.js.map +1 -1
- package/lib/services/fileconfiguration.spec.js +100 -5
- package/lib/services/fileconfiguration.spec.js.map +1 -1
- package/lib/services/kubernetesconfiguration.d.ts +8 -2
- package/lib/services/kubernetesconfiguration.js +16 -5
- package/lib/services/kubernetesconfiguration.js.map +1 -1
- package/lib/services/kubernetesconfiguration.spec.js +53 -16
- package/lib/services/kubernetesconfiguration.spec.js.map +1 -1
- package/lib/services/mailer.d.ts +11 -2
- package/lib/services/mailer.js +28 -34
- package/lib/services/mailer.js.map +1 -1
- package/lib/services/mailer.spec.js +69 -23
- package/lib/services/mailer.spec.js.map +1 -1
- package/lib/services/oauth.d.ts +5 -2
- package/lib/services/oauth.js +22 -8
- package/lib/services/oauth.js.map +1 -1
- package/lib/services/oauth.spec.js +33 -3
- package/lib/services/oauth.spec.js.map +1 -1
- package/lib/services/resource.spec.js +39 -2
- package/lib/services/resource.spec.js.map +1 -1
- package/lib/services/service.d.ts +16 -0
- package/lib/services/service.js +47 -6
- package/lib/services/service.js.map +1 -1
- package/lib/services/service.spec.d.ts +1 -0
- package/lib/services/service.spec.js +119 -0
- package/lib/services/service.spec.js.map +1 -0
- package/lib/stores/aggregator.d.ts +43 -0
- package/lib/stores/aggregator.js +106 -0
- package/lib/stores/aggregator.js.map +1 -0
- package/lib/stores/file.d.ts +49 -11
- package/lib/stores/file.js +84 -81
- package/lib/stores/file.js.map +1 -1
- package/lib/stores/file.spec.d.ts +6 -1
- package/lib/stores/file.spec.js +134 -9
- package/lib/stores/file.spec.js.map +1 -1
- package/lib/stores/mapper.d.ts +151 -0
- package/lib/stores/mapper.js +294 -0
- package/lib/stores/mapper.js.map +1 -0
- package/lib/stores/mapper.spec.d.ts +1 -0
- package/lib/stores/mapper.spec.js +55 -0
- package/lib/stores/mapper.spec.js.map +1 -0
- package/lib/stores/memory.d.ts +52 -7
- package/lib/stores/memory.js +71 -33
- package/lib/stores/memory.js.map +1 -1
- package/lib/stores/memory.spec.d.ts +6 -1
- package/lib/stores/memory.spec.js +65 -4
- package/lib/stores/memory.spec.js.map +1 -1
- package/lib/stores/store.d.ts +263 -126
- package/lib/stores/store.js +285 -493
- package/lib/stores/store.js.map +1 -1
- package/lib/stores/store.spec.d.ts +20 -0
- package/lib/stores/store.spec.js +242 -18
- package/lib/stores/store.spec.js.map +1 -1
- package/lib/test.d.ts +1 -7
- package/lib/test.js +3 -12
- package/lib/test.js.map +1 -1
- package/lib/utils/abstractdeployer.spec.d.ts +1 -0
- package/lib/utils/abstractdeployer.spec.js +23 -0
- package/lib/utils/abstractdeployer.spec.js.map +1 -0
- package/lib/utils/context.d.ts +25 -2
- package/lib/utils/context.js +33 -12
- package/lib/utils/context.js.map +1 -1
- package/lib/utils/context.spec.js +81 -11
- package/lib/utils/context.spec.js.map +1 -1
- package/lib/utils/cookie.d.ts +12 -0
- package/lib/utils/cookie.js +13 -1
- package/lib/utils/cookie.js.map +1 -1
- package/lib/utils/cookie.spec.js +42 -11
- package/lib/utils/cookie.spec.js.map +1 -1
- package/lib/utils/logger.d.ts +23 -4
- package/lib/utils/logger.js +29 -6
- package/lib/utils/logger.js.map +1 -1
- package/lib/utils/logger.spec.js +8 -0
- package/lib/utils/logger.spec.js.map +1 -1
- package/lib/utils/serializers.d.ts +5 -5
- package/lib/utils/serializers.js +10 -10
- package/lib/utils/serializers.js.map +1 -1
- package/lib/utils/serializers.spec.js +41 -16
- package/lib/utils/serializers.spec.js.map +1 -1
- package/lib/utils/waiter.d.ts +59 -1
- package/lib/utils/waiter.js +86 -3
- package/lib/utils/waiter.js.map +1 -1
- package/lib/utils/waiter.spec.js +48 -4
- package/lib/utils/waiter.spec.js.map +1 -1
- package/package.json +16 -11
- package/test/badapp/package.json +4 -0
- package/test/badapp/webda.config.json +1 -0
- package/test/cachedapp/webda.config.json +7 -0
- package/test/config-file-no-reload.json +70 -0
- package/test/config-file-reload.json +7 -1
- package/test/config-kube-reload.json +7 -1
- package/test/config.json +45 -21
- package/test/config.old-default.json +0 -16
- package/test/config.old.json +0 -16
- package/test/deployments/invalid.json +1 -0
- package/test/moddas/fakeservice.js +5 -0
- package/test/models/ident.js +10 -14
- package/test/models/task.js +2 -4
package/lib/core.d.ts
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import * as events from "events";
|
|
3
3
|
import { JSONSchema6 } from "json-schema";
|
|
4
4
|
import { OpenAPIV3 } from "openapi-types";
|
|
5
|
+
import * as vm from "vm";
|
|
5
6
|
import { Application } from "./application";
|
|
6
7
|
import { Context, HttpContext, Logger, Service } from "./index";
|
|
7
8
|
import { CoreModel, CoreModelDefinition } from "./models/coremodel";
|
|
@@ -167,6 +168,25 @@ export interface Configuration {
|
|
|
167
168
|
* Global parameters
|
|
168
169
|
*/
|
|
169
170
|
parameters?: {
|
|
171
|
+
/**
|
|
172
|
+
* Allowed origin for referer that match
|
|
173
|
+
* any of this regexp
|
|
174
|
+
*
|
|
175
|
+
* {@link OriginFilter}
|
|
176
|
+
*/
|
|
177
|
+
csrfOrigins?: string[];
|
|
178
|
+
/**
|
|
179
|
+
* Allow you to authorize one or several websites
|
|
180
|
+
* If you use "*" then the API is open to direct call and any origins
|
|
181
|
+
*
|
|
182
|
+
* {@link WebsiteOriginFilter}
|
|
183
|
+
*/
|
|
184
|
+
website?: string | string[] | {
|
|
185
|
+
url: string;
|
|
186
|
+
};
|
|
187
|
+
/**
|
|
188
|
+
* Cookie configuration for session
|
|
189
|
+
*/
|
|
170
190
|
cookie?: {
|
|
171
191
|
sameSite: "None" | "Strict" | "Lax";
|
|
172
192
|
domain: string;
|
|
@@ -176,6 +196,18 @@ export interface Configuration {
|
|
|
176
196
|
maxAge: number;
|
|
177
197
|
path: string;
|
|
178
198
|
};
|
|
199
|
+
/**
|
|
200
|
+
* Read from the configuration service before init
|
|
201
|
+
*/
|
|
202
|
+
configurationService?: string;
|
|
203
|
+
/**
|
|
204
|
+
* Application salt
|
|
205
|
+
*/
|
|
206
|
+
salt?: string;
|
|
207
|
+
/**
|
|
208
|
+
* Define the api url
|
|
209
|
+
*/
|
|
210
|
+
apiUrl?: string;
|
|
179
211
|
[key: string]: any;
|
|
180
212
|
};
|
|
181
213
|
/**
|
|
@@ -188,7 +220,7 @@ export interface Configuration {
|
|
|
188
220
|
*
|
|
189
221
|
* If one of the filter replies with "true" then the request will go through
|
|
190
222
|
*/
|
|
191
|
-
export interface RequestFilter<T extends Context> {
|
|
223
|
+
export interface RequestFilter<T extends Context = Context> {
|
|
192
224
|
/**
|
|
193
225
|
* Return true if the request should be allowed
|
|
194
226
|
*
|
|
@@ -202,7 +234,7 @@ export interface RequestFilter<T extends Context> {
|
|
|
202
234
|
* @category CoreFeatures
|
|
203
235
|
*/
|
|
204
236
|
export declare class OriginFilter implements RequestFilter<Context> {
|
|
205
|
-
|
|
237
|
+
regexs: RegExp[];
|
|
206
238
|
constructor(origins: string[]);
|
|
207
239
|
/**
|
|
208
240
|
*
|
|
@@ -283,6 +315,19 @@ export declare class Core extends events.EventEmitter {
|
|
|
283
315
|
* @params {Object} config - The configuration Object, if undefined will load the configuration file
|
|
284
316
|
*/
|
|
285
317
|
constructor(application: Application);
|
|
318
|
+
/**
|
|
319
|
+
* Get absolute url with subpath
|
|
320
|
+
* @param subpath
|
|
321
|
+
*/
|
|
322
|
+
getApiUrl(subpath?: string): string;
|
|
323
|
+
/**
|
|
324
|
+
* Return application path with subpath
|
|
325
|
+
*
|
|
326
|
+
* Helper that redirect to this.application.getAppPath
|
|
327
|
+
*
|
|
328
|
+
* @param subpath
|
|
329
|
+
* @returns
|
|
330
|
+
*/
|
|
286
331
|
getAppPath(subpath?: string): string;
|
|
287
332
|
/**
|
|
288
333
|
* Reinit the @Route
|
|
@@ -323,7 +368,7 @@ export declare class Core extends events.EventEmitter {
|
|
|
323
368
|
* @param {Object} executor The executor to expose as executor
|
|
324
369
|
* @param {String} code to execute
|
|
325
370
|
*/
|
|
326
|
-
sandbox(
|
|
371
|
+
sandbox(code: any, context?: vm.Context): any;
|
|
327
372
|
/**
|
|
328
373
|
* Validate the object with schema
|
|
329
374
|
*
|
|
@@ -464,7 +509,18 @@ export declare class Core extends events.EventEmitter {
|
|
|
464
509
|
* @returns
|
|
465
510
|
*/
|
|
466
511
|
reinit(updates: any): Promise<void>;
|
|
467
|
-
|
|
512
|
+
/**
|
|
513
|
+
* Get a full resolved service parameter
|
|
514
|
+
*
|
|
515
|
+
* @param service
|
|
516
|
+
* @param configuration
|
|
517
|
+
* @returns
|
|
518
|
+
*/
|
|
519
|
+
getServiceParams(service: string, configuration?: {
|
|
520
|
+
parameters?: any;
|
|
521
|
+
services: any;
|
|
522
|
+
}): any;
|
|
523
|
+
protected createService(services: any, service: string): void;
|
|
468
524
|
/**
|
|
469
525
|
* @hidden
|
|
470
526
|
*
|
|
@@ -480,7 +536,7 @@ export declare class Core extends events.EventEmitter {
|
|
|
480
536
|
*/
|
|
481
537
|
protected autoConnectServices(): void;
|
|
482
538
|
protected jsonFilter(key: string, value: any): any;
|
|
483
|
-
|
|
539
|
+
initStatics(): void;
|
|
484
540
|
/**
|
|
485
541
|
* Init Routes declare by @Route annotation
|
|
486
542
|
*/
|
|
@@ -505,7 +561,7 @@ export declare class Core extends events.EventEmitter {
|
|
|
505
561
|
/**
|
|
506
562
|
* Emit the event with data and wait for Promise to finish if listener returned a Promise
|
|
507
563
|
*/
|
|
508
|
-
emitSync(
|
|
564
|
+
emitSync<T = any>(eventType: string, event?: T, ...data: any[]): Promise<any[]>;
|
|
509
565
|
/**
|
|
510
566
|
* Logs
|
|
511
567
|
* @param level
|
package/lib/core.js
CHANGED
|
@@ -46,7 +46,15 @@ exports.WebdaError = WebdaError;
|
|
|
46
46
|
*/
|
|
47
47
|
class OriginFilter {
|
|
48
48
|
constructor(origins) {
|
|
49
|
-
this.
|
|
49
|
+
this.regexs = origins.map(origin => {
|
|
50
|
+
if (!origin.endsWith("$")) {
|
|
51
|
+
origin += "$";
|
|
52
|
+
}
|
|
53
|
+
if (!origin.startsWith("^")) {
|
|
54
|
+
origin = "^" + origin;
|
|
55
|
+
}
|
|
56
|
+
return new RegExp(origin);
|
|
57
|
+
});
|
|
50
58
|
}
|
|
51
59
|
/**
|
|
52
60
|
*
|
|
@@ -56,15 +64,7 @@ class OriginFilter {
|
|
|
56
64
|
checkRequest(context) {
|
|
57
65
|
return __awaiter(this, void 0, void 0, function* () {
|
|
58
66
|
let httpContext = context.getHttpContext();
|
|
59
|
-
for (let
|
|
60
|
-
let origin = this.origins[i];
|
|
61
|
-
if (!origin.endsWith("$")) {
|
|
62
|
-
origin += "$";
|
|
63
|
-
}
|
|
64
|
-
if (!origin.startsWith("^")) {
|
|
65
|
-
origin = "^" + origin;
|
|
66
|
-
}
|
|
67
|
-
let regexp = new RegExp(origin);
|
|
67
|
+
for (let regexp of this.regexs) {
|
|
68
68
|
if (httpContext.origin.match(regexp)) {
|
|
69
69
|
return true;
|
|
70
70
|
}
|
|
@@ -145,6 +145,8 @@ class Core extends events.EventEmitter {
|
|
|
145
145
|
* @params {Object} config - The configuration Object, if undefined will load the configuration file
|
|
146
146
|
*/
|
|
147
147
|
constructor(application) {
|
|
148
|
+
var _a, _b, _c, _d;
|
|
149
|
+
var _e, _f, _g, _h;
|
|
148
150
|
/** @ignore */
|
|
149
151
|
super();
|
|
150
152
|
/**
|
|
@@ -174,9 +176,10 @@ class Core extends events.EventEmitter {
|
|
|
174
176
|
// Set the global context
|
|
175
177
|
index_1.Context.setGlobalContext(new (this.getModel(this.parameter("contextModel") || "WebdaCore/Context"))(this));
|
|
176
178
|
// Init default values for configuration
|
|
177
|
-
this.configuration.parameters
|
|
178
|
-
|
|
179
|
-
|
|
179
|
+
(_a = (_e = this.configuration).parameters) !== null && _a !== void 0 ? _a : (_e.parameters = {});
|
|
180
|
+
(_b = (_f = this.configuration.parameters).apiUrl) !== null && _b !== void 0 ? _b : (_f.apiUrl = "http://localhost:18080");
|
|
181
|
+
(_c = (_g = this.configuration).services) !== null && _c !== void 0 ? _c : (_g.services = {});
|
|
182
|
+
(_d = (_h = this.configuration).module) !== null && _d !== void 0 ? _d : (_h.module = {});
|
|
180
183
|
// Add CSRF origins filtering
|
|
181
184
|
if (this.configuration.parameters.csrfOrigins) {
|
|
182
185
|
this.registerRequestFilter(new OriginFilter(this.configuration.parameters.csrfOrigins));
|
|
@@ -185,8 +188,25 @@ class Core extends events.EventEmitter {
|
|
|
185
188
|
if (this.configuration.parameters.website) {
|
|
186
189
|
this.registerRequestFilter(new WebsiteOriginFilter(this.configuration.parameters.website));
|
|
187
190
|
}
|
|
188
|
-
this.initStatics();
|
|
189
191
|
}
|
|
192
|
+
/**
|
|
193
|
+
* Get absolute url with subpath
|
|
194
|
+
* @param subpath
|
|
195
|
+
*/
|
|
196
|
+
getApiUrl(subpath = "") {
|
|
197
|
+
if (subpath.length > 0 && !subpath.startsWith("/")) {
|
|
198
|
+
subpath = "/" + subpath;
|
|
199
|
+
}
|
|
200
|
+
return this.configuration.parameters.apiUrl + subpath;
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Return application path with subpath
|
|
204
|
+
*
|
|
205
|
+
* Helper that redirect to this.application.getAppPath
|
|
206
|
+
*
|
|
207
|
+
* @param subpath
|
|
208
|
+
* @returns
|
|
209
|
+
*/
|
|
190
210
|
getAppPath(subpath = "") {
|
|
191
211
|
return this.application.getAppPath(subpath);
|
|
192
212
|
}
|
|
@@ -256,10 +276,37 @@ class Core extends events.EventEmitter {
|
|
|
256
276
|
* It will resolve Services init method and autolink
|
|
257
277
|
*/
|
|
258
278
|
init() {
|
|
279
|
+
var _a, _b;
|
|
280
|
+
var _c, _d;
|
|
259
281
|
return __awaiter(this, void 0, void 0, function* () {
|
|
260
282
|
if (this._init) {
|
|
261
283
|
return this._init;
|
|
262
284
|
}
|
|
285
|
+
if (this.configuration.parameters.configurationService) {
|
|
286
|
+
try {
|
|
287
|
+
this.log("INFO", "Create and init ConfigurationService", this.configuration.parameters.configurationService);
|
|
288
|
+
// Create the configuration service
|
|
289
|
+
this.createService(this.configuration.services, this.configuration.parameters.configurationService);
|
|
290
|
+
let cfg = yield this.getService(this.configuration.parameters.configurationService).initConfiguration();
|
|
291
|
+
if (cfg.webda) {
|
|
292
|
+
(_a = (_c = cfg.webda).parameters) !== null && _a !== void 0 ? _a : (_c.parameters = {});
|
|
293
|
+
(_b = (_d = cfg.webda).services) !== null && _b !== void 0 ? _b : (_d.services = {});
|
|
294
|
+
this.configuration.parameters = Object.assign(Object.assign({}, this.configuration.parameters), cfg.webda.parameters);
|
|
295
|
+
for (let i in this.configuration.services) {
|
|
296
|
+
this.configuration.services[i] = Object.assign(Object.assign({}, deepmerge.all([
|
|
297
|
+
this.configuration.services[i],
|
|
298
|
+
(cfg.webda.services[i] || {})
|
|
299
|
+
])), { type: this.configuration.services[i].type });
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
yield this.getService(this.configuration.parameters.configurationService).init();
|
|
303
|
+
}
|
|
304
|
+
catch (err) {
|
|
305
|
+
this.log("ERROR", "Cannot use ConfigurationService", this.configuration.parameters.configurationService, err);
|
|
306
|
+
this.services = {};
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
this.initStatics();
|
|
263
310
|
this.reinitResolvedRoutes();
|
|
264
311
|
this.log("TRACE", "Create Webda init promise");
|
|
265
312
|
this._init = new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -274,7 +321,7 @@ class Core extends events.EventEmitter {
|
|
|
274
321
|
}
|
|
275
322
|
}
|
|
276
323
|
yield Promise.all(inits);
|
|
277
|
-
this.
|
|
324
|
+
this.emitSync("Webda.Init.Services", this.services);
|
|
278
325
|
resolve();
|
|
279
326
|
}));
|
|
280
327
|
return this._init;
|
|
@@ -288,24 +335,17 @@ class Core extends events.EventEmitter {
|
|
|
288
335
|
* @param {Object} executor The executor to expose as executor
|
|
289
336
|
* @param {String} code to execute
|
|
290
337
|
*/
|
|
291
|
-
sandbox(
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
webda: executor._webda,
|
|
296
|
-
executor: executor,
|
|
297
|
-
module: {},
|
|
298
|
-
require: function (mod) {
|
|
299
|
-
// We need to add more control here
|
|
300
|
-
if (mod === "net") {
|
|
301
|
-
throw Error("not allowed");
|
|
302
|
-
}
|
|
303
|
-
// if the module is okay to load, load it:
|
|
304
|
-
return require.apply(this, arguments);
|
|
338
|
+
sandbox(code, context) {
|
|
339
|
+
context !== null && context !== void 0 ? context : (context = {
|
|
340
|
+
require: () => {
|
|
341
|
+
throw Error("not allowed");
|
|
305
342
|
}
|
|
343
|
+
});
|
|
344
|
+
context.module = {
|
|
345
|
+
exports: {}
|
|
306
346
|
};
|
|
307
|
-
vm.runInNewContext(code,
|
|
308
|
-
return
|
|
347
|
+
vm.runInNewContext(code, context);
|
|
348
|
+
return context.module.exports();
|
|
309
349
|
}
|
|
310
350
|
/**
|
|
311
351
|
* Validate the object with schema
|
|
@@ -399,9 +439,7 @@ class Core extends events.EventEmitter {
|
|
|
399
439
|
*/
|
|
400
440
|
getService(name = "") {
|
|
401
441
|
name = name.toLowerCase();
|
|
402
|
-
|
|
403
|
-
return this.services[name];
|
|
404
|
-
}
|
|
442
|
+
return this.services[name];
|
|
405
443
|
}
|
|
406
444
|
/**
|
|
407
445
|
* Return a map of defined services
|
|
@@ -489,9 +527,6 @@ class Core extends events.EventEmitter {
|
|
|
489
527
|
return false;
|
|
490
528
|
}
|
|
491
529
|
var executor = this.getService(route.executor);
|
|
492
|
-
if (executor === undefined) {
|
|
493
|
-
return false;
|
|
494
|
-
}
|
|
495
530
|
ctx.setRoute(Object.assign(Object.assign({}, this.configuration), route));
|
|
496
531
|
ctx.setExecutor(executor);
|
|
497
532
|
return true;
|
|
@@ -551,7 +586,7 @@ class Core extends events.EventEmitter {
|
|
|
551
586
|
}
|
|
552
587
|
if (JSON.stringify(Object.keys(configuration)) !== JSON.stringify(Object.keys(this.configuration.services))) {
|
|
553
588
|
this.log("ERROR", "Configuration update cannot modify services");
|
|
554
|
-
|
|
589
|
+
throw new WebdaError("REINIT_SERVICE_INJECTION", "Configuration is not designed to add dynamically services");
|
|
555
590
|
}
|
|
556
591
|
this.configuration.services = configuration;
|
|
557
592
|
let inits = [];
|
|
@@ -561,23 +596,57 @@ class Core extends events.EventEmitter {
|
|
|
561
596
|
yield Promise.all(inits);
|
|
562
597
|
});
|
|
563
598
|
}
|
|
564
|
-
|
|
565
|
-
|
|
599
|
+
/**
|
|
600
|
+
* Get a full resolved service parameter
|
|
601
|
+
*
|
|
602
|
+
* @param service
|
|
603
|
+
* @param configuration
|
|
604
|
+
* @returns
|
|
605
|
+
*/
|
|
606
|
+
getServiceParams(service, configuration = { parameters: {}, services: {} }) {
|
|
607
|
+
var _a, _b, _c;
|
|
608
|
+
var _d;
|
|
609
|
+
(_a = configuration.parameters) !== null && _a !== void 0 ? _a : (configuration.parameters = {});
|
|
610
|
+
(_b = configuration.services) !== null && _b !== void 0 ? _b : (configuration.services = {});
|
|
611
|
+
(_c = (_d = configuration.services)[service]) !== null && _c !== void 0 ? _c : (_d[service] = {});
|
|
612
|
+
const params = deepmerge.all([this.configuration.parameters || {},
|
|
613
|
+
configuration.parameters || {},
|
|
614
|
+
this.configuration.services[service] || {},
|
|
615
|
+
configuration.services[service] || {}
|
|
616
|
+
]);
|
|
566
617
|
delete params.require;
|
|
567
618
|
return params;
|
|
568
619
|
}
|
|
620
|
+
createService(services, service) {
|
|
621
|
+
var type = services[service].type;
|
|
622
|
+
if (type === undefined) {
|
|
623
|
+
type = service;
|
|
624
|
+
}
|
|
625
|
+
var serviceConstructor = undefined;
|
|
626
|
+
try {
|
|
627
|
+
serviceConstructor = this.application.getService(type);
|
|
628
|
+
}
|
|
629
|
+
catch (ex) {
|
|
630
|
+
this.log("ERROR", `Create service ${service}(${type}) failed ${ex.message}`);
|
|
631
|
+
this.log("TRACE", ex.stack);
|
|
632
|
+
return;
|
|
633
|
+
}
|
|
634
|
+
try {
|
|
635
|
+
this.log("TRACE", "Constructing service", service);
|
|
636
|
+
this.services[service.toLowerCase()] = new serviceConstructor(this, service, this.getServiceParams(service));
|
|
637
|
+
}
|
|
638
|
+
catch (err) {
|
|
639
|
+
this.log("ERROR", "Cannot create service", service, err);
|
|
640
|
+
// @ts-ignore
|
|
641
|
+
this.failedServices[service.toLowerCase()] = { _createException: err };
|
|
642
|
+
}
|
|
643
|
+
}
|
|
569
644
|
/**
|
|
570
645
|
* @hidden
|
|
571
646
|
*
|
|
572
647
|
*/
|
|
573
648
|
createServices(excludes = []) {
|
|
574
649
|
var services = this.configuration.services;
|
|
575
|
-
if (this.services === undefined) {
|
|
576
|
-
this.services = {};
|
|
577
|
-
}
|
|
578
|
-
if (services === undefined) {
|
|
579
|
-
services = {};
|
|
580
|
-
}
|
|
581
650
|
for (let i in beans) {
|
|
582
651
|
if (!beans[i].bean) {
|
|
583
652
|
this.log("DEBUG", "Implicit @Bean due to a @Route", beans[i].constructor.name);
|
|
@@ -591,34 +660,12 @@ class Core extends events.EventEmitter {
|
|
|
591
660
|
// Register the type
|
|
592
661
|
this.application.addService(`Beans/${name}`, beans[i].constructor);
|
|
593
662
|
}
|
|
594
|
-
let service;
|
|
595
663
|
// Construct services
|
|
596
|
-
for (service in services) {
|
|
664
|
+
for (let service in services) {
|
|
597
665
|
if (excludes.indexOf(service.toLowerCase()) >= 0) {
|
|
598
666
|
continue;
|
|
599
667
|
}
|
|
600
|
-
|
|
601
|
-
if (type === undefined) {
|
|
602
|
-
type = service;
|
|
603
|
-
}
|
|
604
|
-
var serviceConstructor = undefined;
|
|
605
|
-
try {
|
|
606
|
-
serviceConstructor = this.application.getService(type);
|
|
607
|
-
}
|
|
608
|
-
catch (ex) {
|
|
609
|
-
this.log("ERROR", `Create service ${service}(${type}) failed ${ex.message}`);
|
|
610
|
-
this.log("TRACE", ex.stack);
|
|
611
|
-
continue;
|
|
612
|
-
}
|
|
613
|
-
try {
|
|
614
|
-
this.log("TRACE", "Constructing service", service);
|
|
615
|
-
this.services[service.toLowerCase()] = new serviceConstructor(this, service, this.getServiceParams(service));
|
|
616
|
-
}
|
|
617
|
-
catch (err) {
|
|
618
|
-
this.log("ERROR", "Cannot create service", service, err);
|
|
619
|
-
// @ts-ignore
|
|
620
|
-
this.failedServices[service.toLowerCase()] = { _createException: err };
|
|
621
|
-
}
|
|
668
|
+
this.createService(services, service);
|
|
622
669
|
}
|
|
623
670
|
this.autoConnectServices();
|
|
624
671
|
this.emit("Webda.Create.Services", this.services);
|
|
@@ -660,7 +707,7 @@ class Core extends events.EventEmitter {
|
|
|
660
707
|
}
|
|
661
708
|
initStatics() {
|
|
662
709
|
if (this.configuration.services !== undefined) {
|
|
663
|
-
this.createServices();
|
|
710
|
+
this.createServices(Object.keys(this.services));
|
|
664
711
|
}
|
|
665
712
|
this.router.remapRoutes();
|
|
666
713
|
this._initiated = true;
|
|
@@ -705,7 +752,7 @@ class Core extends events.EventEmitter {
|
|
|
705
752
|
if (!noInit) {
|
|
706
753
|
yield res.init();
|
|
707
754
|
}
|
|
708
|
-
this.
|
|
755
|
+
this.emitSync("Webda.NewContext", res);
|
|
709
756
|
return res;
|
|
710
757
|
});
|
|
711
758
|
}
|
|
@@ -722,12 +769,12 @@ class Core extends events.EventEmitter {
|
|
|
722
769
|
/**
|
|
723
770
|
* Emit the event with data and wait for Promise to finish if listener returned a Promise
|
|
724
771
|
*/
|
|
725
|
-
emitSync(event, ...data) {
|
|
772
|
+
emitSync(eventType, event, ...data) {
|
|
726
773
|
var result;
|
|
727
774
|
var promises = [];
|
|
728
|
-
var listeners = this.listeners(
|
|
729
|
-
for (
|
|
730
|
-
result =
|
|
775
|
+
var listeners = this.listeners(eventType);
|
|
776
|
+
for (let listener of listeners) {
|
|
777
|
+
result = listener(event, ...data);
|
|
731
778
|
if (result instanceof Promise) {
|
|
732
779
|
promises.push(result);
|
|
733
780
|
}
|
|
@@ -755,16 +802,12 @@ class Core extends events.EventEmitter {
|
|
|
755
802
|
*/
|
|
756
803
|
checkRequest(ctx) {
|
|
757
804
|
return __awaiter(this, void 0, void 0, function* () {
|
|
758
|
-
|
|
759
|
-
if (yield this._requestFilters[i].checkRequest(ctx)) {
|
|
760
|
-
return true;
|
|
761
|
-
}
|
|
762
|
-
}
|
|
763
|
-
return false;
|
|
805
|
+
return (yield Promise.all(this._requestFilters.map(filter => filter.checkRequest(ctx)))).reduce((prev, cur) => prev || cur);
|
|
764
806
|
});
|
|
765
807
|
}
|
|
766
808
|
exportOpenAPI(skipHidden = true) {
|
|
767
809
|
var _a;
|
|
810
|
+
var _b;
|
|
768
811
|
let packageInfo = this.application.getPackageDescription();
|
|
769
812
|
let contact = packageInfo.author;
|
|
770
813
|
if (typeof packageInfo.author === "string") {
|
|
@@ -804,9 +847,6 @@ class Core extends events.EventEmitter {
|
|
|
804
847
|
let desc = {
|
|
805
848
|
type: "object"
|
|
806
849
|
};
|
|
807
|
-
if (model instanceof index_1.Context) {
|
|
808
|
-
continue;
|
|
809
|
-
}
|
|
810
850
|
let modelDescription = this.getModel(i);
|
|
811
851
|
// Only export CoreModel info
|
|
812
852
|
if (!this.application.extends(modelDescription, coremodel_1.CoreModel)) {
|
|
@@ -815,11 +855,12 @@ class Core extends events.EventEmitter {
|
|
|
815
855
|
let schema = this.application.getSchemaResolver().fromPrototype(modelDescription);
|
|
816
856
|
if (schema) {
|
|
817
857
|
for (let j in schema.definitions) {
|
|
818
|
-
|
|
858
|
+
(_a = (_b = openapi.definitions)[j]) !== null && _a !== void 0 ? _a : (_b[j] = schema.definitions[j]);
|
|
819
859
|
}
|
|
820
860
|
delete schema.definitions;
|
|
821
861
|
desc = schema;
|
|
822
862
|
}
|
|
863
|
+
// @ts-ignore
|
|
823
864
|
openapi.definitions[model.name.split("/").pop()] = desc;
|
|
824
865
|
}
|
|
825
866
|
this.router.completeOpenAPI(openapi, skipHidden);
|
package/lib/core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
|