@webda/core 2.1.5 → 2.3.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 +55 -8
- package/lib/application.js +27 -1
- package/lib/application.js.map +1 -1
- package/lib/application.spec.js +8 -2
- package/lib/application.spec.js.map +1 -1
- package/lib/core.d.ts +66 -6
- package/lib/core.js +96 -3
- package/lib/core.js.map +1 -1
- package/lib/core.spec.js +49 -1
- package/lib/core.spec.js.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/models/aclmodel.d.ts +1 -1
- package/lib/models/aclmodel.spec.js +10 -10
- package/lib/models/aclmodel.spec.js.map +1 -1
- package/lib/models/coremodel.d.ts +79 -24
- package/lib/models/coremodel.js +96 -19
- package/lib/models/coremodel.js.map +1 -1
- package/lib/models/coremodel.spec.js +32 -2
- package/lib/models/coremodel.spec.js.map +1 -1
- package/lib/models/user.d.ts +3 -3
- package/lib/models/user.js.map +1 -1
- package/lib/models/user.spec.js +1 -0
- package/lib/models/user.spec.js.map +1 -1
- package/lib/router.d.ts +1 -1
- package/lib/services/authentication.d.ts +1 -1
- package/lib/services/binary.d.ts +2 -2
- package/lib/services/cloudbinary.spec.js +1 -0
- package/lib/services/cloudbinary.spec.js.map +1 -1
- package/lib/services/configuration.d.ts +1 -1
- package/lib/services/cron.d.ts +1 -0
- package/lib/services/cron.js +9 -1
- package/lib/services/cron.js.map +1 -1
- package/lib/services/cron.spec.js +1 -0
- package/lib/services/cron.spec.js.map +1 -1
- package/lib/services/oauth.d.ts +1 -1
- package/lib/services/proxy.d.ts +7 -1
- package/lib/services/proxy.js +13 -4
- package/lib/services/proxy.js.map +1 -1
- package/lib/services/service.d.ts +28 -4
- package/lib/services/service.js +15 -11
- package/lib/services/service.js.map +1 -1
- package/lib/services/service.spec.js +55 -7
- package/lib/services/service.spec.js.map +1 -1
- package/lib/stores/aliasstore.d.ts +107 -0
- package/lib/stores/aliasstore.js +152 -0
- package/lib/stores/aliasstore.js.map +1 -0
- package/lib/stores/aliasstore.spec.d.ts +11 -0
- package/lib/stores/aliasstore.spec.js +87 -0
- package/lib/stores/aliasstore.spec.js.map +1 -0
- package/lib/stores/file.js +1 -1
- package/lib/stores/file.js.map +1 -1
- package/lib/stores/file.spec.js +12 -113
- package/lib/stores/file.spec.js.map +1 -1
- package/lib/stores/mapper.d.ts +1 -1
- package/lib/stores/mapper.js +1 -1
- package/lib/stores/mapper.js.map +1 -1
- package/lib/stores/memory.spec.d.ts +1 -0
- package/lib/stores/memory.spec.js +23 -0
- package/lib/stores/memory.spec.js.map +1 -1
- package/lib/stores/store.d.ts +76 -6
- package/lib/stores/store.js +116 -10
- package/lib/stores/store.js.map +1 -1
- package/lib/stores/store.spec.d.ts +2 -0
- package/lib/stores/store.spec.js +121 -0
- package/lib/stores/store.spec.js.map +1 -1
- package/lib/stores/webdaql/WebdaQLLexer.js +5 -5
- package/lib/stores/webdaql/WebdaQLLexer.js.map +1 -1
- package/lib/stores/webdaql/WebdaQLParserLexer.js +5 -5
- package/lib/stores/webdaql/WebdaQLParserLexer.js.map +1 -1
- package/lib/stores/webdaql/WebdaQLParserParser.js +4 -4
- package/lib/stores/webdaql/WebdaQLParserParser.js.map +1 -1
- package/lib/stores/webdaql/query.d.ts +16 -1
- package/lib/stores/webdaql/query.js +50 -1
- package/lib/stores/webdaql/query.js.map +1 -1
- package/lib/stores/webdaql/query.spec.js +20 -0
- package/lib/stores/webdaql/query.spec.js.map +1 -1
- package/lib/test.js +1 -3
- package/lib/test.js.map +1 -1
- package/lib/utils/context.d.ts +15 -4
- package/lib/utils/context.js +61 -26
- package/lib/utils/context.js.map +1 -1
- package/lib/utils/cookie.js +1 -1
- package/lib/utils/cookie.js.map +1 -1
- package/lib/utils/cookie.spec.js +7 -189
- package/lib/utils/cookie.spec.js.map +1 -1
- package/lib/utils/httpcontext.d.ts +2 -2
- package/lib/utils/throttler.d.ts +82 -0
- package/lib/utils/throttler.js +136 -0
- package/lib/utils/throttler.js.map +1 -0
- package/lib/utils/throttler.spec.d.ts +1 -0
- package/lib/utils/throttler.spec.js +47 -0
- package/lib/utils/throttler.spec.js.map +1 -0
- package/lib/utils/waiter.d.ts +2 -2
- package/package.json +10 -9
- package/webda.module.json +76 -2
package/lib/application.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { WorkerLogLevel, WorkerOutput } from "@webda/workout";
|
|
2
2
|
import { JSONSchema7 } from "json-schema";
|
|
3
3
|
import { OpenAPIV3 } from "openapi-types";
|
|
4
|
-
import { Constructor, Context, Core, CoreModelDefinition, Service } from "./index.js";
|
|
5
|
-
export
|
|
4
|
+
import { Constructor, Context, Core, CoreModel, CoreModelDefinition, Service } from "./index.js";
|
|
5
|
+
export type PackageDescriptorAuthor = string | {
|
|
6
6
|
name?: string;
|
|
7
7
|
email?: string;
|
|
8
8
|
url?: string;
|
|
9
9
|
};
|
|
10
|
-
export
|
|
10
|
+
export type Modda = ServiceConstructor<Service>;
|
|
11
11
|
/**
|
|
12
12
|
* Some package exists but seems pretty big for this
|
|
13
13
|
* https://classic.yarnpkg.com/en/docs/package-json
|
|
@@ -71,6 +71,11 @@ export interface PackageDescriptor {
|
|
|
71
71
|
termsOfService?: string;
|
|
72
72
|
title?: string;
|
|
73
73
|
}
|
|
74
|
+
export type ModelRelation = {
|
|
75
|
+
attribute: string;
|
|
76
|
+
model: string;
|
|
77
|
+
type: "";
|
|
78
|
+
};
|
|
74
79
|
/**
|
|
75
80
|
* A Webda module is a NPM package
|
|
76
81
|
*
|
|
@@ -89,6 +94,21 @@ export interface Module {
|
|
|
89
94
|
models?: {
|
|
90
95
|
[key: string]: string;
|
|
91
96
|
};
|
|
97
|
+
/**
|
|
98
|
+
* Models graph
|
|
99
|
+
*/
|
|
100
|
+
modelsGraph?: {
|
|
101
|
+
[key: string]: {
|
|
102
|
+
parent?: Omit<ModelRelation, "type">;
|
|
103
|
+
links?: ModelRelation[];
|
|
104
|
+
queries?: {
|
|
105
|
+
attribute: string;
|
|
106
|
+
model: string;
|
|
107
|
+
targetAttribute: string;
|
|
108
|
+
};
|
|
109
|
+
maps?: any[];
|
|
110
|
+
};
|
|
111
|
+
};
|
|
92
112
|
/**
|
|
93
113
|
* Deployers provided by the module
|
|
94
114
|
*
|
|
@@ -120,13 +140,13 @@ export interface CachedModule extends Module {
|
|
|
120
140
|
*/
|
|
121
141
|
project: ProjectInformation;
|
|
122
142
|
}
|
|
123
|
-
export
|
|
143
|
+
export type StaticWebsite = {
|
|
124
144
|
url: string;
|
|
125
145
|
path?: string;
|
|
126
146
|
index?: string;
|
|
127
147
|
catchAll?: boolean;
|
|
128
148
|
};
|
|
129
|
-
export
|
|
149
|
+
export type UnpackedConfiguration = {
|
|
130
150
|
version: 3;
|
|
131
151
|
/**
|
|
132
152
|
* Services configuration
|
|
@@ -191,6 +211,10 @@ export declare type UnpackedConfiguration = {
|
|
|
191
211
|
* @default 60000
|
|
192
212
|
*/
|
|
193
213
|
requestTimeout?: number;
|
|
214
|
+
/**
|
|
215
|
+
* Define the default store
|
|
216
|
+
*/
|
|
217
|
+
defaultStore?: string;
|
|
194
218
|
/**
|
|
195
219
|
* Allow any other type of parameters
|
|
196
220
|
*/
|
|
@@ -208,14 +232,14 @@ export declare type UnpackedConfiguration = {
|
|
|
208
232
|
*/
|
|
209
233
|
imports?: string[];
|
|
210
234
|
};
|
|
211
|
-
export
|
|
235
|
+
export type Configuration = UnpackedConfiguration & {
|
|
212
236
|
/**
|
|
213
237
|
* Cached modules to avoid scanning node_modules
|
|
214
238
|
* This is used by packagers
|
|
215
239
|
*/
|
|
216
240
|
cachedModules?: CachedModule;
|
|
217
241
|
};
|
|
218
|
-
export
|
|
242
|
+
export type StoredConfiguration = Configuration;
|
|
219
243
|
/**
|
|
220
244
|
* Return the gather information from the repository
|
|
221
245
|
* @mermaid Make TypeDoc easy to use with mermaid.js
|
|
@@ -289,6 +313,19 @@ export interface WebdaPackageDescriptor {
|
|
|
289
313
|
* Logo to display within the shell tty
|
|
290
314
|
*/
|
|
291
315
|
logo?: string;
|
|
316
|
+
/**
|
|
317
|
+
* Service to replace default launcher
|
|
318
|
+
*/
|
|
319
|
+
launcher?: {
|
|
320
|
+
/**
|
|
321
|
+
* Service to use for launch
|
|
322
|
+
*/
|
|
323
|
+
service: string;
|
|
324
|
+
/**
|
|
325
|
+
* Method to use
|
|
326
|
+
*/
|
|
327
|
+
method: string;
|
|
328
|
+
};
|
|
292
329
|
/**
|
|
293
330
|
* Information on the workspace
|
|
294
331
|
*/
|
|
@@ -329,7 +366,7 @@ export interface ProjectInformation {
|
|
|
329
366
|
/**
|
|
330
367
|
* Type of Section
|
|
331
368
|
*/
|
|
332
|
-
export
|
|
369
|
+
export type Section = "moddas" | "deployers" | "models" | "beans";
|
|
333
370
|
/**
|
|
334
371
|
* Map a Webda Application
|
|
335
372
|
*
|
|
@@ -515,6 +552,16 @@ export declare class Application {
|
|
|
515
552
|
getModels(): {
|
|
516
553
|
[key: string]: Constructor<Context> | CoreModelDefinition;
|
|
517
554
|
};
|
|
555
|
+
/**
|
|
556
|
+
* Return the model name for a object
|
|
557
|
+
* @param object
|
|
558
|
+
*/
|
|
559
|
+
getModelFromInstance(object: CoreModel): string | undefined;
|
|
560
|
+
/**
|
|
561
|
+
* Return the model name for a object
|
|
562
|
+
* @param object
|
|
563
|
+
*/
|
|
564
|
+
getModelFromConstructor(model: Constructor<CoreModel>): string | undefined;
|
|
518
565
|
/**
|
|
519
566
|
* Return all deployers
|
|
520
567
|
*/
|
package/lib/application.js
CHANGED
|
@@ -90,12 +90,15 @@ export class Application {
|
|
|
90
90
|
* @returns
|
|
91
91
|
*/
|
|
92
92
|
loadConfiguration(file) {
|
|
93
|
+
var _a, _b;
|
|
93
94
|
// Check if file is a file or folder
|
|
94
95
|
if (!fs.existsSync(file)) {
|
|
95
96
|
throw new WebdaError("NO_WEBDA_FOLDER", `Not a webda application folder or webda.config.jsonc or webda.config.json file: ${file}`);
|
|
96
97
|
}
|
|
97
98
|
try {
|
|
98
99
|
this.baseConfiguration = FileUtils.load(file);
|
|
100
|
+
(_a = this.baseConfiguration).parameters ?? (_a.parameters = {});
|
|
101
|
+
(_b = this.baseConfiguration.parameters).defaultStore ?? (_b.defaultStore = "Registry");
|
|
99
102
|
if (this.baseConfiguration.version !== 3) {
|
|
100
103
|
this.log("ERROR", "Your configuration file should use version 3, see https://docs.webda.io/");
|
|
101
104
|
}
|
|
@@ -246,6 +249,24 @@ export class Application {
|
|
|
246
249
|
getModels() {
|
|
247
250
|
return this.models;
|
|
248
251
|
}
|
|
252
|
+
/**
|
|
253
|
+
* Return the model name for a object
|
|
254
|
+
* @param object
|
|
255
|
+
*/
|
|
256
|
+
getModelFromInstance(object) {
|
|
257
|
+
return Object.keys(this.models)
|
|
258
|
+
.filter(k => this.models[k] === object.constructor)
|
|
259
|
+
.pop();
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Return the model name for a object
|
|
263
|
+
* @param object
|
|
264
|
+
*/
|
|
265
|
+
getModelFromConstructor(model) {
|
|
266
|
+
return Object.keys(this.models)
|
|
267
|
+
.filter(k => this.models[k] === model)
|
|
268
|
+
.pop();
|
|
269
|
+
}
|
|
249
270
|
/**
|
|
250
271
|
* Return all deployers
|
|
251
272
|
*/
|
|
@@ -307,6 +328,11 @@ export class Application {
|
|
|
307
328
|
let index;
|
|
308
329
|
let i = 0;
|
|
309
330
|
while ((index = scan.indexOf("${")) >= 0) {
|
|
331
|
+
// Add escape sequence
|
|
332
|
+
if (index > 0 && scan.substring(index - 1, 1) === "\\") {
|
|
333
|
+
scan = scan.substring(scan.indexOf("}", index));
|
|
334
|
+
continue;
|
|
335
|
+
}
|
|
310
336
|
let next = scan.indexOf("}", index);
|
|
311
337
|
let variable = scan.substring(index + 2, next);
|
|
312
338
|
scan = scan.substring(next);
|
|
@@ -317,7 +343,7 @@ export class Application {
|
|
|
317
343
|
throw new Error("Too many variables");
|
|
318
344
|
}
|
|
319
345
|
}
|
|
320
|
-
return new Function("return `" + templateString.replace(
|
|
346
|
+
return new Function("return `" + (" " + templateString).replace(/([^\\])\$\{([^\}\{]+)}/g, "$1${this.$2}").substring(1) + "`;").call({
|
|
321
347
|
...this.baseConfiguration.cachedModules.project,
|
|
322
348
|
now: this.initTime,
|
|
323
349
|
...replacements
|
package/lib/application.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application.js","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"application.js","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAGzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAuE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1G,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,MAAM,EAAE,SAAS,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAyRnD,MAAM,CAAN,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,gCAAiB,CAAA;IACjB,sCAAuB,CAAA;IACvB,gCAAiB,CAAA;IACjB,8BAAe,CAAA;AACjB,CAAC,EALW,WAAW,KAAX,WAAW,QAKtB;AAsED;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,WAAW;IAwEtB;;;;OAIG;IACH,YAAY,IAAY,EAAE,SAAuB,SAAS;QA/D1D;;WAEG;QACO,cAAS,GAAW;YAC5B,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,EAAE;YACV,SAAS,EAAE,EAAE;SACd,CAAC;QAEF;;WAEG;QACO,YAAO,GAAa,EAAE,CAAC;QAEjC;;WAEG;QACO,cAAS,GAA2B,EAAE,CAAC;QAEjD;;WAEG;QACO,WAAM,GAA6B,EAAE,CAAC;QAEhD;;WAEG;QACO,WAAM,GAA2B,EAAE,CAAC;QAO9C;;WAEG;QACO,mBAAc,GAAW,EAAE,CAAC;QA2BpC,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAC3C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACxB,MAAM,IAAI,UAAU,CAClB,iBAAiB,EACjB,8FAA8F,IAAI,EAAE,CACrG,CAAC;SACH;QACD,IAAI,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE;YACpC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;YAC7C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;gBACxB,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;aAC3C;SACF;QACD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC/C,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,iBAAiB,CAAC,IAAY;;QAC5B,oCAAoC;QACpC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACxB,MAAM,IAAI,UAAU,CAClB,iBAAiB,EACjB,mFAAmF,IAAI,EAAE,CAC1F,CAAC;SACH;QACD,IAAI;YACF,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9C,MAAA,IAAI,CAAC,iBAAiB,EAAC,UAAU,QAAV,UAAU,GAAK,EAAE,EAAC;YACzC,MAAA,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAC,YAAY,QAAZ,YAAY,GAAK,UAAU,EAAC;YAC9D,IAAI,IAAI,CAAC,iBAAiB,CAAC,OAAO,KAAK,CAAC,EAAE;gBACxC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,0EAA0E,CAAC,CAAC;aAC/F;SACF;QAAC,OAAO,GAAG,EAAE;YACZ,MAAM,IAAI,UAAU,CAAC,sBAAsB,EAAE,yBAAyB,IAAI,EAAE,CAAC,CAAC;SAC/E;IACH,CAAC;IAED;;;OAGG;IACH,wBAAwB,CAAC,KAAK;QAC5B,KAAK,IAAI,OAAO,IAAI,WAAW,EAAE;YAC/B,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE;gBACxC,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,KAAK,EAAE;oBACtF,OAAO,CAAC,CAAC;iBACV;aACF;SACF;IACH,CAAC;IAED;;;;;;OAMG;IACH,SAAS,CAAC,IAAY;QACpB,OAAO,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED;;;;;;OAMG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,eAAe;QACb,OAAO,CACL,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,IAAI;YACrD,SAAS,EAAE,OAAO;SACnB,CACF,CAAC;IACJ,CAAC;IACD;;OAEG;IACH,qBAAqB;QACnB,OAAO,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;IACtE,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAC,KAAqB,EAAE,GAAG,IAAI;QAChC,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;SACjC;IACH,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,UAAkB,SAAS;QACpC,IAAI,OAAO,IAAI,OAAO,KAAK,EAAE,EAAE;YAC7B,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;gBAC5B,OAAO,OAAO,CAAC;aAChB;YACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;SACzC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;;;;OAKG;IACH,UAAU,CAAC,IAAY,EAAE,OAAc;QACrC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,OAAO,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,cAAc,CAAC,OAAgB,EAAE,IAAY;QAC3C,IAAI,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,cAAc,OAAO,IAAI,UAAU,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;YAC1D,UAAU,GAAG,SAAS,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;SAC5C;QACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,EAAE;YAC9B,MAAM,KAAK,CACT,aAAa,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,OAAO,UAAU,KAAK,MAAM,CAAC,IAAI,CAC5F,IAAI,CAAC,OAAO,CAAC,CACd,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAChB,CAAC;SACH;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC;IACnC,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAAC,IAAI;QACX,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC;IACpD,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAAyE,IAAY;QAC3F,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;;OAGG;IACH,oBAAoB,CAAC,MAAiB;QACpC,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;aAC5B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,WAAW,CAAC;aAClD,GAAG,EAAE,CAAC;IACX,CAAC;IAED;;;OAGG;IACH,uBAAuB,CAAC,KAA6B;QACnD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;aAC5B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC;aACrC,GAAG,EAAE,CAAC;IACX,CAAC;IAED;;OAEG;IACH,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;;;;OAKG;IACH,QAAQ,CAAC,IAAY,EAAE,KAAU;QAC/B,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,mBAAmB,EAAE,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,WAAW,CAAC,IAAY,EAAE,KAAU;QAClC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,sBAAsB,EAAE,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,eAAe;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,GAAG,kBAAkB,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC;IACxF,CAAC;IAED;;;;;OAKG;IACH,iBAAiB,CAAC,YAAqB,EAAE,QAAiB;QACxD,OAAO,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,OAAO,EAAE,GAAG,CAAC;IAC3D,CAAC;IAED;;;;;OAKG;IACO,eAAe,CAAC,cAAsB,EAAE,eAAoB,EAAE;QACtE,qEAAqE;QACrE,IAAI,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACpC,OAAO,cAAc,CAAC;SACvB;QAED,IAAI,IAAI,GAAG,cAAc,CAAC;QAC1B,IAAI,KAAK,CAAC;QACV,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE;YACxC,sBAAsB;YACtB,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE;gBACtD,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;gBAChD,SAAS;aACV;YACD,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACpC,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;YAC/C,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC5B,IAAI,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE;gBACjC,MAAM,IAAI,KAAK,CAAC,uDAAuD,QAAQ,EAAE,CAAC,CAAC;aACpF;YACD,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE;gBACZ,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;aACvC;SACF;QACD,OAAO,IAAI,QAAQ,CACjB,UAAU,GAAG,CAAC,GAAG,GAAG,cAAc,CAAC,CAAC,OAAO,CAAC,yBAAyB,EAAE,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAC3G,CAAC,IAAI,CAAC;YACL,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,OAAO;YAC/C,GAAG,EAAE,IAAI,CAAC,QAAQ;YAClB,GAAG,YAAY;SAChB,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACH,gBAAgB,CAAC,MAAW,EAAE,eAAoB,EAAE;QAClD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;YAC9B,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;SACnD;QACD,IAAI,GAAG,GAAG,IAAI,CAAC;QACf,OAAO,IAAI,CAAC,KAAK,CACf,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,GAAW,EAAE,KAAU;YACtD,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE;gBACjC,OAAO,GAAG,CAAC,eAAe,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;aACjD;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,oBAAoB;QAClB,OAAO,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;IACtE,CAAC;IAED;;;;;OAKG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC;IAC9C,CAAC;IAED;;;OAGG;IACH,gBAAgB,CAAC,cAAsB,SAAS;QAC9C,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAED;;;;;;;;OAQG;IACH,uBAAuB;QACrB,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACjC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,UAAU,CAAC,IAAY,EAAE,aAAsB,IAAI;QACvD,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YACxB,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;SAC/C;QACD,IAAI;YACF,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;YACrC,IAAI,CAAC,cAAc,EAAE,UAAU,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC/D,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;gBACnC,cAAc,IAAI,KAAK,CAAC;aACzB;YACD,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;YAClD,IAAI,CAAC,UAAU,EAAE;gBACf,OAAO;aACR;YACD,MAAM,YAAY,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;YAC9C,IAAI,CAAC,YAAY,EAAE;gBACjB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,cAAc,+BAA+B,UAAU,EAAE,CAAC,CAAC;aACvF;YACD,OAAO,YAAY,CAAC;SACrB;QAAC,OAAO,GAAG,EAAE;YACZ,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,wBAAwB,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;SAC/D;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe;QACnB,IAAI,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,mBAAmB,CAAC,CAAC;QAC/D,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;YAC7B,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;SAClE;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,UAAU,CAAC,MAAc,EAAE,SAAiB,IAAI,CAAC,OAAO;QAC5D,MAAM,IAAI,GAAkC,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC;QACrE,MAAM,aAAa,GAAG,KAAK,EAAE,OAAgB,EAAE,EAAE;;YAC/C,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE;gBAC7B,MAAA,IAAI,CAAC,OAAO,CAAC,OAAC,GAAG,CAAC,WAAW,EAAE,eAAM,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAC;aACnG;QACH,CAAC,CAAC;QACF,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,aAAa,CAAC,QAAQ,CAAC;YACvB,aAAa,CAAC,WAAW,CAAC;YAC1B,aAAa,CAAC,QAAQ,CAAC;YACvB,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBACjC,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC9D,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;YACrG,CAAC,CAAC;SACH,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IACH,iBAAiB,CAAC,OAAe,EAAE;QACjC,4CAA4C;QAC5C,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAC1B,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;SAC3B;QACD,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9G,CAAC;IAED;;;;;OAKG;IACH,OAAO,CAAC,GAAQ,EAAE,SAAc;QAC9B,IAAI,CAAC,GAAG,EAAE;YACR,OAAO,KAAK,CAAC;SACd;QACD,OAAO,GAAG,IAAI,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;YACxC,IAAI,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YACvC,IAAI,KAAK,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI,IAAI,KAAK,IAAI,SAAS,CAAC,IAAI,EAAE;gBAC3D,OAAO,IAAI,CAAC;aACb;YACD,GAAG,GAAG,KAAK,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
|
package/lib/application.spec.js
CHANGED
|
@@ -8,6 +8,8 @@ import { suite, test } from "@testdeck/mocha";
|
|
|
8
8
|
import * as assert from "assert";
|
|
9
9
|
import * as path from "path";
|
|
10
10
|
import { Application, UnpackedApplication } from "./index.js";
|
|
11
|
+
import { CoreModel } from "./models/coremodel.js";
|
|
12
|
+
import { User } from "./models/user.js";
|
|
11
13
|
import { TestApplication, WebdaTest } from "./test.js";
|
|
12
14
|
import { getCommonJS } from "./utils/esm.js";
|
|
13
15
|
const { __dirname } = getCommonJS(import.meta.url);
|
|
@@ -21,7 +23,8 @@ let ApplicationTest = class ApplicationTest extends WebdaTest {
|
|
|
21
23
|
assert.deepStrictEqual(this.sampleApp.replaceVariables({
|
|
22
24
|
test: true,
|
|
23
25
|
bouzouf: {
|
|
24
|
-
yop: "${resources.replace}"
|
|
26
|
+
yop: "${resources.replace}",
|
|
27
|
+
yop2: "\\${resources2.replace}"
|
|
25
28
|
}
|
|
26
29
|
}, {
|
|
27
30
|
resources: {
|
|
@@ -30,7 +33,8 @@ let ApplicationTest = class ApplicationTest extends WebdaTest {
|
|
|
30
33
|
}), {
|
|
31
34
|
test: true,
|
|
32
35
|
bouzouf: {
|
|
33
|
-
yop: "Plop"
|
|
36
|
+
yop: "Plop",
|
|
37
|
+
yop2: "${resources2.replace}"
|
|
34
38
|
}
|
|
35
39
|
});
|
|
36
40
|
}
|
|
@@ -117,6 +121,8 @@ let ApplicationTest = class ApplicationTest extends WebdaTest {
|
|
|
117
121
|
// @ts-ignore
|
|
118
122
|
unpackedApp.baseConfiguration.cachedModules.project.webda = undefined;
|
|
119
123
|
assert.deepStrictEqual(unpackedApp.getPackageWebda(), { namespace: "Webda" });
|
|
124
|
+
assert.strictEqual(app.getModelFromInstance(new CoreModel()), "webda/coremodel");
|
|
125
|
+
assert.strictEqual(app.getModelFromInstance(new User()), "webda/user");
|
|
120
126
|
}
|
|
121
127
|
async getFullNameFromPrototype() {
|
|
122
128
|
let app = new TestApplication(__dirname + "/../test/config.json");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application.spec.js","sourceRoot":"","sources":["../src/application.spec.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,MAAM,EAAE,SAAS,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAGnD,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,SAAS;IAGrC,KAAK,CAAC,MAAM;QACV,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;QAC3F,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAC9B,CAAC;IAGD,mBAAmB;QACjB,MAAM,CAAC,eAAe,CACpB,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAC7B;YACE,IAAI,EAAE,IAAI;YACV,OAAO,EAAE;gBACP,GAAG,EAAE,sBAAsB;
|
|
1
|
+
{"version":3,"file":"application.spec.js","sourceRoot":"","sources":["../src/application.spec.ts"],"names":[],"mappings":"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"}
|
package/lib/core.d.ts
CHANGED
|
@@ -24,9 +24,30 @@ export declare class ValidationError extends Error {
|
|
|
24
24
|
* Define an operation within webda app
|
|
25
25
|
*/
|
|
26
26
|
export interface OperationDefinition {
|
|
27
|
-
|
|
27
|
+
/**
|
|
28
|
+
* Id of the operation
|
|
29
|
+
*/
|
|
30
|
+
id: string;
|
|
31
|
+
/**
|
|
32
|
+
* Name of the schema that defines operation input
|
|
33
|
+
*/
|
|
34
|
+
input?: string;
|
|
35
|
+
/**
|
|
36
|
+
* Name of the schema that defines operation output
|
|
37
|
+
*/
|
|
28
38
|
output?: string;
|
|
39
|
+
/**
|
|
40
|
+
* WebdaQL to execute on session to know if
|
|
41
|
+
* operation is available to user
|
|
42
|
+
*/
|
|
43
|
+
permission?: string;
|
|
44
|
+
/**
|
|
45
|
+
* Service implementing the operation
|
|
46
|
+
*/
|
|
29
47
|
service: string;
|
|
48
|
+
/**
|
|
49
|
+
* Method implementing the operation
|
|
50
|
+
*/
|
|
30
51
|
method: string;
|
|
31
52
|
}
|
|
32
53
|
/**
|
|
@@ -94,7 +115,7 @@ export declare class WebsiteOriginFilter implements RequestFilter<Context> {
|
|
|
94
115
|
checkRequest(context: Context): Promise<boolean>;
|
|
95
116
|
}
|
|
96
117
|
export declare function Bean(constructor: Function): void;
|
|
97
|
-
export
|
|
118
|
+
export type CoreEvents = {
|
|
98
119
|
/**
|
|
99
120
|
* Emitted when new result is sent
|
|
100
121
|
*/
|
|
@@ -129,8 +150,8 @@ export declare type CoreEvents = {
|
|
|
129
150
|
"Webda.NewContext": Context;
|
|
130
151
|
[key: string]: unknown;
|
|
131
152
|
};
|
|
132
|
-
|
|
133
|
-
|
|
153
|
+
type NoSchemaResult = null;
|
|
154
|
+
type SchemaValidResult = true;
|
|
134
155
|
/**
|
|
135
156
|
* This is the main class of the framework, it handles the routing, the services initialization and resolution
|
|
136
157
|
*
|
|
@@ -240,10 +261,36 @@ export declare class Core<E extends CoreEvents = CoreEvents> extends events.Even
|
|
|
240
261
|
protected operations: {
|
|
241
262
|
[key: string]: OperationDefinition;
|
|
242
263
|
};
|
|
264
|
+
/**
|
|
265
|
+
* Cache for model to store resolution
|
|
266
|
+
*/
|
|
267
|
+
private _modelStoresCache;
|
|
268
|
+
/**
|
|
269
|
+
* Store the Core singleton
|
|
270
|
+
*
|
|
271
|
+
* The main storage is on the process itself
|
|
272
|
+
* This second storage allow to identify dual import
|
|
273
|
+
*/
|
|
274
|
+
private static singleton;
|
|
275
|
+
/**
|
|
276
|
+
* True if the dual import warning has been sent
|
|
277
|
+
*/
|
|
278
|
+
private _dualImportWarn;
|
|
243
279
|
/**
|
|
244
280
|
* @params {Object} config - The configuration Object, if undefined will load the configuration file
|
|
245
281
|
*/
|
|
246
|
-
constructor(application
|
|
282
|
+
constructor(application?: Application);
|
|
283
|
+
/**
|
|
284
|
+
* Get the singleton of Webda Core
|
|
285
|
+
* @returns
|
|
286
|
+
*/
|
|
287
|
+
static get(): Core;
|
|
288
|
+
/**
|
|
289
|
+
* Get the store assigned to this model
|
|
290
|
+
* @param model
|
|
291
|
+
* @returns
|
|
292
|
+
*/
|
|
293
|
+
getModelStore(model: Constructor<CoreModel> | CoreModel): Store<CoreModel, import("./index").StoreParameters, import("./index").StoreEvents>;
|
|
247
294
|
/**
|
|
248
295
|
* Return Core instance id
|
|
249
296
|
*
|
|
@@ -293,10 +340,23 @@ export declare class Core<E extends CoreEvents = CoreEvents> extends events.Even
|
|
|
293
340
|
* It will resolve Services init method and autolink
|
|
294
341
|
*/
|
|
295
342
|
init(): Promise<void>;
|
|
343
|
+
/**
|
|
344
|
+
* Pause for time ms
|
|
345
|
+
*
|
|
346
|
+
* @param time ms
|
|
347
|
+
*/
|
|
348
|
+
static sleep(time: any): Promise<void>;
|
|
296
349
|
/**
|
|
297
350
|
* Call an operation within the framework
|
|
298
351
|
*/
|
|
299
352
|
callOperation(context: OperationContext, operationId: string): Promise<any>;
|
|
353
|
+
/**
|
|
354
|
+
* Get available operations
|
|
355
|
+
* @returns
|
|
356
|
+
*/
|
|
357
|
+
listOperations(): {
|
|
358
|
+
[key: string]: Omit<OperationDefinition, "service" | "method">;
|
|
359
|
+
};
|
|
300
360
|
/**
|
|
301
361
|
* Register a new operation within the app
|
|
302
362
|
* @param operationId
|
|
@@ -386,7 +446,7 @@ export declare class Core<E extends CoreEvents = CoreEvents> extends events.Even
|
|
|
386
446
|
* @returns {{}}
|
|
387
447
|
*/
|
|
388
448
|
getStores(): {
|
|
389
|
-
[key: string]:
|
|
449
|
+
[key: string]: Store;
|
|
390
450
|
};
|
|
391
451
|
/**
|
|
392
452
|
* Return a map of defined models
|
package/lib/core.js
CHANGED
|
@@ -5,7 +5,7 @@ import * as events from "events";
|
|
|
5
5
|
import jsonpath from "jsonpath";
|
|
6
6
|
import pkg from "node-machine-id";
|
|
7
7
|
import { v4 as uuidv4 } from "uuid";
|
|
8
|
-
import { Context, Logger, Store } from "./index.js";
|
|
8
|
+
import { Context, Logger, Store, UnpackedApplication } from "./index.js";
|
|
9
9
|
import { CoreModel } from "./models/coremodel.js";
|
|
10
10
|
import { Router } from "./router.js";
|
|
11
11
|
import { JSONUtils } from "./utils/serializers.js";
|
|
@@ -165,9 +165,20 @@ export class Core extends events.EventEmitter {
|
|
|
165
165
|
* Contains all operations defined by services
|
|
166
166
|
*/
|
|
167
167
|
this.operations = {};
|
|
168
|
+
/**
|
|
169
|
+
* Cache for model to store resolution
|
|
170
|
+
*/
|
|
171
|
+
this._modelStoresCache = new Map();
|
|
172
|
+
/**
|
|
173
|
+
* True if the dual import warning has been sent
|
|
174
|
+
*/
|
|
175
|
+
this._dualImportWarn = false;
|
|
176
|
+
// Store WebdaCore in process to avoid conflict with import
|
|
177
|
+
// @ts-ignore
|
|
178
|
+
Core.singleton = process.webda = this;
|
|
168
179
|
this.workerOutput = application.getWorkerOutput();
|
|
169
180
|
this.logger = new Logger(this.workerOutput, "@webda/core/lib/core.js");
|
|
170
|
-
this.application = application;
|
|
181
|
+
this.application = application || new UnpackedApplication(".");
|
|
171
182
|
this._initTime = new Date().getTime();
|
|
172
183
|
// Schema validations
|
|
173
184
|
this._ajv = new Ajv();
|
|
@@ -190,6 +201,55 @@ export class Core extends events.EventEmitter {
|
|
|
190
201
|
this.registerCORSFilter(new WebsiteOriginFilter(this.configuration.parameters.website));
|
|
191
202
|
}
|
|
192
203
|
}
|
|
204
|
+
/**
|
|
205
|
+
* Get the singleton of Webda Core
|
|
206
|
+
* @returns
|
|
207
|
+
*/
|
|
208
|
+
static get() {
|
|
209
|
+
// @ts-ignore
|
|
210
|
+
let singleton = process.webda;
|
|
211
|
+
if (Core.singleton !== singleton && !singleton._dualImportWarn) {
|
|
212
|
+
singleton._dualImportWarn = true;
|
|
213
|
+
singleton.log("WARN", "Several import version of WebdaCore has been identified");
|
|
214
|
+
}
|
|
215
|
+
// Store WebdaCore in process to avoid conflict with import
|
|
216
|
+
return singleton;
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Get the store assigned to this model
|
|
220
|
+
* @param model
|
|
221
|
+
* @returns
|
|
222
|
+
*/
|
|
223
|
+
getModelStore(model) {
|
|
224
|
+
if (model instanceof CoreModel) {
|
|
225
|
+
if (this._modelStoresCache.has(model.__class)) {
|
|
226
|
+
return this._modelStoresCache.get(model.__class);
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
else if (this._modelStoresCache.has(model)) {
|
|
230
|
+
return this._modelStoresCache.get(model);
|
|
231
|
+
}
|
|
232
|
+
const setCache = store => {
|
|
233
|
+
this._modelStoresCache.set(model instanceof CoreModel ? model.__class : model, store);
|
|
234
|
+
};
|
|
235
|
+
const stores = this.getStores();
|
|
236
|
+
let actualScore;
|
|
237
|
+
let actualStore = this.getService(this.parameter("defaultStore"));
|
|
238
|
+
for (let store in stores) {
|
|
239
|
+
let score = stores[store].handleModel(model);
|
|
240
|
+
// As 0 mean exact match we stop there
|
|
241
|
+
if (score === 0) {
|
|
242
|
+
setCache(stores[store]);
|
|
243
|
+
return stores[store];
|
|
244
|
+
}
|
|
245
|
+
else if (score > 0 && (actualScore === undefined || actualScore > score)) {
|
|
246
|
+
actualScore = score;
|
|
247
|
+
actualStore = stores[store];
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
setCache(actualStore);
|
|
251
|
+
return actualStore;
|
|
252
|
+
}
|
|
193
253
|
/**
|
|
194
254
|
* Return Core instance id
|
|
195
255
|
*
|
|
@@ -319,6 +379,16 @@ export class Core extends events.EventEmitter {
|
|
|
319
379
|
});
|
|
320
380
|
return this._init;
|
|
321
381
|
}
|
|
382
|
+
/**
|
|
383
|
+
* Pause for time ms
|
|
384
|
+
*
|
|
385
|
+
* @param time ms
|
|
386
|
+
*/
|
|
387
|
+
static async sleep(time) {
|
|
388
|
+
return new Promise(resolve => {
|
|
389
|
+
setTimeout(resolve, time);
|
|
390
|
+
});
|
|
391
|
+
}
|
|
322
392
|
/**
|
|
323
393
|
* Call an operation within the framework
|
|
324
394
|
*/
|
|
@@ -326,15 +396,38 @@ export class Core extends events.EventEmitter {
|
|
|
326
396
|
if (!this.operations[operationId]) {
|
|
327
397
|
throw new Error(`Unknown Operation Id: ${operationId}`);
|
|
328
398
|
}
|
|
399
|
+
let input = await context.getInput();
|
|
400
|
+
this.log("TRACE", `Operation ${operationId} input is '${JSONUtils.safeStringify(input, undefined, 2)}'`);
|
|
401
|
+
if (this.operations[operationId].input &&
|
|
402
|
+
(input === undefined || this.validateSchema(this.operations[operationId].input, input) !== true)) {
|
|
403
|
+
throw new Error("Input does not fit the operation input");
|
|
404
|
+
}
|
|
329
405
|
return this.getService(this.operations[operationId].service)[this.operations[operationId].method](context);
|
|
330
406
|
}
|
|
407
|
+
/**
|
|
408
|
+
* Get available operations
|
|
409
|
+
* @returns
|
|
410
|
+
*/
|
|
411
|
+
listOperations() {
|
|
412
|
+
const list = {};
|
|
413
|
+
Object.keys(this.operations).forEach(o => {
|
|
414
|
+
list[o] = {
|
|
415
|
+
...this.operations[o],
|
|
416
|
+
input: this.operations[o].input ? this.application.completeNamespace(this.operations[o].input) : undefined,
|
|
417
|
+
output: this.operations[o].output ? this.application.completeNamespace(this.operations[o].output) : undefined
|
|
418
|
+
};
|
|
419
|
+
delete list[o].service;
|
|
420
|
+
delete list[o].method;
|
|
421
|
+
});
|
|
422
|
+
return list;
|
|
423
|
+
}
|
|
331
424
|
/**
|
|
332
425
|
* Register a new operation within the app
|
|
333
426
|
* @param operationId
|
|
334
427
|
* @param definition
|
|
335
428
|
*/
|
|
336
429
|
registerOperation(operationId, definition) {
|
|
337
|
-
this.operations[operationId] = definition;
|
|
430
|
+
this.operations[operationId] = { ...definition, id: operationId };
|
|
338
431
|
}
|
|
339
432
|
/**
|
|
340
433
|
* Register a request filtering
|