jitar 0.1.3 → 0.2.1
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/CHANGELOG.md +49 -0
- package/dist/core/types/Component.d.ts +1 -1
- package/dist/core/types/FlexObject.d.ts +1 -1
- package/dist/core/types/Module.d.ts +1 -1
- package/dist/core/types/SegmentImplementation.d.ts +1 -1
- package/dist/core/types/SegmentModule.d.ts +1 -1
- package/dist/core/types/SegmentProcedure.d.ts +1 -1
- package/dist/lib.d.ts +28 -1
- package/dist/lib.js +25 -1
- package/dist/runtime/LocalGateway.d.ts +2 -0
- package/dist/runtime/LocalGateway.js +7 -0
- package/dist/runtime/caching/types/SegmentFile.d.ts +1 -1
- package/dist/runtime/caching/types/SegmentImportProperties.d.ts +1 -1
- package/dist/runtime/caching/types/SegmentImports.d.ts +1 -1
- package/dist/runtime/serialization/ArrayBufferSerializer.d.ts +10 -0
- package/dist/runtime/serialization/ArrayBufferSerializer.js +54 -0
- package/dist/runtime/serialization/DateSerializer.d.ts +9 -0
- package/dist/runtime/serialization/DateSerializer.js +21 -0
- package/dist/runtime/serialization/ValueSerializer.d.ts +1 -0
- package/dist/runtime/serialization/ValueSerializer.js +24 -1
- package/dist/runtime/serialization/types/SerializableObject.d.ts +1 -1
- package/dist/runtime/serialization/types/Serialized.d.ts +1 -1
- package/dist/runtime/serialization/types/SerializedArrayBuffer.d.ts +6 -0
- package/dist/runtime/serialization/types/SerializedArrayBuffer.js +1 -0
- package/dist/runtime/serialization/types/SerializedClass.d.ts +1 -1
- package/dist/runtime/serialization/types/SerializedDate.d.ts +5 -0
- package/dist/runtime/serialization/types/SerializedDate.js +1 -0
- package/dist/runtime/serialization/types/SerializedMap.d.ts +1 -1
- package/dist/runtime/serialization/types/SerializedObject.d.ts +1 -1
- package/dist/runtime/serialization/types/SerializedSet.d.ts +1 -1
- package/dist/runtime/serialization/types/TypedArray.d.ts +2 -0
- package/dist/runtime/serialization/types/TypedArray.js +1 -0
- package/dist/runtime/types/JitarHooks.d.ts +1 -1
- package/dist/runtime/types/ModuleImporter.d.ts +1 -1
- package/dist/runtime/utils/ModuleLoader.js +1 -1
- package/package.json +4 -22
- package/dist/server/JitarServer.d.ts +0 -8
- package/dist/server/JitarServer.js +0 -109
- package/dist/server/configuration/GatewayConfiguration.d.ts +0 -3
- package/dist/server/configuration/GatewayConfiguration.js +0 -18
- package/dist/server/configuration/NodeConfiguration.d.ts +0 -5
- package/dist/server/configuration/NodeConfiguration.js +0 -28
- package/dist/server/configuration/ProxyConfiguration.d.ts +0 -5
- package/dist/server/configuration/ProxyConfiguration.js +0 -29
- package/dist/server/configuration/RepositoryConfiguration.d.ts +0 -6
- package/dist/server/configuration/RepositoryConfiguration.js +0 -36
- package/dist/server/configuration/RuntimeConfiguration.d.ts +0 -13
- package/dist/server/configuration/RuntimeConfiguration.js +0 -48
- package/dist/server/configuration/ServerOptions.d.ts +0 -4
- package/dist/server/configuration/ServerOptions.js +0 -25
- package/dist/server/configuration/StandaloneConfiguration.d.ts +0 -7
- package/dist/server/configuration/StandaloneConfiguration.js +0 -42
- package/dist/server/controllers/AssetsController.d.ts +0 -8
- package/dist/server/controllers/AssetsController.js +0 -50
- package/dist/server/controllers/HealthController.d.ts +0 -10
- package/dist/server/controllers/HealthController.js +0 -47
- package/dist/server/controllers/JitarController.d.ts +0 -4
- package/dist/server/controllers/JitarController.js +0 -26
- package/dist/server/controllers/ModulesController.d.ts +0 -10
- package/dist/server/controllers/ModulesController.js +0 -68
- package/dist/server/controllers/NodesController.d.ts +0 -9
- package/dist/server/controllers/NodesController.js +0 -60
- package/dist/server/controllers/ProceduresController.d.ts +0 -10
- package/dist/server/controllers/ProceduresController.js +0 -35
- package/dist/server/controllers/ProxyController.d.ts +0 -7
- package/dist/server/controllers/ProxyController.js +0 -37
- package/dist/server/controllers/RPCController.d.ts +0 -9
- package/dist/server/controllers/RPCController.js +0 -146
- package/dist/server/definitions/RuntimeDefaults.d.ts +0 -7
- package/dist/server/definitions/RuntimeDefaults.js +0 -8
- package/dist/server/errors/MissingConfigurationValue.d.ts +0 -3
- package/dist/server/errors/MissingConfigurationValue.js +0 -5
- package/dist/server/errors/RuntimeNotAvaiable.d.ts +0 -3
- package/dist/server/errors/RuntimeNotAvaiable.js +0 -5
- package/dist/server/errors/UnknownRuntimeMode.d.ts +0 -3
- package/dist/server/errors/UnknownRuntimeMode.js +0 -5
- package/dist/server/models/HealthDto.d.ts +0 -4
- package/dist/server/models/HealthDto.js +0 -22
- package/dist/server/models/NodeDto.d.ts +0 -4
- package/dist/server/models/NodeDto.js +0 -22
- package/dist/server/utils/DataConverter.d.ts +0 -4
- package/dist/server/utils/DataConverter.js +0 -9
- package/dist/server/utils/LocalFileManager.d.ts +0 -21
- package/dist/server/utils/LocalFileManager.js +0 -81
- package/dist/server/utils/RuntimeConfigurationLoader.d.ts +0 -4
- package/dist/server/utils/RuntimeConfigurationLoader.js +0 -11
- package/dist/server/utils/RuntimeConfigurator.d.ts +0 -6
- package/dist/server/utils/RuntimeConfigurator.js +0 -135
- package/dist/server/utils/ServerOptionsReader.d.ts +0 -4
- package/dist/server/utils/ServerOptionsReader.js +0 -10
- package/dist/server.d.ts +0 -3
- package/dist/server.js +0 -8
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
import { Server as OvernightServer } from '@overnightjs/core';
|
|
2
|
-
import bodyParser from 'body-parser';
|
|
3
|
-
import { Logger } from 'tslog';
|
|
4
|
-
import LocalGateway from '../runtime/LocalGateway.js';
|
|
5
|
-
import LocalNode from '../runtime/LocalNode.js';
|
|
6
|
-
import LocalRepository from '../runtime/LocalRepository.js';
|
|
7
|
-
import Proxy from '../runtime/Proxy.js';
|
|
8
|
-
import RuntimeConfigurationLoader from './utils/RuntimeConfigurationLoader.js';
|
|
9
|
-
import RuntimeConfigurator from './utils/RuntimeConfigurator.js';
|
|
10
|
-
import ServerOptionsReader from './utils/ServerOptionsReader.js';
|
|
11
|
-
import AssetsController from './controllers/AssetsController.js';
|
|
12
|
-
import HealthController from './controllers/HealthController.js';
|
|
13
|
-
import JitarController from './controllers/JitarController.js';
|
|
14
|
-
import ModulesController from './controllers/ModulesController.js';
|
|
15
|
-
import NodesController from './controllers/NodesController.js';
|
|
16
|
-
import ProceduresController from './controllers/ProceduresController.js';
|
|
17
|
-
import ProxyController from './controllers/ProxyController.js';
|
|
18
|
-
import RPCController from './controllers/RPCController.js';
|
|
19
|
-
import RuntimeDefaults from './definitions/RuntimeDefaults.js';
|
|
20
|
-
import RuntimeNotAvaiable from './errors/RuntimeNotAvaiable.js';
|
|
21
|
-
const STARTUP_MESSAGE = `
|
|
22
|
-
██ ██ ████████ █████ ██████
|
|
23
|
-
██ ██ ██ ██ ██ ██ ██
|
|
24
|
-
██ ██ ██ ███████ ██████
|
|
25
|
-
██ ██ ██ ██ ██ ██ ██ ██
|
|
26
|
-
█████ ██ ██ ██ ██ ██ ██
|
|
27
|
-
____________________________________
|
|
28
|
-
By Masking Technology (masking.tech)
|
|
29
|
-
`;
|
|
30
|
-
export default class JitarServer extends OvernightServer {
|
|
31
|
-
#runtime;
|
|
32
|
-
constructor() {
|
|
33
|
-
super(false);
|
|
34
|
-
this.app.use(bodyParser.json());
|
|
35
|
-
this.app.use(bodyParser.urlencoded({ extended: true }));
|
|
36
|
-
}
|
|
37
|
-
async start() {
|
|
38
|
-
console.log(STARTUP_MESSAGE);
|
|
39
|
-
const options = await ServerOptionsReader.read();
|
|
40
|
-
const configuration = await RuntimeConfigurationLoader.load(options.config);
|
|
41
|
-
const runtime = await RuntimeConfigurator.configure(configuration);
|
|
42
|
-
const logger = this.#createLogger(options.loglevel);
|
|
43
|
-
this.#addControllers(configuration, runtime, logger);
|
|
44
|
-
const url = new URL(configuration.url ?? RuntimeDefaults.URL);
|
|
45
|
-
await this.#startServer(url.port);
|
|
46
|
-
this.#runtime = runtime;
|
|
47
|
-
logger.info(`Server started and listening at port ${url.port}`);
|
|
48
|
-
}
|
|
49
|
-
addHealthCheck(name, healthCheck) {
|
|
50
|
-
if (this.#runtime === undefined) {
|
|
51
|
-
throw new RuntimeNotAvaiable();
|
|
52
|
-
}
|
|
53
|
-
this.#runtime.addHealthCheck(name, healthCheck);
|
|
54
|
-
}
|
|
55
|
-
#createLogger(level) {
|
|
56
|
-
return new Logger({
|
|
57
|
-
displayFilePath: 'hidden',
|
|
58
|
-
minLevel: level
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
#addControllers(configuration, runtime, logger) {
|
|
62
|
-
if (configuration.standalone !== undefined && runtime instanceof Proxy) {
|
|
63
|
-
const index = configuration.standalone.index ?? RuntimeDefaults.INDEX;
|
|
64
|
-
this.#addStandAloneControllers(runtime, logger, index);
|
|
65
|
-
}
|
|
66
|
-
else if (configuration.repository !== undefined && runtime instanceof LocalRepository) {
|
|
67
|
-
const index = configuration.repository.index ?? RuntimeDefaults.INDEX;
|
|
68
|
-
this.#addRepositoryControllers(runtime, logger, index);
|
|
69
|
-
}
|
|
70
|
-
else if (configuration.gateway !== undefined && runtime instanceof LocalGateway) {
|
|
71
|
-
this.#addGatewayControllers(runtime, logger);
|
|
72
|
-
}
|
|
73
|
-
else if (configuration.node !== undefined && runtime instanceof LocalNode) {
|
|
74
|
-
this.#addNodeControllers(runtime, logger);
|
|
75
|
-
}
|
|
76
|
-
else if (configuration.proxy !== undefined && runtime instanceof Proxy) {
|
|
77
|
-
this.#addProxyControllers(runtime, logger);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
#addStandAloneControllers(proxy, logger, index) {
|
|
81
|
-
super.addControllers(new HealthController(proxy, logger));
|
|
82
|
-
super.addControllers(new JitarController(this.app));
|
|
83
|
-
super.addControllers(new ModulesController(proxy, logger));
|
|
84
|
-
super.addControllers(new ProceduresController(proxy, logger));
|
|
85
|
-
super.addControllers(new RPCController(proxy, logger, true));
|
|
86
|
-
super.addControllers(new AssetsController(this.app, proxy, index, logger));
|
|
87
|
-
}
|
|
88
|
-
#addRepositoryControllers(repository, logger, index) {
|
|
89
|
-
super.addControllers(new JitarController(this.app));
|
|
90
|
-
super.addControllers(new ModulesController(repository, logger));
|
|
91
|
-
super.addControllers(new AssetsController(this.app, repository, index, logger));
|
|
92
|
-
}
|
|
93
|
-
#addGatewayControllers(gateway, logger) {
|
|
94
|
-
super.addControllers(new NodesController(gateway, logger));
|
|
95
|
-
super.addControllers(new ProceduresController(gateway, logger));
|
|
96
|
-
super.addControllers(new RPCController(gateway, logger, false));
|
|
97
|
-
}
|
|
98
|
-
#addNodeControllers(node, logger) {
|
|
99
|
-
super.addControllers(new HealthController(node, logger));
|
|
100
|
-
super.addControllers(new ProceduresController(node, logger));
|
|
101
|
-
super.addControllers(new RPCController(node, logger, true));
|
|
102
|
-
}
|
|
103
|
-
#addProxyControllers(proxy, logger) {
|
|
104
|
-
super.addControllers(new ProxyController(this.app, proxy, logger));
|
|
105
|
-
}
|
|
106
|
-
async #startServer(port) {
|
|
107
|
-
return new Promise(resolve => { this.app.listen(port, resolve); });
|
|
108
|
-
}
|
|
109
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
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;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
-
};
|
|
10
|
-
import { IsOptional, IsNumber } from 'class-validator';
|
|
11
|
-
export default class GatewayConfiguration {
|
|
12
|
-
monitor;
|
|
13
|
-
}
|
|
14
|
-
__decorate([
|
|
15
|
-
IsNumber(),
|
|
16
|
-
IsOptional(),
|
|
17
|
-
__metadata("design:type", Number)
|
|
18
|
-
], GatewayConfiguration.prototype, "monitor", void 0);
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
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;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
-
};
|
|
10
|
-
import { IsArray, IsUrl, IsOptional } from 'class-validator';
|
|
11
|
-
export default class NodeConfiguration {
|
|
12
|
-
gateway;
|
|
13
|
-
repository = '';
|
|
14
|
-
segments;
|
|
15
|
-
}
|
|
16
|
-
__decorate([
|
|
17
|
-
IsUrl(),
|
|
18
|
-
IsOptional(),
|
|
19
|
-
__metadata("design:type", String)
|
|
20
|
-
], NodeConfiguration.prototype, "gateway", void 0);
|
|
21
|
-
__decorate([
|
|
22
|
-
IsUrl(),
|
|
23
|
-
__metadata("design:type", Object)
|
|
24
|
-
], NodeConfiguration.prototype, "repository", void 0);
|
|
25
|
-
__decorate([
|
|
26
|
-
IsArray(),
|
|
27
|
-
__metadata("design:type", Array)
|
|
28
|
-
], NodeConfiguration.prototype, "segments", void 0);
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
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;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
-
};
|
|
10
|
-
import { IsUrl, IsOptional } from 'class-validator';
|
|
11
|
-
export default class ProxyConfiguration {
|
|
12
|
-
node;
|
|
13
|
-
gateway;
|
|
14
|
-
repository;
|
|
15
|
-
}
|
|
16
|
-
__decorate([
|
|
17
|
-
IsUrl(),
|
|
18
|
-
IsOptional(),
|
|
19
|
-
__metadata("design:type", String)
|
|
20
|
-
], ProxyConfiguration.prototype, "node", void 0);
|
|
21
|
-
__decorate([
|
|
22
|
-
IsUrl(),
|
|
23
|
-
IsOptional(),
|
|
24
|
-
__metadata("design:type", String)
|
|
25
|
-
], ProxyConfiguration.prototype, "gateway", void 0);
|
|
26
|
-
__decorate([
|
|
27
|
-
IsUrl(),
|
|
28
|
-
__metadata("design:type", String)
|
|
29
|
-
], ProxyConfiguration.prototype, "repository", void 0);
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
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;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
-
};
|
|
10
|
-
import { IsArray, IsOptional, IsString } from 'class-validator';
|
|
11
|
-
export default class RepositoryConfiguration {
|
|
12
|
-
source;
|
|
13
|
-
cache;
|
|
14
|
-
index;
|
|
15
|
-
assets;
|
|
16
|
-
}
|
|
17
|
-
__decorate([
|
|
18
|
-
IsString(),
|
|
19
|
-
IsOptional(),
|
|
20
|
-
__metadata("design:type", String)
|
|
21
|
-
], RepositoryConfiguration.prototype, "source", void 0);
|
|
22
|
-
__decorate([
|
|
23
|
-
IsString(),
|
|
24
|
-
IsOptional(),
|
|
25
|
-
__metadata("design:type", String)
|
|
26
|
-
], RepositoryConfiguration.prototype, "cache", void 0);
|
|
27
|
-
__decorate([
|
|
28
|
-
IsString(),
|
|
29
|
-
IsOptional(),
|
|
30
|
-
__metadata("design:type", String)
|
|
31
|
-
], RepositoryConfiguration.prototype, "index", void 0);
|
|
32
|
-
__decorate([
|
|
33
|
-
IsArray(),
|
|
34
|
-
IsOptional(),
|
|
35
|
-
__metadata("design:type", Array)
|
|
36
|
-
], RepositoryConfiguration.prototype, "assets", void 0);
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import GatewayConfiguration from './GatewayConfiguration.js';
|
|
2
|
-
import NodeConfiguration from './NodeConfiguration.js';
|
|
3
|
-
import ProxyConfiguration from './ProxyConfiguration.js';
|
|
4
|
-
import RepositoryConfiguration from './RepositoryConfiguration.js';
|
|
5
|
-
import StandaloneConfiguration from './StandaloneConfiguration.js';
|
|
6
|
-
export default class RuntimeConfiguration {
|
|
7
|
-
url?: string;
|
|
8
|
-
standalone?: StandaloneConfiguration;
|
|
9
|
-
repository?: RepositoryConfiguration;
|
|
10
|
-
gateway?: GatewayConfiguration;
|
|
11
|
-
node?: NodeConfiguration;
|
|
12
|
-
proxy?: ProxyConfiguration;
|
|
13
|
-
}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
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;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
-
};
|
|
10
|
-
import { IsOptional, IsUrl } from 'class-validator';
|
|
11
|
-
import GatewayConfiguration from './GatewayConfiguration.js';
|
|
12
|
-
import NodeConfiguration from './NodeConfiguration.js';
|
|
13
|
-
import ProxyConfiguration from './ProxyConfiguration.js';
|
|
14
|
-
import RepositoryConfiguration from './RepositoryConfiguration.js';
|
|
15
|
-
import StandaloneConfiguration from './StandaloneConfiguration.js';
|
|
16
|
-
export default class RuntimeConfiguration {
|
|
17
|
-
url;
|
|
18
|
-
standalone;
|
|
19
|
-
repository;
|
|
20
|
-
gateway;
|
|
21
|
-
node;
|
|
22
|
-
proxy;
|
|
23
|
-
}
|
|
24
|
-
__decorate([
|
|
25
|
-
IsUrl(),
|
|
26
|
-
IsOptional(),
|
|
27
|
-
__metadata("design:type", String)
|
|
28
|
-
], RuntimeConfiguration.prototype, "url", void 0);
|
|
29
|
-
__decorate([
|
|
30
|
-
IsOptional(),
|
|
31
|
-
__metadata("design:type", StandaloneConfiguration)
|
|
32
|
-
], RuntimeConfiguration.prototype, "standalone", void 0);
|
|
33
|
-
__decorate([
|
|
34
|
-
IsOptional(),
|
|
35
|
-
__metadata("design:type", RepositoryConfiguration)
|
|
36
|
-
], RuntimeConfiguration.prototype, "repository", void 0);
|
|
37
|
-
__decorate([
|
|
38
|
-
IsOptional(),
|
|
39
|
-
__metadata("design:type", GatewayConfiguration)
|
|
40
|
-
], RuntimeConfiguration.prototype, "gateway", void 0);
|
|
41
|
-
__decorate([
|
|
42
|
-
IsOptional(),
|
|
43
|
-
__metadata("design:type", NodeConfiguration)
|
|
44
|
-
], RuntimeConfiguration.prototype, "node", void 0);
|
|
45
|
-
__decorate([
|
|
46
|
-
IsOptional(),
|
|
47
|
-
__metadata("design:type", ProxyConfiguration)
|
|
48
|
-
], RuntimeConfiguration.prototype, "proxy", void 0);
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
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;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
-
};
|
|
10
|
-
import { Contains, IsOptional, IsString } from 'class-validator';
|
|
11
|
-
export default class ServerOptions {
|
|
12
|
-
loglevel = 'info';
|
|
13
|
-
config = 'config.json';
|
|
14
|
-
}
|
|
15
|
-
__decorate([
|
|
16
|
-
IsString(),
|
|
17
|
-
IsOptional(),
|
|
18
|
-
__metadata("design:type", Object)
|
|
19
|
-
], ServerOptions.prototype, "loglevel", void 0);
|
|
20
|
-
__decorate([
|
|
21
|
-
IsString(),
|
|
22
|
-
Contains('.json'),
|
|
23
|
-
IsOptional(),
|
|
24
|
-
__metadata("design:type", Object)
|
|
25
|
-
], ServerOptions.prototype, "config", void 0);
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
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;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
-
};
|
|
10
|
-
import { IsArray, IsOptional, IsString } from 'class-validator';
|
|
11
|
-
export default class StandaloneConfiguration {
|
|
12
|
-
source;
|
|
13
|
-
cache;
|
|
14
|
-
index;
|
|
15
|
-
segments;
|
|
16
|
-
assets;
|
|
17
|
-
}
|
|
18
|
-
__decorate([
|
|
19
|
-
IsString(),
|
|
20
|
-
IsOptional(),
|
|
21
|
-
__metadata("design:type", String)
|
|
22
|
-
], StandaloneConfiguration.prototype, "source", void 0);
|
|
23
|
-
__decorate([
|
|
24
|
-
IsString(),
|
|
25
|
-
IsOptional(),
|
|
26
|
-
__metadata("design:type", String)
|
|
27
|
-
], StandaloneConfiguration.prototype, "cache", void 0);
|
|
28
|
-
__decorate([
|
|
29
|
-
IsString(),
|
|
30
|
-
IsOptional(),
|
|
31
|
-
__metadata("design:type", String)
|
|
32
|
-
], StandaloneConfiguration.prototype, "index", void 0);
|
|
33
|
-
__decorate([
|
|
34
|
-
IsArray(),
|
|
35
|
-
IsOptional(),
|
|
36
|
-
__metadata("design:type", Array)
|
|
37
|
-
], StandaloneConfiguration.prototype, "segments", void 0);
|
|
38
|
-
__decorate([
|
|
39
|
-
IsArray(),
|
|
40
|
-
IsOptional(),
|
|
41
|
-
__metadata("design:type", Array)
|
|
42
|
-
], StandaloneConfiguration.prototype, "assets", void 0);
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import express from 'express';
|
|
2
|
-
import { Logger } from 'tslog';
|
|
3
|
-
import LocalRepository from '../../runtime/LocalRepository.js';
|
|
4
|
-
import Proxy from '../../runtime/Proxy.js';
|
|
5
|
-
export default class AssetsController {
|
|
6
|
-
#private;
|
|
7
|
-
constructor(app: express.Application, repository: LocalRepository | Proxy, indexFile: string, logger: Logger);
|
|
8
|
-
}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
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;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
-
};
|
|
10
|
-
import { Controller } from '@overnightjs/core';
|
|
11
|
-
import express from 'express';
|
|
12
|
-
import { Logger } from 'tslog';
|
|
13
|
-
import FileNotFound from '../../runtime/errors/FileNotFound.js';
|
|
14
|
-
let AssetsController = class AssetsController {
|
|
15
|
-
#repository;
|
|
16
|
-
#indexFile;
|
|
17
|
-
#logger;
|
|
18
|
-
constructor(app, repository, indexFile, logger) {
|
|
19
|
-
this.#repository = repository;
|
|
20
|
-
this.#indexFile = indexFile;
|
|
21
|
-
this.#logger = logger;
|
|
22
|
-
app.get('*', (request, response) => { this.#getContent(request, response); });
|
|
23
|
-
}
|
|
24
|
-
async #getContent(request, response) {
|
|
25
|
-
this.#logger.info(`Got asset -> '${request.path}'`);
|
|
26
|
-
const path = request.path.substring(1).trim();
|
|
27
|
-
const filename = path.length === 0 ? this.#indexFile : path;
|
|
28
|
-
try {
|
|
29
|
-
const file = await this.#repository.loadAsset(filename);
|
|
30
|
-
response.set('Content-Type', file.type);
|
|
31
|
-
response.set('Content-Length', String(file.size));
|
|
32
|
-
response.status(200).send(file.content);
|
|
33
|
-
}
|
|
34
|
-
catch (error) {
|
|
35
|
-
if (error instanceof FileNotFound) {
|
|
36
|
-
this.#logger.warn(`Failed to get asset -> '${filename}' | ${error.message}`);
|
|
37
|
-
response.status(404).send(error.message);
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
41
|
-
this.#logger.error(`Failed to get file content -> '${filename}' | ${message}`);
|
|
42
|
-
response.status(500).send(message);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
AssetsController = __decorate([
|
|
47
|
-
Controller(''),
|
|
48
|
-
__metadata("design:paramtypes", [Function, Object, String, Logger])
|
|
49
|
-
], AssetsController);
|
|
50
|
-
export default AssetsController;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { Request, Response } from 'express';
|
|
2
|
-
import { Logger } from 'tslog';
|
|
3
|
-
import LocalNode from '../../runtime/LocalNode.js';
|
|
4
|
-
import Proxy from '../../runtime/Proxy.js';
|
|
5
|
-
export default class HealthController {
|
|
6
|
-
#private;
|
|
7
|
-
constructor(node: LocalNode | Proxy, logger: Logger);
|
|
8
|
-
getHealth(request: Request, response: Response): Promise<Response>;
|
|
9
|
-
isHealthy(request: Request, response: Response): Promise<Response>;
|
|
10
|
-
}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
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;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
-
};
|
|
10
|
-
import { Controller, Get } from '@overnightjs/core';
|
|
11
|
-
import { Logger } from 'tslog';
|
|
12
|
-
let HealthController = class HealthController {
|
|
13
|
-
#node;
|
|
14
|
-
#logger;
|
|
15
|
-
constructor(node, logger) {
|
|
16
|
-
this.#node = node;
|
|
17
|
-
this.#logger = logger;
|
|
18
|
-
}
|
|
19
|
-
async getHealth(request, response) {
|
|
20
|
-
const health = await this.#node.getHealth();
|
|
21
|
-
const data = Object.fromEntries(health);
|
|
22
|
-
this.#logger.debug('Got health');
|
|
23
|
-
return response.status(200).send(data);
|
|
24
|
-
}
|
|
25
|
-
async isHealthy(request, response) {
|
|
26
|
-
const healthy = await this.#node.isHealthy();
|
|
27
|
-
this.#logger.debug('Got health status');
|
|
28
|
-
return response.status(200).send(healthy);
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
__decorate([
|
|
32
|
-
Get(),
|
|
33
|
-
__metadata("design:type", Function),
|
|
34
|
-
__metadata("design:paramtypes", [Object, Object]),
|
|
35
|
-
__metadata("design:returntype", Promise)
|
|
36
|
-
], HealthController.prototype, "getHealth", null);
|
|
37
|
-
__decorate([
|
|
38
|
-
Get('status'),
|
|
39
|
-
__metadata("design:type", Function),
|
|
40
|
-
__metadata("design:paramtypes", [Object, Object]),
|
|
41
|
-
__metadata("design:returntype", Promise)
|
|
42
|
-
], HealthController.prototype, "isHealthy", null);
|
|
43
|
-
HealthController = __decorate([
|
|
44
|
-
Controller('health'),
|
|
45
|
-
__metadata("design:paramtypes", [Object, Logger])
|
|
46
|
-
], HealthController);
|
|
47
|
-
export default HealthController;
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
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;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
-
};
|
|
10
|
-
import { Controller } from '@overnightjs/core';
|
|
11
|
-
import express from 'express';
|
|
12
|
-
import path from 'path';
|
|
13
|
-
import { fileURLToPath } from 'url';
|
|
14
|
-
const filePath = fileURLToPath(import.meta.url);
|
|
15
|
-
const fileLocation = path.dirname(filePath);
|
|
16
|
-
const rootLocation = path.join(fileLocation, '../../');
|
|
17
|
-
let JitarController = class JitarController {
|
|
18
|
-
constructor(app) {
|
|
19
|
-
app.use('/jitar', express.static(rootLocation));
|
|
20
|
-
}
|
|
21
|
-
};
|
|
22
|
-
JitarController = __decorate([
|
|
23
|
-
Controller(''),
|
|
24
|
-
__metadata("design:paramtypes", [Function])
|
|
25
|
-
], JitarController);
|
|
26
|
-
export default JitarController;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { Request, Response } from 'express';
|
|
2
|
-
import { Logger } from 'tslog';
|
|
3
|
-
import LocalRepository from '../../runtime/LocalRepository.js';
|
|
4
|
-
import Proxy from '../../runtime/Proxy.js';
|
|
5
|
-
export default class ModulesController {
|
|
6
|
-
#private;
|
|
7
|
-
constructor(repository: LocalRepository | Proxy, logger: Logger);
|
|
8
|
-
registerClient(request: Request, response: Response): Promise<Response>;
|
|
9
|
-
getModule(request: Request, response: Response): Promise<Response>;
|
|
10
|
-
}
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
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;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
-
};
|
|
10
|
-
import { Controller, Get, Post } from '@overnightjs/core';
|
|
11
|
-
import { Logger } from 'tslog';
|
|
12
|
-
import ClientId from '../../runtime/ClientId.js';
|
|
13
|
-
import ValueSerializer from '../../runtime/serialization/ValueSerializer.js';
|
|
14
|
-
let ModulesController = class ModulesController {
|
|
15
|
-
#repository;
|
|
16
|
-
#logger;
|
|
17
|
-
constructor(repository, logger) {
|
|
18
|
-
this.#repository = repository;
|
|
19
|
-
this.#logger = logger;
|
|
20
|
-
}
|
|
21
|
-
async registerClient(request, response) {
|
|
22
|
-
if ((request.body instanceof Array) === false) {
|
|
23
|
-
}
|
|
24
|
-
const segmentFiles = request.body;
|
|
25
|
-
const clientId = await this.#repository.registerClient(segmentFiles);
|
|
26
|
-
this.#logger.info(`Registered client -> ${clientId} [${segmentFiles.join(',')}]`);
|
|
27
|
-
return response.status(200).send(clientId);
|
|
28
|
-
}
|
|
29
|
-
async getModule(request, response) {
|
|
30
|
-
const clientId = request.params.clientId;
|
|
31
|
-
if (typeof clientId !== 'string' || ClientId.validate(clientId) === false) {
|
|
32
|
-
return response.status(400).send('Invalid client id.');
|
|
33
|
-
}
|
|
34
|
-
const pathKey = `/${clientId}/`;
|
|
35
|
-
const pathIndex = request.path.indexOf(pathKey) + pathKey.length;
|
|
36
|
-
const filename = request.path.substring(pathIndex);
|
|
37
|
-
try {
|
|
38
|
-
const file = await this.#repository.loadModule(clientId, filename);
|
|
39
|
-
this.#logger.info(`Got module -> '${filename}' (${clientId})`);
|
|
40
|
-
response.set('Content-Type', file.type);
|
|
41
|
-
return response.status(200).send(file.content);
|
|
42
|
-
}
|
|
43
|
-
catch (error) {
|
|
44
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
45
|
-
this.#logger.error(`Failed to get module -> '${filename}' (${clientId}) | ${message}`);
|
|
46
|
-
const data = ValueSerializer.serialize(error);
|
|
47
|
-
response.setHeader('Content-Type', 'application/json');
|
|
48
|
-
return response.status(500).send(data);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
|
-
__decorate([
|
|
53
|
-
Post(),
|
|
54
|
-
__metadata("design:type", Function),
|
|
55
|
-
__metadata("design:paramtypes", [Object, Object]),
|
|
56
|
-
__metadata("design:returntype", Promise)
|
|
57
|
-
], ModulesController.prototype, "registerClient", null);
|
|
58
|
-
__decorate([
|
|
59
|
-
Get(':clientId/*'),
|
|
60
|
-
__metadata("design:type", Function),
|
|
61
|
-
__metadata("design:paramtypes", [Object, Object]),
|
|
62
|
-
__metadata("design:returntype", Promise)
|
|
63
|
-
], ModulesController.prototype, "getModule", null);
|
|
64
|
-
ModulesController = __decorate([
|
|
65
|
-
Controller('modules'),
|
|
66
|
-
__metadata("design:paramtypes", [Object, Logger])
|
|
67
|
-
], ModulesController);
|
|
68
|
-
export default ModulesController;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { Request, Response } from 'express';
|
|
2
|
-
import { Logger } from 'tslog';
|
|
3
|
-
import LocalGateway from '../../runtime/LocalGateway.js';
|
|
4
|
-
export default class NodesController {
|
|
5
|
-
#private;
|
|
6
|
-
constructor(gateway: LocalGateway, logger: Logger);
|
|
7
|
-
getNodes(request: Request, response: Response): Promise<Response>;
|
|
8
|
-
add(request: Request, response: Response): Promise<Response>;
|
|
9
|
-
}
|