@nmshd/runtime 1.0.4 → 1.0.8
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/dist/Runtime.d.ts +5 -2
- package/dist/Runtime.js +21 -3
- package/dist/Runtime.js.map +1 -1
- package/dist/RuntimeConfig.d.ts +1 -5
- package/dist/buildInformation.js +5 -5
- package/dist/extensibility/index.d.ts +1 -1
- package/dist/extensibility/index.js +1 -1
- package/dist/extensibility/index.js.map +1 -1
- package/dist/extensibility/modules/{RuntimeModuleCollection.d.ts → RuntimeModuleRegistry.d.ts} +1 -1
- package/dist/extensibility/modules/{RuntimeModuleCollection.js → RuntimeModuleRegistry.js} +4 -4
- package/dist/extensibility/modules/RuntimeModuleRegistry.js.map +1 -0
- package/dist/useCases/common/SchemaRepository.d.ts +20 -0
- package/dist/useCases/common/SchemaRepository.js +78 -0
- package/dist/useCases/common/SchemaRepository.js.map +1 -0
- package/dist/useCases/common/SchemaValidator.d.ts +9 -0
- package/dist/useCases/common/SchemaValidator.js +24 -0
- package/dist/useCases/common/SchemaValidator.js.map +1 -0
- package/dist/useCases/common/Schemas.d.ts +1580 -0
- package/dist/useCases/common/Schemas.js +1792 -0
- package/dist/useCases/common/Schemas.js.map +1 -0
- package/dist/useCases/common/UseCase.d.ts +5 -2
- package/dist/useCases/common/UseCase.js.map +1 -1
- package/dist/useCases/transport/files/CreateTokenForFile.d.ts +12 -4
- package/dist/useCases/transport/files/CreateTokenForFile.js +11 -7
- package/dist/useCases/transport/files/CreateTokenForFile.js.map +1 -1
- package/dist/useCases/transport/files/CreateTokenQrCodeForFile.d.ts +13 -5
- package/dist/useCases/transport/files/CreateTokenQrCodeForFile.js +11 -9
- package/dist/useCases/transport/files/CreateTokenQrCodeForFile.js.map +1 -1
- package/dist/useCases/transport/files/DownloadFile.d.ts +9 -4
- package/dist/useCases/transport/files/DownloadFile.js +11 -6
- package/dist/useCases/transport/files/DownloadFile.js.map +1 -1
- package/dist/useCases/transport/files/GetFile.d.ts +9 -4
- package/dist/useCases/transport/files/GetFile.js +11 -6
- package/dist/useCases/transport/files/GetFile.js.map +1 -1
- package/dist/useCases/transport/files/LoadPeerFile.d.ts +3 -0
- package/dist/useCases/transport/files/LoadPeerFile.js.map +1 -1
- package/lib-web/nmshd.runtime.js +10222 -3022
- package/lib-web/nmshd.runtime.js.map +1 -1
- package/lib-web/nmshd.runtime.min.js +7 -1
- package/lib-web/nmshd.runtime.min.js.map +1 -1
- package/package.json +25 -21
- package/dist/extensibility/modules/RuntimeModuleCollection.js.map +0 -1
package/dist/Runtime.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { ConsumptionController } from "@nmshd/consumption";
|
|
|
4
4
|
import { AccountController, Transport } from "@nmshd/transport";
|
|
5
5
|
import { DataViewExpander } from "./dataViews";
|
|
6
6
|
import { EventBus } from "./eventBus";
|
|
7
|
-
import { AnonymousServices, ConsumptionServices, ModuleConfiguration, RuntimeModule,
|
|
7
|
+
import { AnonymousServices, ConsumptionServices, ModuleConfiguration, RuntimeModule, RuntimeModuleRegistry, TransportServices } from "./extensibility";
|
|
8
8
|
import { RuntimeConfig } from "./RuntimeConfig";
|
|
9
9
|
import { RuntimeHealth } from "./types";
|
|
10
10
|
export declare abstract class Runtime<TConfig extends RuntimeConfig = RuntimeConfig> {
|
|
@@ -21,7 +21,7 @@ export declare abstract class Runtime<TConfig extends RuntimeConfig = RuntimeCon
|
|
|
21
21
|
protected getDataViewExpander(): DataViewExpander;
|
|
22
22
|
protected login(accountController: AccountController, consumptionController: ConsumptionController): this;
|
|
23
23
|
private _modules;
|
|
24
|
-
get modules():
|
|
24
|
+
get modules(): RuntimeModuleRegistry;
|
|
25
25
|
private _transportServices;
|
|
26
26
|
get transportServices(): TransportServices;
|
|
27
27
|
private _consumptionServices;
|
|
@@ -34,6 +34,7 @@ export declare abstract class Runtime<TConfig extends RuntimeConfig = RuntimeCon
|
|
|
34
34
|
private _isInitialized;
|
|
35
35
|
get isInitialized(): boolean;
|
|
36
36
|
init(): Promise<void>;
|
|
37
|
+
protected initInfrastructure(): void | Promise<void>;
|
|
37
38
|
protected abstract createLoggerFactory(): Promise<ILoggerFactory> | ILoggerFactory;
|
|
38
39
|
protected abstract createDatabaseConnection(): Promise<IDatabaseConnection>;
|
|
39
40
|
protected abstract initAccount(): Promise<void>;
|
|
@@ -50,7 +51,9 @@ export declare abstract class Runtime<TConfig extends RuntimeConfig = RuntimeCon
|
|
|
50
51
|
private _isStarted;
|
|
51
52
|
get isStarted(): boolean;
|
|
52
53
|
start(): Promise<void>;
|
|
54
|
+
protected startInfrastructure(): void | Promise<void>;
|
|
53
55
|
protected stop(): Promise<void>;
|
|
56
|
+
protected stopInfrastructure(): void | Promise<void>;
|
|
54
57
|
private stopModules;
|
|
55
58
|
private startModules;
|
|
56
59
|
protected getModuleName(moduleConfiguration: ModuleConfiguration | RuntimeModule): string;
|
package/dist/Runtime.js
CHANGED
|
@@ -11,6 +11,7 @@ const events_1 = require("./events");
|
|
|
11
11
|
const extensibility_1 = require("./extensibility");
|
|
12
12
|
const RuntimeLoggerFactory_1 = require("./RuntimeLoggerFactory");
|
|
13
13
|
const useCases_1 = require("./useCases");
|
|
14
|
+
const SchemaRepository_1 = require("./useCases/common/SchemaRepository");
|
|
14
15
|
class Runtime {
|
|
15
16
|
constructor(config) {
|
|
16
17
|
this._isInitialized = false;
|
|
@@ -66,17 +67,21 @@ class Runtime {
|
|
|
66
67
|
if (this._isInitialized) {
|
|
67
68
|
throw useCases_1.RuntimeErrors.general.alreadyInitialized();
|
|
68
69
|
}
|
|
69
|
-
this._modules = new extensibility_1.RuntimeModuleCollection();
|
|
70
70
|
this.eventBus.publish(new events_1.RuntimeInitializingEvent());
|
|
71
71
|
this.loggerFactory = await this.createLoggerFactory();
|
|
72
|
-
this.initDIContainer();
|
|
72
|
+
await this.initDIContainer();
|
|
73
73
|
await this.initTransportLibrary();
|
|
74
74
|
await this.initAccount();
|
|
75
|
+
this._modules = new extensibility_1.RuntimeModuleRegistry();
|
|
75
76
|
await this.loadModules();
|
|
77
|
+
await this.initInfrastructure();
|
|
76
78
|
await this.initModules();
|
|
77
79
|
this._isInitialized = true;
|
|
78
80
|
this.eventBus.publish(new events_1.RuntimeInitializedEvent());
|
|
79
81
|
}
|
|
82
|
+
initInfrastructure() {
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
80
85
|
async getSupportInformation() {
|
|
81
86
|
const health = await this.getHealth();
|
|
82
87
|
const config = JSON.parse(JSON.stringify(this.runtimeConfig));
|
|
@@ -97,7 +102,7 @@ class Runtime {
|
|
|
97
102
|
this._anonymousServices = typescript_ioc_1.Container.get(extensibility_1.AnonymousServices);
|
|
98
103
|
this.eventBus.publish(new events_1.TransportLibraryInitializedEvent());
|
|
99
104
|
}
|
|
100
|
-
initDIContainer() {
|
|
105
|
+
async initDIContainer() {
|
|
101
106
|
typescript_ioc_1.Container.bind(eventBus_1.EventBus)
|
|
102
107
|
.factory(() => this.eventBus)
|
|
103
108
|
.scope(typescript_ioc_1.Scope.Singleton);
|
|
@@ -158,6 +163,11 @@ class Runtime {
|
|
|
158
163
|
typescript_ioc_1.Container.bind(transport_1.AnonymousTokenController)
|
|
159
164
|
.factory(() => new transport_1.AnonymousTokenController(this.transport.config))
|
|
160
165
|
.scope(typescript_ioc_1.Scope.Singleton);
|
|
166
|
+
const schemaRepository = new SchemaRepository_1.SchemaRepository();
|
|
167
|
+
await schemaRepository.loadSchemas();
|
|
168
|
+
typescript_ioc_1.Container.bind(SchemaRepository_1.SchemaRepository)
|
|
169
|
+
.factory(() => schemaRepository)
|
|
170
|
+
.scope(typescript_ioc_1.Scope.Singleton);
|
|
161
171
|
}
|
|
162
172
|
async loadModules() {
|
|
163
173
|
this.logger.info("Loading modules...");
|
|
@@ -200,9 +210,13 @@ class Runtime {
|
|
|
200
210
|
if (this._isStarted) {
|
|
201
211
|
throw useCases_1.RuntimeErrors.general.alreadyStarted();
|
|
202
212
|
}
|
|
213
|
+
await this.startInfrastructure();
|
|
203
214
|
await this.startModules();
|
|
204
215
|
this._isStarted = true;
|
|
205
216
|
}
|
|
217
|
+
startInfrastructure() {
|
|
218
|
+
return;
|
|
219
|
+
}
|
|
206
220
|
async stop() {
|
|
207
221
|
var _a;
|
|
208
222
|
if (!this._isInitialized) {
|
|
@@ -212,6 +226,7 @@ class Runtime {
|
|
|
212
226
|
throw useCases_1.RuntimeErrors.general.notStarted();
|
|
213
227
|
}
|
|
214
228
|
await this.stopModules();
|
|
229
|
+
await this.stopInfrastructure();
|
|
215
230
|
this.logger.info("Closing AccountController...");
|
|
216
231
|
await ((_a = this._accountController) === null || _a === void 0 ? void 0 : _a.close());
|
|
217
232
|
this._accountController = undefined;
|
|
@@ -219,6 +234,9 @@ class Runtime {
|
|
|
219
234
|
this._isInitialized = false;
|
|
220
235
|
this._isStarted = false;
|
|
221
236
|
}
|
|
237
|
+
stopInfrastructure() {
|
|
238
|
+
return;
|
|
239
|
+
}
|
|
222
240
|
async stopModules() {
|
|
223
241
|
this.logger.info("Stopping modules...");
|
|
224
242
|
for (const module of this.modules.toArray()) {
|
package/dist/Runtime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Runtime.js","sourceRoot":"","sources":["../src/Runtime.ts"],"names":[],"mappings":";;;AAEA,oDAS4B;AAC5B,gDAY0B;AAC1B,mDAAkD;AAClD,2CAA+C;AAC/C,yCAAsC;AACtC,0FAAuF;AACvF,qCAQkB;AAClB,
|
|
1
|
+
{"version":3,"file":"Runtime.js","sourceRoot":"","sources":["../src/Runtime.ts"],"names":[],"mappings":"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"}
|
package/dist/RuntimeConfig.d.ts
CHANGED
|
@@ -1,10 +1,6 @@
|
|
|
1
|
-
import { IConfigOverwrite
|
|
1
|
+
import { IConfigOverwrite } from "@nmshd/transport";
|
|
2
2
|
import { ModuleConfiguration } from "./extensibility/modules/RuntimeModule";
|
|
3
3
|
export interface RuntimeConfig {
|
|
4
|
-
debug: boolean;
|
|
5
|
-
realm: Realm;
|
|
6
4
|
transportLibrary: IConfigOverwrite;
|
|
7
|
-
consumptionLibrary: {};
|
|
8
|
-
eventBus: {};
|
|
9
5
|
modules: Record<string, ModuleConfiguration>;
|
|
10
6
|
}
|
package/dist/buildInformation.js
CHANGED
|
@@ -7,11 +7,11 @@ const content_1 = require("@nmshd/content");
|
|
|
7
7
|
const crypto_1 = require("@nmshd/crypto");
|
|
8
8
|
const transport_1 = require("@nmshd/transport");
|
|
9
9
|
exports.buildInformation = {
|
|
10
|
-
version: "1.0.
|
|
11
|
-
build: "
|
|
12
|
-
date: "2021-
|
|
13
|
-
commit: "
|
|
14
|
-
dependencies: {"@js-soft/docdb-querytranslator":"1.0.1","@js-soft/logging-abstractions":"1.0.0","@js-soft/ts-serval":"1.0.2","@js-soft/ts-utils":"1.
|
|
10
|
+
version: "1.0.8",
|
|
11
|
+
build: "12",
|
|
12
|
+
date: "2021-11-24T08:32:50+00:00",
|
|
13
|
+
commit: "386da401efb261b7825cd45d2ba5fc74ded89b43",
|
|
14
|
+
dependencies: {"@js-soft/docdb-querytranslator":"1.0.1","@js-soft/logging-abstractions":"1.0.0","@js-soft/ts-serval":"1.0.2","@js-soft/ts-utils":"^1.1.1","@nmshd/consumption":"1.0.5","@nmshd/content":"1.0.4","@nmshd/crypto":"1.0.4","@nmshd/transport":"1.1.0","ajv":"^8.8.2","ajv-formats":"^2.1.1","fluent-ts-validator":"3.0.2","luxon":"^2.1.1","qrcode":"1.5.0","reflect-metadata":"0.1.13","ts-simple-nameof":"1.3.1","typescript-ioc":"3.2.2"},
|
|
15
15
|
libraries: {
|
|
16
16
|
serval: ts_serval_1.buildInformation,
|
|
17
17
|
consumption: consumption_1.buildInformation,
|
|
@@ -13,6 +13,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
13
13
|
__exportStar(require("./AnonymousServices"), exports);
|
|
14
14
|
__exportStar(require("./ConsumptionServices"), exports);
|
|
15
15
|
__exportStar(require("./modules/RuntimeModule"), exports);
|
|
16
|
-
__exportStar(require("./modules/
|
|
16
|
+
__exportStar(require("./modules/RuntimeModuleRegistry"), exports);
|
|
17
17
|
__exportStar(require("./TransportServices"), exports);
|
|
18
18
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/extensibility/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sDAAoC;AACpC,wDAAsC;AACtC,0DAAwC;AACxC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/extensibility/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sDAAoC;AACpC,wDAAsC;AACtC,0DAAwC;AACxC,kEAAgD;AAChD,sDAAoC"}
|
package/dist/extensibility/modules/{RuntimeModuleCollection.d.ts → RuntimeModuleRegistry.d.ts}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { RuntimeModule } from "./RuntimeModule";
|
|
2
|
-
export declare class
|
|
2
|
+
export declare class RuntimeModuleRegistry implements Iterable<RuntimeModule> {
|
|
3
3
|
private readonly modules;
|
|
4
4
|
getByName<T extends RuntimeModule>(name: string): T;
|
|
5
5
|
add(module: RuntimeModule): void;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ModulesIterator = exports.
|
|
4
|
-
class
|
|
3
|
+
exports.ModulesIterator = exports.RuntimeModuleRegistry = void 0;
|
|
4
|
+
class RuntimeModuleRegistry {
|
|
5
5
|
constructor() {
|
|
6
6
|
this.modules = [];
|
|
7
7
|
}
|
|
@@ -18,7 +18,7 @@ class RuntimeModuleCollection {
|
|
|
18
18
|
return new ModulesIterator(this.modules);
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
|
-
exports.
|
|
21
|
+
exports.RuntimeModuleRegistry = RuntimeModuleRegistry;
|
|
22
22
|
class ModulesIterator {
|
|
23
23
|
constructor(items) {
|
|
24
24
|
this.items = items;
|
|
@@ -32,4 +32,4 @@ class ModulesIterator {
|
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
exports.ModulesIterator = ModulesIterator;
|
|
35
|
-
//# sourceMappingURL=
|
|
35
|
+
//# sourceMappingURL=RuntimeModuleRegistry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RuntimeModuleRegistry.js","sourceRoot":"","sources":["../../../src/extensibility/modules/RuntimeModuleRegistry.ts"],"names":[],"mappings":";;;AAEA,MAAa,qBAAqB;IAAlC;QACqB,YAAO,GAAoB,EAAE,CAAC;IAiBnD,CAAC;IAfU,SAAS,CAA0B,IAAY;QAClD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CAAM,CAAC;IACtF,CAAC;IAEM,GAAG,CAAC,MAAqB;QAC5B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAEM,OAAO;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;IAEM,CAAC,MAAM,CAAC,QAAQ,CAAC;QACpB,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;CACJ;AAlBD,sDAkBC;AAED,MAAa,eAAe;IAGxB,YAAoC,KAAsB;QAAtB,UAAK,GAAL,KAAK,CAAiB;QAFlD,iBAAY,GAAG,CAAC,CAAC;IAEoC,CAAC;IAEvD,IAAI,CAAC,MAAY;QACpB,OAAO;YACH,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACtC,IAAI,EAAE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM;SAC9C,CAAC;IACN,CAAC;CACJ;AAXD,0CAWC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ErrorObject, ValidateFunction } from "ajv";
|
|
2
|
+
export declare class SchemaRepository {
|
|
3
|
+
private readonly compiler;
|
|
4
|
+
private schemaDefinitions;
|
|
5
|
+
private readonly jsonSchemas;
|
|
6
|
+
constructor();
|
|
7
|
+
private addCustomFormats;
|
|
8
|
+
loadSchemas(): Promise<void>;
|
|
9
|
+
getSchema(schemaName: string): JsonSchema;
|
|
10
|
+
private getValidationFunction;
|
|
11
|
+
private getSchemaDefinition;
|
|
12
|
+
}
|
|
13
|
+
export declare class JsonSchema {
|
|
14
|
+
private readonly validateSchema;
|
|
15
|
+
constructor(validateSchema: ValidateFunction);
|
|
16
|
+
validate(obj: any): {
|
|
17
|
+
isValid: boolean;
|
|
18
|
+
errors: null | ErrorObject[] | undefined;
|
|
19
|
+
};
|
|
20
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
22
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
|
+
};
|
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
+
exports.JsonSchema = exports.SchemaRepository = void 0;
|
|
26
|
+
const ajv_1 = __importDefault(require("ajv"));
|
|
27
|
+
const ajv_formats_1 = __importDefault(require("ajv-formats"));
|
|
28
|
+
const customFormats = {
|
|
29
|
+
fileId: "FIL[A-Za-z0-9]{17}",
|
|
30
|
+
relationshipId: "REL[A-Za-z0-9]{17}",
|
|
31
|
+
messageId: "MSG[A-Za-z0-9]{17}",
|
|
32
|
+
relationshipTemplateId: "RLT[A-Za-z0-9]{17}",
|
|
33
|
+
tokenId: "TOK[A-Za-z0-9]{17}",
|
|
34
|
+
relationshipChangeId: "RCH[A-Za-z0-9]{17}",
|
|
35
|
+
deviceId: "DVC[A-Za-z0-9]{17}"
|
|
36
|
+
};
|
|
37
|
+
class SchemaRepository {
|
|
38
|
+
constructor() {
|
|
39
|
+
this.jsonSchemas = new Map();
|
|
40
|
+
this.compiler = new ajv_1.default();
|
|
41
|
+
(0, ajv_formats_1.default)(this.compiler);
|
|
42
|
+
this.addCustomFormats();
|
|
43
|
+
}
|
|
44
|
+
addCustomFormats() {
|
|
45
|
+
Object.entries(customFormats).forEach(([name, format]) => {
|
|
46
|
+
this.compiler.addFormat(name, format);
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
async loadSchemas() {
|
|
50
|
+
this.schemaDefinitions = (await Promise.resolve().then(() => __importStar(require("./Schemas"))));
|
|
51
|
+
}
|
|
52
|
+
getSchema(schemaName) {
|
|
53
|
+
if (!this.jsonSchemas.has(schemaName)) {
|
|
54
|
+
this.jsonSchemas.set(schemaName, new JsonSchema(this.getValidationFunction(schemaName)));
|
|
55
|
+
}
|
|
56
|
+
return this.jsonSchemas.get(schemaName);
|
|
57
|
+
}
|
|
58
|
+
getValidationFunction(schemaName) {
|
|
59
|
+
return this.compiler.compile(this.getSchemaDefinition(schemaName));
|
|
60
|
+
}
|
|
61
|
+
getSchemaDefinition(type) {
|
|
62
|
+
const def = this.schemaDefinitions[type];
|
|
63
|
+
if (!def)
|
|
64
|
+
throw new Error(`Schema ${type} not found`);
|
|
65
|
+
return def;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
exports.SchemaRepository = SchemaRepository;
|
|
69
|
+
class JsonSchema {
|
|
70
|
+
constructor(validateSchema) {
|
|
71
|
+
this.validateSchema = validateSchema;
|
|
72
|
+
}
|
|
73
|
+
validate(obj) {
|
|
74
|
+
return { isValid: this.validateSchema(obj), errors: this.validateSchema.errors };
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
exports.JsonSchema = JsonSchema;
|
|
78
|
+
//# sourceMappingURL=SchemaRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SchemaRepository.js","sourceRoot":"","sources":["../../../src/useCases/common/SchemaRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAyD;AACzD,8DAAqC;AAGrC,MAAM,aAAa,GAA2B;IAC1C,MAAM,EAAE,oBAAoB;IAC5B,cAAc,EAAE,oBAAoB;IACpC,SAAS,EAAE,oBAAoB;IAC/B,sBAAsB,EAAE,oBAAoB;IAC5C,OAAO,EAAE,oBAAoB;IAC7B,oBAAoB,EAAE,oBAAoB;IAC1C,QAAQ,EAAE,oBAAoB;CACjC,CAAC;AAEF,MAAa,gBAAgB;IAKzB;QAFiB,gBAAW,GAAG,IAAI,GAAG,EAAsB,CAAC;QAGzD,IAAI,CAAC,QAAQ,GAAG,IAAI,aAAG,EAAE,CAAC;QAC1B,IAAA,qBAAU,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE1B,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC5B,CAAC;IAEO,gBAAgB;QACpB,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE;YACrD,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,KAAK,CAAC,WAAW;QACpB,IAAI,CAAC,iBAAiB,GAAG,CAAC,wDAAa,WAAW,GAAC,CAA+B,CAAC;IACvF,CAAC;IAEM,SAAS,CAAC,UAAkB;QAC/B,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;YACnC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,UAAU,CAAC,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;SAC5F;QAED,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC;IAC7C,CAAC;IAEO,qBAAqB,CAAC,UAAkB;QAC5C,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC;IACvE,CAAC;IAEO,mBAAmB,CAAC,IAAY;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAEzC,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,UAAU,IAAI,YAAY,CAAC,CAAC;QAEtD,OAAO,GAAG,CAAC;IACf,CAAC;CACJ;AAzCD,4CAyCC;AAED,MAAa,UAAU;IACnB,YAAoC,cAAgC;QAAhC,mBAAc,GAAd,cAAc,CAAkB;IAAG,CAAC;IAEjE,QAAQ,CAAC,GAAQ;QACpB,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;IACrF,CAAC;CACJ;AAND,gCAMC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ValidationResult } from "fluent-ts-validator";
|
|
2
|
+
import { IValidator } from ".";
|
|
3
|
+
import { JsonSchema } from "./SchemaRepository";
|
|
4
|
+
export declare class SchemaValidator<T> implements IValidator<T> {
|
|
5
|
+
private readonly schema;
|
|
6
|
+
constructor(schema: JsonSchema);
|
|
7
|
+
validate(input: T): ValidationResult;
|
|
8
|
+
private schemaErrorToValidationFailure;
|
|
9
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SchemaValidator = void 0;
|
|
4
|
+
const fluent_ts_validator_1 = require("fluent-ts-validator");
|
|
5
|
+
class SchemaValidator {
|
|
6
|
+
constructor(schema) {
|
|
7
|
+
this.schema = schema;
|
|
8
|
+
}
|
|
9
|
+
validate(input) {
|
|
10
|
+
const validationResult = this.schema.validate(input);
|
|
11
|
+
const result = new fluent_ts_validator_1.ValidationResult();
|
|
12
|
+
if (validationResult.isValid) {
|
|
13
|
+
return result;
|
|
14
|
+
}
|
|
15
|
+
result.addFailures(validationResult.errors.map(this.schemaErrorToValidationFailure));
|
|
16
|
+
return result;
|
|
17
|
+
}
|
|
18
|
+
schemaErrorToValidationFailure(err, target) {
|
|
19
|
+
const errorMessage = `${err.instancePath} ${err.message}`.replace(/^\//, "").replace(/"/g, "");
|
|
20
|
+
return new fluent_ts_validator_1.ValidationFailure(target, err.instancePath, undefined, undefined, errorMessage);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.SchemaValidator = SchemaValidator;
|
|
24
|
+
//# sourceMappingURL=SchemaValidator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SchemaValidator.js","sourceRoot":"","sources":["../../../src/useCases/common/SchemaValidator.ts"],"names":[],"mappings":";;;AACA,6DAA0E;AAI1E,MAAa,eAAe;IACxB,YAAoC,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;IAAG,CAAC;IAEnD,QAAQ,CAAC,KAAQ;QACpB,MAAM,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,IAAI,sCAAgB,EAAE,CAAC;QAEtC,IAAI,gBAAgB,CAAC,OAAO,EAAE;YAC1B,OAAO,MAAM,CAAC;SACjB;QAED,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,MAAO,CAAC,GAAG,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC;QAEtF,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,8BAA8B,CAAI,GAAgB,EAAE,MAAS;QACjE,MAAM,YAAY,GAAG,GAAG,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAE/F,OAAO,IAAI,uCAAiB,CAAC,MAAM,EAAE,GAAG,CAAC,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;IAC/F,CAAC;CACJ;AArBD,0CAqBC"}
|