@rsdk/core 1.0.12 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +50 -0
- package/dist/app/platform.app.d.ts +1 -1
- package/dist/app/platform.app.js +3 -25
- package/dist/app/platform.app.js.map +1 -1
- package/dist/app-metadata/app-metadata.module.js.map +1 -1
- package/dist/app-metadata/exceptions/app-name-validation.exception.js.map +1 -1
- package/dist/config/additional-source/additional-source.initializer.d.ts +6 -2
- package/dist/config/additional-source/additional-source.initializer.js +24 -18
- package/dist/config/additional-source/additional-source.initializer.js.map +1 -1
- package/dist/config/additional-source/additional-source.module.d.ts +1 -1
- package/dist/config/additional-source/additional-source.module.js +3 -1
- package/dist/config/additional-source/additional-source.module.js.map +1 -1
- package/dist/config/config-reload.indicator.d.ts +3 -2
- package/dist/config/config-reload.indicator.js +4 -3
- package/dist/config/config-reload.indicator.js.map +1 -1
- package/dist/config/config.abstract.d.ts +3 -2
- package/dist/config/config.abstract.js +3 -3
- package/dist/config/config.abstract.js.map +1 -1
- package/dist/config/config.module.d.ts +0 -81
- package/dist/config/config.module.js +26 -203
- package/dist/config/config.module.js.map +1 -1
- package/dist/config/context/config.context.d.ts +75 -0
- package/dist/config/context/config.context.js +159 -0
- package/dist/config/context/config.context.js.map +1 -0
- package/dist/config/context/module.d.ts +5 -0
- package/dist/config/context/module.js +26 -0
- package/dist/config/context/module.js.map +1 -0
- package/dist/config/exceptions/config-not-bootstrapped.exception.js.map +1 -1
- package/dist/config/exceptions/property.exception.d.ts +9 -2
- package/dist/config/exceptions/property.exception.js +4 -6
- package/dist/config/exceptions/property.exception.js.map +1 -1
- package/dist/config/index.d.ts +1 -0
- package/dist/config/index.js +3 -1
- package/dist/config/index.js.map +1 -1
- package/dist/config/metadata/config-metadata.provider.d.ts +21 -0
- package/dist/config/metadata/config-metadata.provider.js +37 -0
- package/dist/config/metadata/config-metadata.provider.js.map +1 -0
- package/dist/config/metadata/config-metadata.registry.d.ts +1 -9
- package/dist/config/metadata/config-metadata.registry.js +9 -28
- package/dist/config/metadata/config-metadata.registry.js.map +1 -1
- package/dist/config/metadata/constants.d.ts +3 -0
- package/dist/config/metadata/constants.js +7 -0
- package/dist/config/metadata/constants.js.map +1 -0
- package/dist/config/metadata/decorators/declare-property.decorator.js +2 -2
- package/dist/config/metadata/decorators/declare-property.decorator.js.map +1 -1
- package/dist/config/metadata/decorators/inject-property.decorator.d.ts +1 -1
- package/dist/config/metadata/decorators/inject-property.decorator.js +1 -1
- package/dist/config/metadata/exceptions/duplicate-property.exception.js.map +1 -1
- package/dist/config/metadata/exceptions/duplicate-section.exception.js.map +1 -1
- package/dist/config/metadata/exceptions/duplicate-source.exception.js.map +1 -1
- package/dist/config/metadata/types.d.ts +16 -0
- package/dist/config/metadata/types.js +3 -0
- package/dist/config/metadata/types.js.map +1 -0
- package/dist/config/reload/config-reload.events.d.ts +0 -2
- package/dist/config/reload/config-reload.events.js +0 -8
- package/dist/config/reload/config-reload.events.js.map +1 -1
- package/dist/config/sources/base/reloadable-config-source.abstract.d.ts +3 -2
- package/dist/config/sources/base/reloadable-config-source.abstract.js +3 -3
- package/dist/config/sources/base/reloadable-config-source.abstract.js.map +1 -1
- package/dist/config/sources/exceptions/config-source-di.exception.js.map +1 -1
- package/dist/config/sources/implementations/json-file.source.js.map +1 -1
- package/dist/config/sources/implementations/relodable-json-file.source.d.ts +3 -1
- package/dist/config/sources/implementations/relodable-json-file.source.js +6 -3
- package/dist/config/sources/implementations/relodable-json-file.source.js.map +1 -1
- package/dist/config/vars.class.d.ts +1 -1
- package/dist/config/vars.class.js +6 -6
- package/dist/config/vars.class.js.map +1 -1
- package/dist/context.aggregator.d.ts +21 -0
- package/dist/context.aggregator.js +53 -0
- package/dist/context.aggregator.js.map +1 -0
- package/dist/exceptions/base/platform-exception.absract.d.ts +2 -2
- package/dist/exceptions/base/platform-exception.absract.js +4 -1
- package/dist/exceptions/base/platform-exception.absract.js.map +1 -1
- package/dist/exceptions/implementations/bootstrap/double-init.exception.js.map +1 -1
- package/dist/exceptions/implementations/bootstrap/duplicate-protocol.exception.js.map +1 -1
- package/dist/exceptions/implementations/bootstrap/no-http.exception.js.map +1 -1
- package/dist/exceptions/implementations/bootstrap/no-init.exception.js.map +1 -1
- package/dist/exceptions/implementations/bootstrap/no-matching-transport.exception.js.map +1 -1
- package/dist/exceptions/implementations/bootstrap/sequence.exception.js.map +1 -1
- package/dist/exceptions/implementations/bootstrap/symbol-key-decoration.exception.js.map +1 -1
- package/dist/exceptions/implementations/bootstrap/unknown-bootstrap.exception.js.map +1 -1
- package/dist/exceptions/implementations/pipeline/authentication.exception.js.map +1 -1
- package/dist/exceptions/implementations/pipeline/conflict.exception.js.map +1 -1
- package/dist/exceptions/implementations/pipeline/duplicate-entity.exception.js.map +1 -1
- package/dist/exceptions/implementations/pipeline/input.exception.js.map +1 -1
- package/dist/exceptions/implementations/pipeline/internal.exception.js.map +1 -1
- package/dist/exceptions/implementations/pipeline/not-allowed.exception.js.map +1 -1
- package/dist/exceptions/implementations/pipeline/not-found.exception.js.map +1 -1
- package/dist/exceptions/implementations/pipeline/timeout.exception.js.map +1 -1
- package/dist/exceptions.handling/global-exceptions.config.js.map +1 -1
- package/dist/exceptions.handling/global-exceptions.filter.js.map +1 -1
- package/dist/exceptions.handling/global-exceptions.module.js.map +1 -1
- package/dist/health/autodoc/heath.autodoc-resolver.d.ts +5 -15
- package/dist/health/autodoc/heath.autodoc-resolver.js +11 -13
- package/dist/health/autodoc/heath.autodoc-resolver.js.map +1 -1
- package/dist/health/exceptions/health-check.exception.js.map +1 -1
- package/dist/health/health.const.d.ts +1 -0
- package/dist/health/health.const.js +2 -1
- package/dist/health/health.const.js.map +1 -1
- package/dist/health/health.module.js.map +1 -1
- package/dist/health/health.service.d.ts +6 -2
- package/dist/health/health.service.js +19 -6
- package/dist/health/health.service.js.map +1 -1
- package/dist/health/metadata/constants.d.ts +1 -0
- package/dist/health/metadata/constants.js +5 -0
- package/dist/health/metadata/constants.js.map +1 -0
- package/dist/health/metadata/indicator.decorator.js +2 -12
- package/dist/health/metadata/indicator.decorator.js.map +1 -1
- package/dist/health/metadata/indicators.registry.d.ts +0 -7
- package/dist/health/metadata/indicators.registry.js +6 -14
- package/dist/health/metadata/indicators.registry.js.map +1 -1
- package/dist/health/metadata/types.d.ts +7 -0
- package/dist/health/metadata/types.js +3 -0
- package/dist/health/metadata/types.js.map +1 -0
- package/dist/index.d.ts +8 -1
- package/dist/index.js +13 -7
- package/dist/index.js.map +1 -1
- package/dist/logging/decorators/inject-logger.decorator.js +5 -3
- package/dist/logging/decorators/inject-logger.decorator.js.map +1 -1
- package/dist/logging/global-logger-provider.generator.d.ts +7 -0
- package/dist/logging/global-logger-provider.generator.js +22 -0
- package/dist/logging/global-logger-provider.generator.js.map +1 -0
- package/dist/logging/index.d.ts +2 -0
- package/dist/logging/index.js +3 -0
- package/dist/logging/index.js.map +1 -1
- package/dist/logging/logging.config.js +1 -1
- package/dist/logging/logging.config.js.map +1 -1
- package/dist/logging/logging.module.d.ts +5 -3
- package/dist/logging/logging.module.js +25 -13
- package/dist/logging/logging.module.js.map +1 -1
- package/dist/logging/metadata/constants.d.ts +1 -0
- package/dist/logging/metadata/constants.js +5 -0
- package/dist/logging/metadata/constants.js.map +1 -0
- package/dist/logging/types.d.ts +6 -2
- package/dist/metrics/index.d.ts +1 -1
- package/dist/metrics/index.js +3 -3
- package/dist/metrics/index.js.map +1 -1
- package/dist/metrics/metadata/autodoc/metrics.autodoc-resolver.d.ts +6 -7
- package/dist/metrics/metadata/autodoc/metrics.autodoc-resolver.js +8 -11
- package/dist/metrics/metadata/autodoc/metrics.autodoc-resolver.js.map +1 -1
- package/dist/metrics/metadata/constants.d.ts +1 -0
- package/dist/metrics/metadata/constants.js +5 -0
- package/dist/metrics/metadata/constants.js.map +1 -0
- package/dist/metrics/metadata/index.d.ts +0 -1
- package/dist/metrics/metadata/index.js +0 -3
- package/dist/metrics/metadata/index.js.map +1 -1
- package/dist/metrics/metadata/metrics.registry.d.ts +0 -3
- package/dist/metrics/metadata/metrics.registry.js +9 -16
- package/dist/metrics/metadata/metrics.registry.js.map +1 -1
- package/dist/metrics/metadata/types.d.ts +2 -4
- package/dist/metrics/metric.storage.d.ts +8 -0
- package/dist/metrics/metric.storage.js +11 -0
- package/dist/metrics/metric.storage.js.map +1 -0
- package/dist/metrics/metrics.config.js.map +1 -1
- package/dist/metrics/metrics.module.d.ts +1 -1
- package/dist/metrics/metrics.module.js +27 -21
- package/dist/metrics/metrics.module.js.map +1 -1
- package/dist/platform.context.d.ts +5 -3
- package/dist/platform.context.js +20 -19
- package/dist/platform.context.js.map +1 -1
- package/dist/platform.module.d.ts +5 -4
- package/dist/platform.module.js +24 -13
- package/dist/platform.module.js.map +1 -1
- package/dist/rsdk-metadata/constants.d.ts +3 -0
- package/dist/rsdk-metadata/constants.js +5 -0
- package/dist/rsdk-metadata/constants.js.map +1 -0
- package/dist/rsdk-metadata/rsdk-metadata.global-module.d.ts +6 -0
- package/dist/rsdk-metadata/rsdk-metadata.global-module.js +31 -0
- package/dist/rsdk-metadata/rsdk-metadata.global-module.js.map +1 -0
- package/dist/tracing/services/instrumentation.service.js.map +1 -1
- package/dist/tracing/services/metadata.scanner.js.map +1 -1
- package/dist/tracing/tracing.config.js.map +1 -1
- package/dist/tracing/tracing.module.js.map +1 -1
- package/dist/transport/transport.module.d.ts +1 -0
- package/dist/transport/transport.module.js +8 -2
- package/dist/transport/transport.module.js.map +1 -1
- package/dist/types/context-aggregated.d.ts +8 -0
- package/dist/types/context-aggregated.js +3 -0
- package/dist/types/context-aggregated.js.map +1 -0
- package/dist/types/options.d.ts +6 -6
- package/dist/types/transports.d.ts +10 -3
- package/dist/types/transports.js.map +1 -1
- package/dist/unhandled-rejection.handler.d.ts +1 -0
- package/dist/unhandled-rejection.handler.js +24 -0
- package/dist/unhandled-rejection.handler.js.map +1 -0
- package/package.json +8 -7
- package/src/app/platform.app.ts +6 -32
- package/src/config/additional-source/additional-source.initializer.ts +34 -25
- package/src/config/additional-source/additional-source.module.ts +5 -2
- package/src/config/config-reload.indicator.ts +3 -3
- package/src/config/config.abstract.ts +2 -3
- package/src/config/config.module.ts +23 -225
- package/src/config/context/config.context.ts +209 -0
- package/src/config/context/module.ts +25 -0
- package/src/config/exceptions/property.exception.ts +11 -6
- package/src/config/index.ts +1 -0
- package/src/config/metadata/config-metadata.provider.ts +79 -0
- package/src/config/metadata/config-metadata.registry.ts +36 -41
- package/src/config/metadata/constants.ts +6 -0
- package/src/config/metadata/decorators/declare-property.decorator.ts +2 -2
- package/src/config/metadata/decorators/inject-property.decorator.ts +1 -1
- package/src/config/metadata/types.ts +22 -0
- package/src/config/reload/config-reload.events.ts +1 -13
- package/src/config/sources/base/reloadable-config-source.abstract.ts +2 -3
- package/src/config/sources/implementations/relodable-json-file.source.ts +6 -2
- package/src/config/vars.class.ts +9 -7
- package/src/context.aggregator.ts +62 -0
- package/src/exceptions/base/platform-exception.absract.ts +8 -3
- package/src/health/autodoc/heath.autodoc-resolver.ts +15 -18
- package/src/health/health.const.ts +2 -0
- package/src/health/health.service.ts +23 -4
- package/src/health/metadata/constants.ts +1 -0
- package/src/health/metadata/indicator.decorator.ts +2 -18
- package/src/health/metadata/indicators.registry.ts +16 -23
- package/src/health/metadata/types.ts +9 -0
- package/src/index.ts +29 -12
- package/src/logging/decorators/inject-logger.decorator.ts +5 -4
- package/src/logging/global-logger-provider.generator.ts +28 -0
- package/src/logging/index.ts +2 -0
- package/src/logging/logging.config.ts +2 -1
- package/src/logging/logging.module.ts +42 -16
- package/src/logging/metadata/constants.ts +1 -0
- package/src/logging/types.ts +6 -2
- package/src/metrics/index.ts +1 -1
- package/src/metrics/metadata/autodoc/metrics.autodoc-resolver.ts +13 -9
- package/src/metrics/metadata/constants.ts +1 -0
- package/src/metrics/metadata/index.ts +0 -1
- package/src/metrics/metadata/metrics.registry.ts +19 -23
- package/src/metrics/metadata/types.ts +2 -5
- package/src/metrics/metric.storage.ts +10 -0
- package/src/metrics/metrics.module.ts +32 -31
- package/src/platform.context.ts +32 -20
- package/src/platform.module.ts +18 -20
- package/src/rsdk-metadata/constants.ts +5 -0
- package/src/rsdk-metadata/rsdk-metadata.global-module.ts +34 -0
- package/src/transport/transport.module.ts +13 -1
- package/src/types/context-aggregated.ts +10 -0
- package/src/types/options.ts +6 -5
- package/src/types/transports.ts +15 -3
- package/src/unhandled-rejection.handler.ts +29 -0
- package/dist/health/index.d.ts +0 -7
- package/dist/health/index.js +0 -26
- package/dist/health/index.js.map +0 -1
- package/dist/health/metadata/index.d.ts +0 -2
- package/dist/health/metadata/index.js +0 -19
- package/dist/health/metadata/index.js.map +0 -1
- package/src/health/index.ts +0 -7
- package/src/health/metadata/index.ts +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logging.config.js","sourceRoot":"","sources":["../../src/logging/logging.config.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAyC;AAEzC,sCAOmB;AACnB,yDAAmD;
|
|
1
|
+
{"version":3,"file":"logging.config.js","sourceRoot":"","sources":["../../src/logging/logging.config.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAyC;AAEzC,sCAOmB;AACnB,yDAAmD;AAKnD,IAAa,aAAa,GAA1B,MAAa,aAAc,SAAQ,eAAM;IAM9B,KAAK,CAAY;IAOjB,MAAM,CAAY;CAC5B,CAAA;AARU;IALR,IAAA,iBAAQ,EAAC,WAAW,EAAE,IAAI,mBAAU,CAAC,kBAAQ,CAAC,EAAE;QAC/C,sEAAsE;QACtE,YAAY,EAAE,kBAAQ,CAAC,KAAK;QAC5B,WAAW,EAAE,WAAW;KACzB,CAAC;;4CACwB;AAOjB;IALR,IAAA,iBAAQ,EAAC,YAAY,EAAE,IAAI,oBAAW,CAAC,IAAI,qBAAY,EAAE,CAAC,EAAE;QAC3D,YAAY,EAAE,EAAE;QAChB,WAAW,EACT,gGAAgG;KACnG,CAAC;;6CACyB;AAbhB,aAAa;IAHzB,IAAA,sBAAa,EAAC;QACb,IAAI,EAAE,CAAC,wBAAS,CAAC,cAAc,EAAE,wBAAS,CAAC,OAAO,CAAC;KACpD,CAAC;GACW,aAAa,CAczB;AAdY,sCAAa"}
|
|
@@ -2,9 +2,11 @@ import type { DynamicModule } from '@nestjs/common';
|
|
|
2
2
|
import type { Constructor } from '@rsdk/common';
|
|
3
3
|
import { LoggingConfig } from './logging.config';
|
|
4
4
|
export declare class LoggingModule {
|
|
5
|
-
private static providers;
|
|
6
5
|
private static logger;
|
|
7
6
|
constructor(config: LoggingConfig);
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
/**
|
|
8
|
+
* Возвращает модуль которые нужны для логгирования в любом случае, например его конфиг
|
|
9
|
+
*/
|
|
10
|
+
static pureRoot(): DynamicModule;
|
|
11
|
+
static register(target: object, context: string | Constructor, token: string): void;
|
|
10
12
|
}
|
|
@@ -14,10 +14,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
14
14
|
exports.LoggingModule = void 0;
|
|
15
15
|
const common_1 = require("@nestjs/common");
|
|
16
16
|
const logging_1 = require("@rsdk/logging");
|
|
17
|
+
const metadata_1 = require("@rsdk/metadata");
|
|
17
18
|
const config_1 = require("../config");
|
|
19
|
+
const constants_1 = require("../rsdk-metadata/constants");
|
|
20
|
+
const constants_2 = require("./metadata/constants");
|
|
18
21
|
const logging_config_1 = require("./logging.config");
|
|
19
22
|
let LoggingModule = LoggingModule_1 = class LoggingModule {
|
|
20
|
-
static providers = new Map();
|
|
21
23
|
static logger = logging_1.LoggerFactory.create('LoggingModule');
|
|
22
24
|
constructor(config) {
|
|
23
25
|
const cfg = () => {
|
|
@@ -29,22 +31,32 @@ let LoggingModule = LoggingModule_1 = class LoggingModule {
|
|
|
29
31
|
config.onUpdate(cfg);
|
|
30
32
|
cfg();
|
|
31
33
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
static forRoot() {
|
|
39
|
-
const providers = [...this.providers.values()];
|
|
34
|
+
/**
|
|
35
|
+
* Возвращает модуль которые нужны для логгирования в любом случае, например его конфиг
|
|
36
|
+
*/
|
|
37
|
+
static pureRoot() {
|
|
40
38
|
return {
|
|
41
|
-
module: LoggingModule_1,
|
|
42
|
-
imports: [config_1.PlatformConfigModule.forFeature(logging_config_1.LoggingConfig)],
|
|
43
|
-
exports: providers,
|
|
44
|
-
providers: providers,
|
|
45
39
|
global: true,
|
|
40
|
+
imports: [config_1.PlatformConfigModule.forFeature(logging_config_1.LoggingConfig)],
|
|
41
|
+
module: LoggingModule_1,
|
|
42
|
+
exports: [config_1.PlatformConfigModule],
|
|
46
43
|
};
|
|
47
44
|
}
|
|
45
|
+
static register(target, context, token) {
|
|
46
|
+
metadata_1.RsdkMetadata.add(target, {
|
|
47
|
+
global: true,
|
|
48
|
+
imports: [config_1.PlatformConfigModule.forFeature(logging_config_1.LoggingConfig)],
|
|
49
|
+
module: LoggingModule_1,
|
|
50
|
+
providers: [
|
|
51
|
+
{
|
|
52
|
+
provide: token,
|
|
53
|
+
useValue: logging_1.LoggerFactory.create(context),
|
|
54
|
+
},
|
|
55
|
+
],
|
|
56
|
+
exports: [token],
|
|
57
|
+
}, constants_1.PLATFORM_RAW_GLOBAL_METADATA_SCOPE);
|
|
58
|
+
metadata_1.RsdkMetadata.add(target, { context, token, target }, constants_2.LOGGING_RSDK_METADATA_SCOPE);
|
|
59
|
+
}
|
|
48
60
|
};
|
|
49
61
|
LoggingModule = LoggingModule_1 = __decorate([
|
|
50
62
|
(0, common_1.Module)({}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logging.module.js","sourceRoot":"","sources":["../../src/logging/logging.module.ts"],"names":[],"mappings":";AAAA,8BAA8B;;;;;;;;;;;;;AAG9B,2CAAwC;AAExC,2CAA8C;AAE9C,sCAAiD;AAEjD,qDAAiD;
|
|
1
|
+
{"version":3,"file":"logging.module.js","sourceRoot":"","sources":["../../src/logging/logging.module.ts"],"names":[],"mappings":";AAAA,8BAA8B;;;;;;;;;;;;;AAG9B,2CAAwC;AAExC,2CAA8C;AAC9C,6CAA8C;AAE9C,sCAAiD;AAEjD,0DAAgF;AAEhF,oDAAmE;AACnE,qDAAiD;AAGjD,IACa,aAAa,qBAD1B,MACa,aAAa;IAChB,MAAM,CAAC,MAAM,GAAG,uBAAa,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAE9D,YAAY,MAAqB;QAC/B,MAAM,GAAG,GAAG,GAAS,EAAE;YACrB,eAAa,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,MAAM,CAAC,KAAK,GAAG,EAAE;gBAChE,QAAQ,EAAE,MAAM,CAAC,KAAK;aACvB,CAAC,CAAC;YAEH,uBAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC,CAAC;QAEF,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACrB,GAAG,EAAE,CAAC;IACR,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,QAAQ;QACb,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,CAAC,6BAAoB,CAAC,UAAU,CAAC,8BAAa,CAAC,CAAC;YACzD,MAAM,EAAE,eAAa;YACrB,OAAO,EAAE,CAAC,6BAAoB,CAAC;SAChC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,QAAQ,CACb,MAAc,EACd,OAA6B,EAC7B,KAAa;QAEb,uBAAY,CAAC,GAAG,CACd,MAAM,EACN;YACE,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,CAAC,6BAAoB,CAAC,UAAU,CAAC,8BAAa,CAAC,CAAC;YACzD,MAAM,EAAE,eAAa;YACrB,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,KAAK;oBACd,QAAQ,EAAE,uBAAa,CAAC,MAAM,CAAC,OAAO,CAAC;iBACxC;aACF;YACD,OAAO,EAAE,CAAC,KAAK,CAAC;SACjB,EACD,8CAAkC,CACnC,CAAC;QAEF,uBAAY,CAAC,GAAG,CACd,MAAM,EACN,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAC1B,uCAA2B,CAC5B,CAAC;IACJ,CAAC;;AAvDU,aAAa;IADzB,IAAA,eAAM,EAAC,EAAE,CAAC;qCAIW,8BAAa;GAHtB,aAAa,CAwDzB;AAxDY,sCAAa"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const LOGGING_RSDK_METADATA_SCOPE = "LOGGING_RSDK_METADATA_SCOPE";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/logging/metadata/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,2BAA2B,GAAG,6BAA6B,CAAC"}
|
package/dist/logging/types.d.ts
CHANGED
|
@@ -1,2 +1,6 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export type
|
|
1
|
+
import type { Constructor } from '@rsdk/common';
|
|
2
|
+
export type LoggingRsdkMetadata = {
|
|
3
|
+
target: object;
|
|
4
|
+
context: string | Constructor;
|
|
5
|
+
token: string;
|
|
6
|
+
};
|
package/dist/metrics/index.d.ts
CHANGED
|
@@ -2,5 +2,5 @@ export { Counter, Gauge, Histogram, Summary, register } from 'prom-client';
|
|
|
2
2
|
export * from './metrics.module';
|
|
3
3
|
export * from './types';
|
|
4
4
|
export * from './metadata';
|
|
5
|
-
export { MetricAutodocResolver } from './metadata';
|
|
6
5
|
export { MetricRsdkMetadata } from './metadata';
|
|
6
|
+
export { MetricStorage } from './metric.storage';
|
package/dist/metrics/index.js
CHANGED
|
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.
|
|
17
|
+
exports.MetricStorage = exports.register = exports.Summary = exports.Histogram = exports.Gauge = exports.Counter = void 0;
|
|
18
18
|
var prom_client_1 = require("prom-client");
|
|
19
19
|
Object.defineProperty(exports, "Counter", { enumerable: true, get: function () { return prom_client_1.Counter; } });
|
|
20
20
|
Object.defineProperty(exports, "Gauge", { enumerable: true, get: function () { return prom_client_1.Gauge; } });
|
|
@@ -24,6 +24,6 @@ Object.defineProperty(exports, "register", { enumerable: true, get: function ()
|
|
|
24
24
|
__exportStar(require("./metrics.module"), exports);
|
|
25
25
|
__exportStar(require("./types"), exports);
|
|
26
26
|
__exportStar(require("./metadata"), exports);
|
|
27
|
-
var
|
|
28
|
-
Object.defineProperty(exports, "
|
|
27
|
+
var metric_storage_1 = require("./metric.storage");
|
|
28
|
+
Object.defineProperty(exports, "MetricStorage", { enumerable: true, get: function () { return metric_storage_1.MetricStorage; } });
|
|
29
29
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/metrics/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,2CAA2E;AAAlE,sGAAA,OAAO,OAAA;AAAE,oGAAA,KAAK,OAAA;AAAE,wGAAA,SAAS,OAAA;AAAE,sGAAA,OAAO,OAAA;AAAE,uGAAA,QAAQ,OAAA;AACrD,mDAAiC;AACjC,0CAAwB;AACxB,6CAA2B;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/metrics/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,2CAA2E;AAAlE,sGAAA,OAAO,OAAA;AAAE,oGAAA,KAAK,OAAA;AAAE,wGAAA,SAAS,OAAA;AAAE,sGAAA,OAAO,OAAA;AAAE,uGAAA,QAAQ,OAAA;AACrD,mDAAiC;AACjC,0CAAwB;AACxB,6CAA2B;AAE3B,mDAAiD;AAAxC,+GAAA,aAAa,OAAA"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import type { DocumentNode, DocumentResolver } from '@rsdk/autodoc
|
|
2
|
-
import type {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
readonly rsdkMetadata: RsdkMetadata<MetricRsdkMetadata>;
|
|
6
|
-
constructor(rsdkMetadata: RsdkMetadata<MetricRsdkMetadata>);
|
|
7
|
-
getNode(): DocumentNode | null;
|
|
1
|
+
import type { DocumentNode, DocumentResolver } from '@rsdk/autodoc.protocol';
|
|
2
|
+
import type { RsdkMetadataProvider } from '@rsdk/metadata';
|
|
3
|
+
declare class MetricAutodocResolver implements DocumentResolver {
|
|
4
|
+
getNode(rsdkMetadataProvider: RsdkMetadataProvider): DocumentNode | null;
|
|
8
5
|
}
|
|
6
|
+
export declare const metricsDocumentResolver: MetricAutodocResolver;
|
|
7
|
+
export {};
|
|
@@ -1,26 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
const autodoc_protocol_1 = require("@rsdk/autodoc
|
|
3
|
+
exports.metricsDocumentResolver = void 0;
|
|
4
|
+
const autodoc_protocol_1 = require("@rsdk/autodoc.protocol");
|
|
5
|
+
const constants_1 = require("../constants");
|
|
5
6
|
class MetricAutodocResolver {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
this.rsdkMetadata = rsdkMetadata;
|
|
9
|
-
}
|
|
10
|
-
getNode() {
|
|
11
|
-
const resources = this.rsdkMetadata.get();
|
|
7
|
+
getNode(rsdkMetadataProvider) {
|
|
8
|
+
const resources = rsdkMetadataProvider.get(constants_1.METRIC_RSDK_METADATA_SCOPE);
|
|
12
9
|
if (!resources) {
|
|
13
10
|
return null;
|
|
14
11
|
}
|
|
15
12
|
return new autodoc_protocol_1.Composite(new autodoc_protocol_1.Table(resources.map(({ value }) => {
|
|
16
13
|
return {
|
|
17
14
|
name: value.metadata.name,
|
|
18
|
-
description: value.metadata.description,
|
|
19
|
-
type: value.type,
|
|
15
|
+
description: value.metadata.description ?? '-',
|
|
16
|
+
type: value.metadata.type,
|
|
20
17
|
controllerName: value.metricController.name,
|
|
21
18
|
};
|
|
22
19
|
})), 'Metrics');
|
|
23
20
|
}
|
|
24
21
|
}
|
|
25
|
-
exports.
|
|
22
|
+
exports.metricsDocumentResolver = new MetricAutodocResolver();
|
|
26
23
|
//# sourceMappingURL=metrics.autodoc-resolver.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.autodoc-resolver.js","sourceRoot":"","sources":["../../../../src/metrics/metadata/autodoc/metrics.autodoc-resolver.ts"],"names":[],"mappings":";;;AACA,6DAA0D;
|
|
1
|
+
{"version":3,"file":"metrics.autodoc-resolver.js","sourceRoot":"","sources":["../../../../src/metrics/metadata/autodoc/metrics.autodoc-resolver.ts"],"names":[],"mappings":";;;AACA,6DAA0D;AAG1D,4CAA0D;AAG1D,MAAM,qBAAqB;IACzB,OAAO,CAAC,oBAA0C;QAChD,MAAM,SAAS,GAAG,oBAAoB,CAAC,GAAG,CACxC,sCAA0B,CAC3B,CAAC;QAEF,IAAI,CAAC,SAAS,EAAE;YACd,OAAO,IAAI,CAAC;SACb;QAED,OAAO,IAAI,4BAAS,CAClB,IAAI,wBAAK,CACP,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;YAC1B,OAAO;gBACL,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI;gBACzB,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,WAAW,IAAI,GAAG;gBAC9C,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI;gBACzB,cAAc,EAAE,KAAK,CAAC,gBAAgB,CAAC,IAAI;aAC5C,CAAC;QACJ,CAAC,CAAC,CACH,EACD,SAAS,CACV,CAAC;IACJ,CAAC;CACF;AAEY,QAAA,uBAAuB,GAAG,IAAI,qBAAqB,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const METRIC_RSDK_METADATA_SCOPE = "METRIC_RSDK_METADATA_SCOPE";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/metrics/metadata/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,0BAA0B,GAAG,4BAA4B,CAAC"}
|
|
@@ -14,9 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.MetricAutodocResolver = void 0;
|
|
18
17
|
__exportStar(require("./metrics.registry"), exports);
|
|
19
18
|
__exportStar(require("./decorators"), exports);
|
|
20
|
-
var metrics_autodoc_resolver_1 = require("./autodoc/metrics.autodoc-resolver");
|
|
21
|
-
Object.defineProperty(exports, "MetricAutodocResolver", { enumerable: true, get: function () { return metrics_autodoc_resolver_1.MetricAutodocResolver; } });
|
|
22
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/metrics/metadata/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/metrics/metadata/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,+CAA6B"}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import type { Constructor } from '@rsdk/common';
|
|
2
2
|
import type { AnyMetric, MetricMetadata } from '../types';
|
|
3
3
|
export declare class MetricsRegistry {
|
|
4
|
-
private static metadata;
|
|
5
4
|
static register(target: Constructor<AnyMetric>, metric: MetricMetadata): void;
|
|
6
|
-
static getOne(ctor: Constructor<AnyMetric>): Readonly<MetricMetadata>;
|
|
7
|
-
static getAll(): Readonly<Map<Constructor<AnyMetric>, MetricMetadata>>;
|
|
8
5
|
}
|
|
@@ -1,25 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MetricsRegistry = void 0;
|
|
4
|
-
const
|
|
4
|
+
const autodoc_protocol_1 = require("@rsdk/autodoc.protocol");
|
|
5
|
+
const metadata_1 = require("@rsdk/metadata");
|
|
6
|
+
const metrics_autodoc_resolver_1 = require("./autodoc/metrics.autodoc-resolver");
|
|
7
|
+
const constants_1 = require("./constants");
|
|
5
8
|
// separate class because we don't want to expose this
|
|
6
9
|
class MetricsRegistry {
|
|
7
|
-
static metadata = new Map();
|
|
8
10
|
static register(target, metric) {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
static getOne(ctor) {
|
|
15
|
-
const metadata = this.metadata.get(ctor);
|
|
16
|
-
if (!metadata) {
|
|
17
|
-
throw new exceptions_1.NoInitException('Metric', ctor.name);
|
|
18
|
-
}
|
|
19
|
-
return metadata;
|
|
20
|
-
}
|
|
21
|
-
static getAll() {
|
|
22
|
-
return this.metadata;
|
|
11
|
+
metadata_1.RsdkMetadata.add(target, {
|
|
12
|
+
metricController: target,
|
|
13
|
+
metadata: metric,
|
|
14
|
+
}, constants_1.METRIC_RSDK_METADATA_SCOPE);
|
|
15
|
+
autodoc_protocol_1.AutodocMetadata.defineResolver(target, constants_1.METRIC_RSDK_METADATA_SCOPE, metrics_autodoc_resolver_1.metricsDocumentResolver);
|
|
23
16
|
}
|
|
24
17
|
}
|
|
25
18
|
exports.MetricsRegistry = MetricsRegistry;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.registry.js","sourceRoot":"","sources":["../../../src/metrics/metadata/metrics.registry.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"metrics.registry.js","sourceRoot":"","sources":["../../../src/metrics/metadata/metrics.registry.ts"],"names":[],"mappings":";;;AAAA,6DAAyD;AAEzD,6CAA8C;AAI9C,iFAA6E;AAC7E,2CAAyD;AAGzD,sDAAsD;AACtD,MAAa,eAAe;IAC1B,MAAM,CAAC,QAAQ,CACb,MAA8B,EAC9B,MAAsB;QAEtB,uBAAY,CAAC,GAAG,CACd,MAAM,EACN;YACE,gBAAgB,EAAE,MAAM;YACxB,QAAQ,EAAE,MAAM;SACjB,EACD,sCAA0B,CAC3B,CAAC;QACF,kCAAe,CAAC,cAAc,CAC5B,MAAM,EACN,sCAA0B,EAC1B,kDAAuB,CACxB,CAAC;IACJ,CAAC;CACF;AAnBD,0CAmBC"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import type { Constructor } from '@rsdk/common';
|
|
2
|
-
import type { AnyMetric, MetricMetadata
|
|
3
|
-
import type { MetricType } from './decorators';
|
|
2
|
+
import type { AnyMetric, MetricMetadata } from '../types';
|
|
4
3
|
export type MetricRsdkMetadata = {
|
|
5
|
-
|
|
6
|
-
metadata: OmitType<MetricMetadata>;
|
|
4
|
+
metadata: MetricMetadata;
|
|
7
5
|
metricController: Constructor<AnyMetric>;
|
|
8
6
|
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MetricStorage = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Класс для хранения уже проинициализрованных метрик
|
|
6
|
+
*/
|
|
7
|
+
class MetricStorage {
|
|
8
|
+
metrics = new Map();
|
|
9
|
+
}
|
|
10
|
+
exports.MetricStorage = MetricStorage;
|
|
11
|
+
//# sourceMappingURL=metric.storage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metric.storage.js","sourceRoot":"","sources":["../../src/metrics/metric.storage.ts"],"names":[],"mappings":";;;AAIA;;GAEG;AACH,MAAa,aAAa;IACxB,OAAO,GAAG,IAAI,GAAG,EAAqC,CAAC;CACxD;AAFD,sCAEC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.config.js","sourceRoot":"","sources":["../../src/metrics/metrics.config.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sCAAwE;AACxE,yDAAmD;
|
|
1
|
+
{"version":3,"file":"metrics.config.js","sourceRoot":"","sources":["../../src/metrics/metrics.config.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sCAAwE;AACxE,yDAAmD;AAMnD,IAAa,mBAAmB,GAAhC,MAAa,mBAAoB,SAAQ,eAAM;IAK7C,SAAS,CAAW;IAMpB,cAAc,CAAW;CAC1B,CAAA;AAPC;IAJC,IAAA,iBAAQ,EAAC,iBAAiB,EAAE,IAAI,mBAAU,EAAE,EAAE;QAC7C,YAAY,EAAE,IAAI;QAClB,WAAW,EAAE,0CAA0C;KACxD,CAAC;;sDACkB;AAMpB;IAJC,IAAA,iBAAQ,EAAC,yBAAyB,EAAE,IAAI,mBAAU,EAAE,EAAE;QACrD,YAAY,EAAE,IAAI;QAClB,WAAW,EAAE,2DAA2D;KACzE,CAAC;;2DACuB;AAXd,mBAAmB;IAJ/B,IAAA,sBAAa,EAAC;QACb,IAAI,EAAE,uBAAuB;QAC7B,IAAI,EAAE,CAAC,wBAAS,CAAC,cAAc,EAAE,wBAAS,CAAC,MAAM,CAAC;KACnD,CAAC;GACW,mBAAmB,CAY/B;AAZY,kDAAmB"}
|
|
@@ -13,7 +13,6 @@ import type { AnyMetric, MetricsModuleOptions } from './types';
|
|
|
13
13
|
export declare class MetricsModule implements OnApplicationBootstrap {
|
|
14
14
|
private readonly config;
|
|
15
15
|
private static isBootstrapped;
|
|
16
|
-
private static metrics;
|
|
17
16
|
constructor(config: MetricsModuleConfig);
|
|
18
17
|
/**
|
|
19
18
|
* Adds metrics controller provided as options
|
|
@@ -24,6 +23,7 @@ export declare class MetricsModule implements OnApplicationBootstrap {
|
|
|
24
23
|
/**
|
|
25
24
|
* Use this to inject specified metric into target module
|
|
26
25
|
*
|
|
26
|
+
* @param first metric classe
|
|
27
27
|
* @param other Not empty List of metric classes
|
|
28
28
|
* @returns dynamic module
|
|
29
29
|
*/
|
|
@@ -15,11 +15,11 @@ var MetricsModule_1;
|
|
|
15
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
16
|
exports.MetricsModule = void 0;
|
|
17
17
|
const common_1 = require("@nestjs/common");
|
|
18
|
-
const autodoc_protocol_1 = require("@rsdk/autodoc-protocol");
|
|
19
18
|
const metadata_1 = require("@rsdk/metadata");
|
|
20
19
|
const prom_client_1 = __importDefault(require("prom-client"));
|
|
21
20
|
const config_1 = require("../config");
|
|
22
|
-
const
|
|
21
|
+
const constants_1 = require("./metadata/constants");
|
|
22
|
+
const metric_storage_1 = require("./metric.storage");
|
|
23
23
|
const metrics_config_1 = require("./metrics.config");
|
|
24
24
|
/**
|
|
25
25
|
* Metrics module exposes metrics interface (depending on transport)
|
|
@@ -32,7 +32,13 @@ const metrics_config_1 = require("./metrics.config");
|
|
|
32
32
|
let MetricsModule = MetricsModule_1 = class MetricsModule {
|
|
33
33
|
config;
|
|
34
34
|
static isBootstrapped = false;
|
|
35
|
-
|
|
35
|
+
// TODO По идее от этого нужно избавиться, но тут нужно будет делать @InjectMetric(SomeMetric) там где сейчас используется someMetric: SomeMetric
|
|
36
|
+
// Но стоит понимать что смысла в этом нет от слова совсем
|
|
37
|
+
// Так как даже если там окажутся чужие метрики, но приложение не будет их использовать, то для приложения ничего не произойдёт
|
|
38
|
+
// Но даже если представить что существует коллизия с использованием одного и того же инстанса, то во-первых
|
|
39
|
+
// Это дыра в архитектуре потому что мы ссылаемся на один и тот же класс, то рассчитываем получить один и тот же инстанс, а так как это метрика то она должна быть общая на процесс, иначе не имеет смысла
|
|
40
|
+
// Во-вторых если запускаем n > 1 приложения в одном и том же процессе, то снимать метрики с этих приложений как минимум... странно?
|
|
41
|
+
// private static metrics = new Map<Constructor<AnyMetric>, Provider>();
|
|
36
42
|
constructor(config) {
|
|
37
43
|
this.config = config;
|
|
38
44
|
}
|
|
@@ -43,39 +49,39 @@ let MetricsModule = MetricsModule_1 = class MetricsModule {
|
|
|
43
49
|
*/
|
|
44
50
|
static forRoot(options) {
|
|
45
51
|
return {
|
|
52
|
+
global: true,
|
|
46
53
|
controllers: [...options.controllers],
|
|
47
54
|
module: MetricsModule_1,
|
|
55
|
+
providers: [
|
|
56
|
+
{
|
|
57
|
+
provide: metric_storage_1.MetricStorage,
|
|
58
|
+
useValue: new metric_storage_1.MetricStorage(),
|
|
59
|
+
},
|
|
60
|
+
],
|
|
61
|
+
exports: [metric_storage_1.MetricStorage],
|
|
48
62
|
};
|
|
49
63
|
}
|
|
50
64
|
/**
|
|
51
65
|
* Use this to inject specified metric into target module
|
|
52
66
|
*
|
|
67
|
+
* @param first metric classe
|
|
53
68
|
* @param other Not empty List of metric classes
|
|
54
69
|
* @returns dynamic module
|
|
55
70
|
*/
|
|
56
71
|
static forFeature(first, ...other) {
|
|
57
72
|
const providers = [];
|
|
58
73
|
for (const ctor of [first, ...other]) {
|
|
59
|
-
const
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
}
|
|
64
|
-
const metadata = metadata_2.MetricsRegistry.getOne(ctor);
|
|
65
|
-
const provider = {
|
|
74
|
+
const [resource] = metadata_1.RsdkMetadata.get(ctor, constants_1.METRIC_RSDK_METADATA_SCOPE) ?? [];
|
|
75
|
+
const metadata = resource.value.metadata;
|
|
76
|
+
providers.push({
|
|
77
|
+
inject: [metric_storage_1.MetricStorage],
|
|
66
78
|
provide: ctor,
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
metricController: ctor,
|
|
73
|
-
metadata,
|
|
79
|
+
useFactory: (metricStorage) => {
|
|
80
|
+
const existing = metricStorage.metrics.get(ctor) ?? new ctor(metadata);
|
|
81
|
+
metricStorage.metrics.set(ctor, existing);
|
|
82
|
+
return existing;
|
|
83
|
+
},
|
|
74
84
|
});
|
|
75
|
-
const autodocMetadata = new autodoc_protocol_1.AutodocMetadata(rsdkMetadata);
|
|
76
|
-
const metricsDocumentResolver = new metadata_2.MetricAutodocResolver(rsdkMetadata);
|
|
77
|
-
autodocMetadata.defineResolver(metricsDocumentResolver);
|
|
78
|
-
providers.push(provider);
|
|
79
85
|
}
|
|
80
86
|
return {
|
|
81
87
|
module: MetricsModule_1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.module.js","sourceRoot":"","sources":["../../src/metrics/metrics.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAKA,2CAAwC;
|
|
1
|
+
{"version":3,"file":"metrics.module.js","sourceRoot":"","sources":["../../src/metrics/metrics.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAKA,2CAAwC;AAExC,6CAA8C;AAC9C,8DAAiC;AAEjC,sCAAiD;AAEjD,oDAAkE;AAElE,qDAAiD;AACjD,qDAAuD;AAGvD;;;;;;;GAOG;AACH,IAGa,aAAa,qBAH1B,MAGa,aAAa;IAUK;IATrB,MAAM,CAAC,cAAc,GAAG,KAAK,CAAC;IACtC,iJAAiJ;IACjJ,0DAA0D;IAC1D,+HAA+H;IAC/H,4GAA4G;IAC5G,0MAA0M;IAC1M,oIAAoI;IACpI,wEAAwE;IAExE,YAA6B,MAA2B;QAA3B,WAAM,GAAN,MAAM,CAAqB;IAAG,CAAC;IAE5D;;;;OAIG;IACH,MAAM,CAAC,OAAO,CAAC,OAA6B;QAC1C,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,WAAW,EAAE,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;YACrC,MAAM,EAAE,eAAa;YACrB,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,8BAAa;oBACtB,QAAQ,EAAE,IAAI,8BAAa,EAAE;iBAC9B;aACF;YACD,OAAO,EAAE,CAAC,8BAAa,CAAC;SACzB,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,UAAU,CACf,KAA6B,EAC7B,GAAG,KAA+B;QAElC,MAAM,SAAS,GAAe,EAAE,CAAC;QAEjC,KAAK,MAAM,IAAI,IAAI,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,EAAE;YACpC,MAAM,CAAC,QAAQ,CAAC,GACd,uBAAY,CAAC,GAAG,CACd,IAAI,EACJ,sCAA0B,CAC3B,IAAI,EAAE,CAAC;YAEV,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;YAEzC,SAAS,CAAC,IAAI,CAAC;gBACb,MAAM,EAAE,CAAC,8BAAa,CAAC;gBACvB,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,CAAC,aAA4B,EAAE,EAAE;oBAC3C,MAAM,QAAQ,GACZ,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAExD,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;oBAC1C,OAAO,QAAQ,CAAC;gBAClB,CAAC;aACF,CAAC,CAAC;SACJ;QAED,OAAO;YACL,MAAM,EAAE,eAAa;YACrB,OAAO,EAAE,SAAS;YAClB,SAAS;SACV,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,sBAAsB;QACpB;;;WAGG;QACH,IAAI,eAAa,CAAC,cAAc,EAAE;YAChC,OAAO;SACR;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE;YAC9B,qBAAM,CAAC,qBAAqB,EAAE,CAAC;SAChC;QAED,eAAa,CAAC,cAAc,GAAG,IAAI,CAAC;IACtC,CAAC;;AA3FU,aAAa;IAHzB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,6BAAoB,CAAC,UAAU,CAAC,oCAAmB,CAAC,CAAC;KAChE,CAAC;qCAWqC,oCAAmB;GAV7C,aAAa,CA4FzB;AA5FY,sCAAa"}
|
|
@@ -2,6 +2,7 @@ import type { DynamicModule } from '@nestjs/common';
|
|
|
2
2
|
import type { INestApplication } from '@nestjs/common/interfaces';
|
|
3
3
|
import type { NestApplicationOptions } from '@nestjs/common/interfaces/nest-application-options.interface';
|
|
4
4
|
import type { AbstractHttpAdapter } from '@nestjs/core';
|
|
5
|
+
import type { RsdkMetadataProvider } from '@rsdk/metadata';
|
|
5
6
|
import type { PlatformAppMetadata, PlatformExtendedOptions, PlatformOptions } from './types';
|
|
6
7
|
/**
|
|
7
8
|
* Агрегат для хранения опций приложения, а также методы для конфигурации и запуска приложения
|
|
@@ -12,8 +13,8 @@ export declare class PlatformContext {
|
|
|
12
13
|
private microservices;
|
|
13
14
|
private readonly httpTransport;
|
|
14
15
|
private readonly httpAdapter;
|
|
16
|
+
private aggregator;
|
|
15
17
|
private _extendedOptions;
|
|
16
|
-
private _root;
|
|
17
18
|
/**
|
|
18
19
|
* Создаёт контекст проводя базовые проверки
|
|
19
20
|
* - все транспорты совместимы между собой
|
|
@@ -23,15 +24,16 @@ export declare class PlatformContext {
|
|
|
23
24
|
* @param options
|
|
24
25
|
*/
|
|
25
26
|
constructor(options: PlatformOptions);
|
|
26
|
-
get root(): DynamicModule;
|
|
27
27
|
get extendedOptions(): PlatformExtendedOptions;
|
|
28
28
|
private static assertPluginCompatability;
|
|
29
29
|
private static assertTransportCompatability;
|
|
30
|
+
getRsdkMetadataProvider(): Promise<RsdkMetadataProvider>;
|
|
31
|
+
getRoot(): Promise<DynamicModule>;
|
|
30
32
|
/**
|
|
31
33
|
* Get all important information about PlatformApp instance
|
|
32
34
|
* @returns Readonly metadata
|
|
33
35
|
*/
|
|
34
|
-
getMetadata(): Readonly<PlatformAppMetadata
|
|
36
|
+
getMetadata(): Promise<Readonly<PlatformAppMetadata>>;
|
|
35
37
|
/**
|
|
36
38
|
* Сделано прежде всего для совместимости с тестами.
|
|
37
39
|
* Производит все необходимые проверки и инициализации транспортов, не запускает приложение
|
package/dist/platform.context.js
CHANGED
|
@@ -3,12 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.PlatformContext = void 0;
|
|
4
4
|
const logging_1 = require("@rsdk/logging");
|
|
5
5
|
const lodash_1 = require("lodash");
|
|
6
|
+
const config_metadata_provider_1 = require("./config/metadata/config-metadata.provider");
|
|
6
7
|
const manifest_1 = require("./manifest/manifest");
|
|
7
|
-
const
|
|
8
|
+
const context_aggregator_1 = require("./context.aggregator");
|
|
8
9
|
const exceptions_1 = require("./exceptions");
|
|
9
10
|
const logging_2 = require("./logging");
|
|
10
11
|
const noop_http_adapter_1 = require("./noop.http-adapter");
|
|
11
|
-
const platform_module_1 = require("./platform.module");
|
|
12
12
|
const types_1 = require("./types");
|
|
13
13
|
/**
|
|
14
14
|
* Агрегат для хранения опций приложения, а также методы для конфигурации и запуска приложения
|
|
@@ -19,8 +19,8 @@ class PlatformContext {
|
|
|
19
19
|
microservices;
|
|
20
20
|
httpTransport;
|
|
21
21
|
httpAdapter;
|
|
22
|
+
aggregator;
|
|
22
23
|
_extendedOptions;
|
|
23
|
-
_root;
|
|
24
24
|
/**
|
|
25
25
|
* Создаёт контекст проводя базовые проверки
|
|
26
26
|
* - все транспорты совместимы между собой
|
|
@@ -36,17 +36,7 @@ class PlatformContext {
|
|
|
36
36
|
this.httpTransport = options.transports?.find?.(types_1.isHttpTransport);
|
|
37
37
|
this.httpAdapter =
|
|
38
38
|
this.httpTransport?.getAdapter() ?? new noop_http_adapter_1.NoopHttpAdapter();
|
|
39
|
-
|
|
40
|
-
get root() {
|
|
41
|
-
if (this._root) {
|
|
42
|
-
return this._root;
|
|
43
|
-
}
|
|
44
|
-
config_1.PlatformConfigModule.bootstrap({
|
|
45
|
-
...(this.extendedOptions.config ?? {}),
|
|
46
|
-
appName: this.extendedOptions.name,
|
|
47
|
-
});
|
|
48
|
-
this._root = platform_module_1.PlatformModule.forRoot(this.extendedOptions);
|
|
49
|
-
return this._root;
|
|
39
|
+
this.aggregator = new context_aggregator_1.ContextAggregator(this);
|
|
50
40
|
}
|
|
51
41
|
get extendedOptions() {
|
|
52
42
|
if (this._extendedOptions) {
|
|
@@ -85,12 +75,21 @@ class PlatformContext {
|
|
|
85
75
|
}
|
|
86
76
|
}
|
|
87
77
|
}
|
|
78
|
+
async getRsdkMetadataProvider() {
|
|
79
|
+
const aggregated = await this.aggregator.getAggregated();
|
|
80
|
+
return aggregated.rsdkMetadataProvider;
|
|
81
|
+
}
|
|
82
|
+
async getRoot() {
|
|
83
|
+
const { root } = await this.aggregator.getAggregated();
|
|
84
|
+
return root;
|
|
85
|
+
}
|
|
88
86
|
/**
|
|
89
87
|
* Get all important information about PlatformApp instance
|
|
90
88
|
* @returns Readonly metadata
|
|
91
89
|
*/
|
|
92
|
-
getMetadata() {
|
|
93
|
-
const
|
|
90
|
+
async getMetadata() {
|
|
91
|
+
const rsdkMetadataProvider = await this.getRsdkMetadataProvider();
|
|
92
|
+
const confMetadata = new config_metadata_provider_1.ConfigMetadataProvider(rsdkMetadataProvider).getMetadata();
|
|
94
93
|
const options = this.extendedOptions;
|
|
95
94
|
const protocols = (options?.transports ?? []).map((x) => x.getProtocol());
|
|
96
95
|
return {
|
|
@@ -114,7 +113,8 @@ class PlatformContext {
|
|
|
114
113
|
* Производит все необходимые проверки и инициализации транспортов, не запускает приложение
|
|
115
114
|
*/
|
|
116
115
|
async configureApp(app) {
|
|
117
|
-
const
|
|
116
|
+
const configContext = await this.aggregator.getConfigContext();
|
|
117
|
+
const awaiter = this.httpTransport?.configure(app, configContext);
|
|
118
118
|
if (awaiter instanceof Promise) {
|
|
119
119
|
await awaiter;
|
|
120
120
|
}
|
|
@@ -122,7 +122,7 @@ class PlatformContext {
|
|
|
122
122
|
this.microservices = new Map();
|
|
123
123
|
const transports = this.options.transports ?? [];
|
|
124
124
|
for (const transport of transports.filter(types_1.isMicroserviceTransport)) {
|
|
125
|
-
transport.init();
|
|
125
|
+
transport.init(configContext);
|
|
126
126
|
const options = transport.createMicroserviceOptions();
|
|
127
127
|
const microservice = app.connectMicroservice(options, {
|
|
128
128
|
inheritAppConfig: true,
|
|
@@ -136,9 +136,10 @@ class PlatformContext {
|
|
|
136
136
|
*/
|
|
137
137
|
async runConfiguredApplication(app) {
|
|
138
138
|
try {
|
|
139
|
+
const configContext = await this.aggregator.getConfigContext();
|
|
139
140
|
this.logger.info('Mapping controllers...');
|
|
140
141
|
if (this.httpTransport) {
|
|
141
|
-
const { host, port } = this.httpTransport.createHttpOptions();
|
|
142
|
+
const { host, port } = this.httpTransport.createHttpOptions(configContext);
|
|
142
143
|
await app.listen(port, host, () => this.logger.info(`Http server started on ${host}:${port}`));
|
|
143
144
|
}
|
|
144
145
|
else {
|