@zorionapp/gg-core 4.14.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/README.md +11 -0
- package/package.json +58 -0
- package/src/gg-auth/decorators/protected.decorator.d.ts +9 -0
- package/src/gg-auth/decorators/protected.decorator.js +8 -0
- package/src/gg-auth/decorators/protected.decorator.js.map +1 -0
- package/src/gg-auth/exceptions/merchant-ip-mismatch.exception.d.ts +7 -0
- package/src/gg-auth/exceptions/merchant-ip-mismatch.exception.js +15 -0
- package/src/gg-auth/exceptions/merchant-ip-mismatch.exception.js.map +1 -0
- package/src/gg-auth/exceptions/user-blocked.exception.d.ts +9 -0
- package/src/gg-auth/exceptions/user-blocked.exception.js +17 -0
- package/src/gg-auth/exceptions/user-blocked.exception.js.map +1 -0
- package/src/gg-auth/exceptions/user-inactive.exception.d.ts +9 -0
- package/src/gg-auth/exceptions/user-inactive.exception.js +17 -0
- package/src/gg-auth/exceptions/user-inactive.exception.js.map +1 -0
- package/src/gg-auth/exceptions/user-otp-blocked.exception.d.ts +9 -0
- package/src/gg-auth/exceptions/user-otp-blocked.exception.js +17 -0
- package/src/gg-auth/exceptions/user-otp-blocked.exception.js.map +1 -0
- package/src/gg-auth/exceptions/user-password-blocked.exception.d.ts +9 -0
- package/src/gg-auth/exceptions/user-password-blocked.exception.js +17 -0
- package/src/gg-auth/exceptions/user-password-blocked.exception.js.map +1 -0
- package/src/gg-auth/exceptions/user-password-recovery-blocked.exception.d.ts +9 -0
- package/src/gg-auth/exceptions/user-password-recovery-blocked.exception.js +17 -0
- package/src/gg-auth/exceptions/user-password-recovery-blocked.exception.js.map +1 -0
- package/src/gg-auth/gg-auth.module-options.d.ts +41 -0
- package/src/gg-auth/gg-auth.module-options.js +16 -0
- package/src/gg-auth/gg-auth.module-options.js.map +1 -0
- package/src/gg-auth/gg-auth.module.d.ts +5 -0
- package/src/gg-auth/gg-auth.module.js +68 -0
- package/src/gg-auth/gg-auth.module.js.map +1 -0
- package/src/gg-auth/guards/auth.guard.d.ts +69 -0
- package/src/gg-auth/guards/auth.guard.js +175 -0
- package/src/gg-auth/guards/auth.guard.js.map +1 -0
- package/src/gg-auth/index.d.ts +8 -0
- package/src/gg-auth/index.js +13 -0
- package/src/gg-auth/index.js.map +1 -0
- package/src/gg-auth/injectable-proxy/authorized-merchant.d.ts +10 -0
- package/src/gg-auth/injectable-proxy/authorized-merchant.js +28 -0
- package/src/gg-auth/injectable-proxy/authorized-merchant.js.map +1 -0
- package/src/gg-auth/injectable-proxy/authorized-user.d.ts +24 -0
- package/src/gg-auth/injectable-proxy/authorized-user.js +56 -0
- package/src/gg-auth/injectable-proxy/authorized-user.js.map +1 -0
- package/src/gg-auth/interfaces/authorized.interface.d.ts +5 -0
- package/src/gg-auth/interfaces/authorized.interface.js +3 -0
- package/src/gg-auth/interfaces/authorized.interface.js.map +1 -0
- package/src/gg-auth/services/auth-service.interface.d.ts +4 -0
- package/src/gg-auth/services/auth-service.interface.js +3 -0
- package/src/gg-auth/services/auth-service.interface.js.map +1 -0
- package/src/gg-auth/services/gg-bearer-auth.service.d.ts +39 -0
- package/src/gg-auth/services/gg-bearer-auth.service.js +84 -0
- package/src/gg-auth/services/gg-bearer-auth.service.js.map +1 -0
- package/src/gg-auth/services/gg-merchant-auth.service.d.ts +8 -0
- package/src/gg-auth/services/gg-merchant-auth.service.js +24 -0
- package/src/gg-auth/services/gg-merchant-auth.service.js.map +1 -0
- package/src/gg-auth/utils/get-rpc-user.util.d.ts +3 -0
- package/src/gg-auth/utils/get-rpc-user.util.js +14 -0
- package/src/gg-auth/utils/get-rpc-user.util.js.map +1 -0
- package/src/gg-cache/gg-cache.module.d.ts +4 -0
- package/src/gg-cache/gg-cache.module.js +55 -0
- package/src/gg-cache/gg-cache.module.js.map +1 -0
- package/src/gg-cache/gg-cache.service.d.ts +23 -0
- package/src/gg-cache/gg-cache.service.js +58 -0
- package/src/gg-cache/gg-cache.service.js.map +1 -0
- package/src/gg-cache/index.d.ts +2 -0
- package/src/gg-cache/index.js +6 -0
- package/src/gg-cache/index.js.map +1 -0
- package/src/gg-cache/redis.config.d.ts +6 -0
- package/src/gg-cache/redis.config.js +23 -0
- package/src/gg-cache/redis.config.js.map +1 -0
- package/src/gg-cls/gg-cls.module.d.ts +4 -0
- package/src/gg-cls/gg-cls.module.js +54 -0
- package/src/gg-cls/gg-cls.module.js.map +1 -0
- package/src/gg-cls/index.d.ts +1 -0
- package/src/gg-cls/index.js +5 -0
- package/src/gg-cls/index.js.map +1 -0
- package/src/gg-config/app.config.d.ts +16 -0
- package/src/gg-config/app.config.js +78 -0
- package/src/gg-config/app.config.js.map +1 -0
- package/src/gg-config/gg-config.module-options.d.ts +4 -0
- package/src/gg-config/gg-config.module-options.js +3 -0
- package/src/gg-config/gg-config.module-options.js.map +1 -0
- package/src/gg-config/gg-config.module.d.ts +5 -0
- package/src/gg-config/gg-config.module.js +22 -0
- package/src/gg-config/gg-config.module.js.map +1 -0
- package/src/gg-config/index.d.ts +3 -0
- package/src/gg-config/index.js +7 -0
- package/src/gg-config/index.js.map +1 -0
- package/src/gg-config/validate-config.d.ts +2 -0
- package/src/gg-config/validate-config.js +31 -0
- package/src/gg-config/validate-config.js.map +1 -0
- package/src/gg-core/gg-core-module-options.d.ts +12 -0
- package/src/gg-core/gg-core-module-options.js +3 -0
- package/src/gg-core/gg-core-module-options.js.map +1 -0
- package/src/gg-core/gg-core.middleware.d.ts +8 -0
- package/src/gg-core/gg-core.middleware.js +31 -0
- package/src/gg-core/gg-core.middleware.js.map +1 -0
- package/src/gg-core/gg-core.module.d.ts +9 -0
- package/src/gg-core/gg-core.module.js +58 -0
- package/src/gg-core/gg-core.module.js.map +1 -0
- package/src/gg-core/index.d.ts +2 -0
- package/src/gg-core/index.js +6 -0
- package/src/gg-core/index.js.map +1 -0
- package/src/gg-database/config/db-entities.config.d.ts +5 -0
- package/src/gg-database/config/db-entities.config.js +7 -0
- package/src/gg-database/config/db-entities.config.js.map +1 -0
- package/src/gg-database/config/mikroorm.config.d.ts +9 -0
- package/src/gg-database/config/mikroorm.config.js +38 -0
- package/src/gg-database/config/mikroorm.config.js.map +1 -0
- package/src/gg-database/database.adapter.d.ts +24 -0
- package/src/gg-database/database.adapter.js +50 -0
- package/src/gg-database/database.adapter.js.map +1 -0
- package/src/gg-database/database.connector.d.ts +27 -0
- package/src/gg-database/database.connector.js +54 -0
- package/src/gg-database/database.connector.js.map +1 -0
- package/src/gg-database/index.d.ts +3 -0
- package/src/gg-database/index.js +7 -0
- package/src/gg-database/index.js.map +1 -0
- package/src/gg-database/modules/mikroorm.module.d.ts +37 -0
- package/src/gg-database/modules/mikroorm.module.js +111 -0
- package/src/gg-database/modules/mikroorm.module.js.map +1 -0
- package/src/gg-errors/exception.domain-codes.d.ts +12 -0
- package/src/gg-errors/exception.domain-codes.js +17 -0
- package/src/gg-errors/exception.domain-codes.js.map +1 -0
- package/src/gg-errors/exceptions/gg.exception.d.ts +12 -0
- package/src/gg-errors/exceptions/gg.exception.js +27 -0
- package/src/gg-errors/exceptions/gg.exception.js.map +1 -0
- package/src/gg-errors/gcp-error-event.interface.d.ts +18 -0
- package/src/gg-errors/gcp-error-event.interface.js +3 -0
- package/src/gg-errors/gcp-error-event.interface.js.map +1 -0
- package/src/gg-errors/gcp-error-reporting.service.d.ts +11 -0
- package/src/gg-errors/gcp-error-reporting.service.js +71 -0
- package/src/gg-errors/gcp-error-reporting.service.js.map +1 -0
- package/src/gg-errors/gg-errors-exception.filter.d.ts +9 -0
- package/src/gg-errors/gg-errors-exception.filter.js +26 -0
- package/src/gg-errors/gg-errors-exception.filter.js.map +1 -0
- package/src/gg-errors/gg-errors.module-options.d.ts +8 -0
- package/src/gg-errors/gg-errors.module-options.js +5 -0
- package/src/gg-errors/gg-errors.module-options.js.map +1 -0
- package/src/gg-errors/gg-errors.module.d.ts +5 -0
- package/src/gg-errors/gg-errors.module.js +35 -0
- package/src/gg-errors/gg-errors.module.js.map +1 -0
- package/src/gg-errors/gg-exception.service.d.ts +50 -0
- package/src/gg-errors/gg-exception.service.js +213 -0
- package/src/gg-errors/gg-exception.service.js.map +1 -0
- package/src/gg-errors/index.d.ts +1 -0
- package/src/gg-errors/index.js +5 -0
- package/src/gg-errors/index.js.map +1 -0
- package/src/gg-gcp/gcp-trace-and-profiler.d.ts +1 -0
- package/src/gg-gcp/gcp-trace-and-profiler.js +52 -0
- package/src/gg-gcp/gcp-trace-and-profiler.js.map +1 -0
- package/src/gg-gcp/index.d.ts +1 -0
- package/src/gg-gcp/index.js +5 -0
- package/src/gg-gcp/index.js.map +1 -0
- package/src/gg-healthchecks/gg-healthchecks.controller.d.ts +7 -0
- package/src/gg-healthchecks/gg-healthchecks.controller.js +31 -0
- package/src/gg-healthchecks/gg-healthchecks.controller.js.map +1 -0
- package/src/gg-healthchecks/gg-healthchecks.module.d.ts +4 -0
- package/src/gg-healthchecks/gg-healthchecks.module.js +17 -0
- package/src/gg-healthchecks/gg-healthchecks.module.js.map +1 -0
- package/src/gg-kernel/index.d.ts +2 -0
- package/src/gg-kernel/index.js +6 -0
- package/src/gg-kernel/index.js.map +1 -0
- package/src/gg-kernel/kernel.d.ts +36 -0
- package/src/gg-kernel/kernel.js +86 -0
- package/src/gg-kernel/kernel.js.map +1 -0
- package/src/gg-kernel/service-providers/base-service-provider.d.ts +15 -0
- package/src/gg-kernel/service-providers/base-service-provider.js +25 -0
- package/src/gg-kernel/service-providers/base-service-provider.js.map +1 -0
- package/src/gg-kernel/service-providers/global-prefix.service-provider.d.ts +4 -0
- package/src/gg-kernel/service-providers/global-prefix.service-provider.js +17 -0
- package/src/gg-kernel/service-providers/global-prefix.service-provider.js.map +1 -0
- package/src/gg-kernel/service-providers/helmet.service-provider.d.ts +4 -0
- package/src/gg-kernel/service-providers/helmet.service-provider.js +12 -0
- package/src/gg-kernel/service-providers/helmet.service-provider.js.map +1 -0
- package/src/gg-kernel/service-providers/index.d.ts +8 -0
- package/src/gg-kernel/service-providers/index.js +12 -0
- package/src/gg-kernel/service-providers/index.js.map +1 -0
- package/src/gg-kernel/service-providers/logger.service-provider.d.ts +8 -0
- package/src/gg-kernel/service-providers/logger.service-provider.js +20 -0
- package/src/gg-kernel/service-providers/logger.service-provider.js.map +1 -0
- package/src/gg-kernel/service-providers/shutdown-hooks.service-provider.d.ts +7 -0
- package/src/gg-kernel/service-providers/shutdown-hooks.service-provider.js +14 -0
- package/src/gg-kernel/service-providers/shutdown-hooks.service-provider.js.map +1 -0
- package/src/gg-kernel/service-providers/swagger.service-provider.d.ts +13 -0
- package/src/gg-kernel/service-providers/swagger.service-provider.js +35 -0
- package/src/gg-kernel/service-providers/swagger.service-provider.js.map +1 -0
- package/src/gg-kernel/service-providers/validation.service-provider.d.ts +10 -0
- package/src/gg-kernel/service-providers/validation.service-provider.js +22 -0
- package/src/gg-kernel/service-providers/validation.service-provider.js.map +1 -0
- package/src/gg-kernel/service-providers/versioning.service-provider.d.ts +10 -0
- package/src/gg-kernel/service-providers/versioning.service-provider.js +17 -0
- package/src/gg-kernel/service-providers/versioning.service-provider.js.map +1 -0
- package/src/gg-logger/gg-logger.module.d.ts +4 -0
- package/src/gg-logger/gg-logger.module.js +48 -0
- package/src/gg-logger/gg-logger.module.js.map +1 -0
- package/src/gg-metrics/gg-metrics.controller.d.ts +3 -0
- package/src/gg-metrics/gg-metrics.controller.js +15 -0
- package/src/gg-metrics/gg-metrics.controller.js.map +1 -0
- package/src/gg-metrics/gg-metrics.module.d.ts +4 -0
- package/src/gg-metrics/gg-metrics.module.js +31 -0
- package/src/gg-metrics/gg-metrics.module.js.map +1 -0
- package/src/gg-metrics/index.d.ts +1 -0
- package/src/gg-metrics/index.js +5 -0
- package/src/gg-metrics/index.js.map +1 -0
- package/src/gg-micro/gg-micro.module.d.ts +5 -0
- package/src/gg-micro/gg-micro.module.js +62 -0
- package/src/gg-micro/gg-micro.module.js.map +1 -0
- package/src/gg-micro/gg-rmq-service.injector.d.ts +19 -0
- package/src/gg-micro/gg-rmq-service.injector.js +29 -0
- package/src/gg-micro/gg-rmq-service.injector.js.map +1 -0
- package/src/gg-micro/gg-rmq.configurator.d.ts +16 -0
- package/src/gg-micro/gg-rmq.configurator.js +34 -0
- package/src/gg-micro/gg-rmq.configurator.js.map +1 -0
- package/src/gg-micro/index.d.ts +4 -0
- package/src/gg-micro/index.js +8 -0
- package/src/gg-micro/index.js.map +1 -0
- package/src/gg-micro/micro.client.d.ts +62 -0
- package/src/gg-micro/micro.client.js +101 -0
- package/src/gg-micro/micro.client.js.map +1 -0
- package/src/gg-micro/rmq.config.d.ts +10 -0
- package/src/gg-micro/rmq.config.js +50 -0
- package/src/gg-micro/rmq.config.js.map +1 -0
- package/src/gg-micro/rmq.connector.d.ts +12 -0
- package/src/gg-micro/rmq.connector.js +25 -0
- package/src/gg-micro/rmq.connector.js.map +1 -0
- package/src/gg-micro/rmq.queue-map.d.ts +2 -0
- package/src/gg-micro/rmq.queue-map.js +24 -0
- package/src/gg-micro/rmq.queue-map.js.map +1 -0
- package/src/gg-throttler/gg-throttler.module-options.d.ts +4 -0
- package/src/gg-throttler/gg-throttler.module-options.js +3 -0
- package/src/gg-throttler/gg-throttler.module-options.js.map +1 -0
- package/src/gg-throttler/gg-throttler.module.d.ts +5 -0
- package/src/gg-throttler/gg-throttler.module.js +24 -0
- package/src/gg-throttler/gg-throttler.module.js.map +1 -0
- package/src/gg-throttler/throttler.guard.d.ts +13 -0
- package/src/gg-throttler/throttler.guard.js +28 -0
- package/src/gg-throttler/throttler.guard.js.map +1 -0
- package/src/index.d.ts +10 -0
- package/src/index.js +14 -0
- package/src/index.js.map +1 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ConfigType } from '@nestjs/config';
|
|
2
|
+
import { Cache } from 'cache-manager';
|
|
3
|
+
import { Duration } from 'luxon';
|
|
4
|
+
import { appConfig } from '../gg-config';
|
|
5
|
+
interface CacheOptions {
|
|
6
|
+
namespaced?: boolean;
|
|
7
|
+
ttl?: Duration;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* @todo add prometheus metrics for hit percent some day
|
|
11
|
+
*/
|
|
12
|
+
export declare class GgCacheService {
|
|
13
|
+
private readonly appConf;
|
|
14
|
+
private cacheManager;
|
|
15
|
+
private readonly logger;
|
|
16
|
+
constructor(appConf: ConfigType<typeof appConfig>, cacheManager: Cache);
|
|
17
|
+
get<T>(key: string, namespaced?: boolean): Promise<T>;
|
|
18
|
+
set(key: string, value: unknown, options?: CacheOptions): Promise<void>;
|
|
19
|
+
del(key: string, namespaced?: boolean): Promise<void>;
|
|
20
|
+
reset(): Promise<void>;
|
|
21
|
+
protected getPrefix(key: string, namespaced: boolean): string;
|
|
22
|
+
}
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var GgCacheService_1;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.GgCacheService = void 0;
|
|
5
|
+
const tslib_1 = require("tslib");
|
|
6
|
+
const cache_manager_1 = require("@nestjs/cache-manager");
|
|
7
|
+
const common_1 = require("@nestjs/common");
|
|
8
|
+
const luxon_1 = require("luxon");
|
|
9
|
+
const gg_config_1 = require("../gg-config");
|
|
10
|
+
const defaultCacheOptions = { namespaced: true, ttl: luxon_1.Duration.fromObject({ second: 30 }) };
|
|
11
|
+
/**
|
|
12
|
+
* @todo add prometheus metrics for hit percent some day
|
|
13
|
+
*/
|
|
14
|
+
let GgCacheService = GgCacheService_1 = class GgCacheService {
|
|
15
|
+
constructor(appConf, cacheManager) {
|
|
16
|
+
this.appConf = appConf;
|
|
17
|
+
this.cacheManager = cacheManager;
|
|
18
|
+
this.logger = new common_1.Logger(GgCacheService_1.name);
|
|
19
|
+
}
|
|
20
|
+
async get(key, namespaced = true) {
|
|
21
|
+
key = this.getPrefix(key, namespaced);
|
|
22
|
+
this.logger.debug({ message: `Attempt to get value`, key });
|
|
23
|
+
const value = await this.cacheManager.get(key);
|
|
24
|
+
if (value)
|
|
25
|
+
this.logger.debug({ message: 'Cache hit', key });
|
|
26
|
+
if (!value)
|
|
27
|
+
this.logger.debug({ message: 'Cache miss', key });
|
|
28
|
+
return value;
|
|
29
|
+
}
|
|
30
|
+
set(key, value, options) {
|
|
31
|
+
options = { ...defaultCacheOptions, ...options };
|
|
32
|
+
key = this.getPrefix(key, options.namespaced);
|
|
33
|
+
this.logger.debug({ message: `Set cache value`, key });
|
|
34
|
+
return this.cacheManager.set(key, value, options.ttl.as('milliseconds'));
|
|
35
|
+
}
|
|
36
|
+
del(key, namespaced = true) {
|
|
37
|
+
key = this.getPrefix(key, namespaced);
|
|
38
|
+
this.logger.debug({ message: 'Cache value deleted', key });
|
|
39
|
+
return this.cacheManager.del(key);
|
|
40
|
+
}
|
|
41
|
+
reset() {
|
|
42
|
+
this.logger.warn('ALL CACHE DATA HAS BEEN DELETED');
|
|
43
|
+
return this.cacheManager.reset();
|
|
44
|
+
}
|
|
45
|
+
getPrefix(key, namespaced) {
|
|
46
|
+
if (namespaced)
|
|
47
|
+
return `${this.appConf.name}:cache:${key}`;
|
|
48
|
+
return key;
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
exports.GgCacheService = GgCacheService;
|
|
52
|
+
exports.GgCacheService = GgCacheService = GgCacheService_1 = tslib_1.__decorate([
|
|
53
|
+
(0, common_1.Injectable)(),
|
|
54
|
+
tslib_1.__param(0, (0, common_1.Inject)(gg_config_1.appConfig.KEY)),
|
|
55
|
+
tslib_1.__param(1, (0, common_1.Inject)(cache_manager_1.CACHE_MANAGER)),
|
|
56
|
+
tslib_1.__metadata("design:paramtypes", [void 0, Object])
|
|
57
|
+
], GgCacheService);
|
|
58
|
+
//# sourceMappingURL=gg-cache.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gg-cache.service.js","sourceRoot":"","sources":["../../../../../libs/gg-core/src/gg-cache/gg-cache.service.ts"],"names":[],"mappings":";;;;;AAAA,yDAAsD;AACtD,2CAA4D;AAG5D,iCAAiC;AACjC,4CAAyC;AAOzC,MAAM,mBAAmB,GAAiB,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,gBAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;AAEzG;;GAEG;AAEI,IAAM,cAAc,sBAApB,MAAM,cAAc;IAGzB,YACyB,OAAsD,EACtD,YAA2B;QADV,YAAO,GAAP,OAAO,CAA8B;QAC9C,iBAAY,GAAZ,YAAY,CAAO;QAJnC,WAAM,GAAG,IAAI,eAAM,CAAC,gBAAc,CAAC,IAAI,CAAC,CAAC;IAKvD,CAAC;IAEG,KAAK,CAAC,GAAG,CAAI,GAAW,EAAE,UAAU,GAAG,IAAI;QAChD,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAEtC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,sBAAsB,EAAE,GAAG,EAAE,CAAC,CAAC;QAE5D,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAI,GAAG,CAAC,CAAC;QAElD,IAAI,KAAK;YAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;QAC5D,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC;QAE9D,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,GAAG,CAAC,GAAW,EAAE,KAAc,EAAE,OAAsB;QAC5D,OAAO,GAAG,EAAE,GAAG,mBAAmB,EAAE,GAAG,OAAO,EAAE,CAAC;QAEjD,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QAE9C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,GAAG,EAAE,CAAC,CAAC;QAEvD,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAC3E,CAAC;IAEM,GAAG,CAAC,GAAW,EAAE,UAAU,GAAG,IAAI;QACvC,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAEtC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,qBAAqB,EAAE,GAAG,EAAE,CAAC,CAAC;QAE3D,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAEpD,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IACnC,CAAC;IAES,SAAS,CAAC,GAAW,EAAE,UAAmB;QAClD,IAAI,UAAU;YAAE,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,UAAU,GAAG,EAAE,CAAC;QAE3D,OAAO,GAAG,CAAC;IACb,CAAC;CACF,CAAA;AAlDY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,mBAAU,GAAE;IAKR,mBAAA,IAAA,eAAM,EAAC,qBAAS,CAAC,GAAG,CAAC,CAAA;IACrB,mBAAA,IAAA,eAAM,EAAC,6BAAa,CAAC,CAAA;;GALb,cAAc,CAkD1B"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./gg-cache.service"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./redis.config"), exports);
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/gg-core/src/gg-cache/index.ts"],"names":[],"mappings":";;;AAAA,6DAAmC;AACnC,yDAA+B"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.redisConfig = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const class_validator_1 = require("class-validator");
|
|
6
|
+
const lodash_1 = require("lodash");
|
|
7
|
+
const gg_config_1 = require("../gg-config");
|
|
8
|
+
class RedisConfig {
|
|
9
|
+
constructor() {
|
|
10
|
+
this.host = (0, lodash_1.get)(process.env, 'REDIS_HOST');
|
|
11
|
+
this.port = (0, lodash_1.get)(process.env, 'REDIS_PORT', 6349);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
tslib_1.__decorate([
|
|
15
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
16
|
+
tslib_1.__metadata("design:type", String)
|
|
17
|
+
], RedisConfig.prototype, "host", void 0);
|
|
18
|
+
tslib_1.__decorate([
|
|
19
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
20
|
+
tslib_1.__metadata("design:type", Object)
|
|
21
|
+
], RedisConfig.prototype, "port", void 0);
|
|
22
|
+
exports.redisConfig = (0, gg_config_1.registerConfig)(RedisConfig);
|
|
23
|
+
//# sourceMappingURL=redis.config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redis.config.js","sourceRoot":"","sources":["../../../../../libs/gg-core/src/gg-cache/redis.config.ts"],"names":[],"mappings":";;;;AAAA,qDAA6C;AAC7C,mCAA6B;AAC7B,4CAA8C;AAE9C,MAAM,WAAW;IAAjB;QAEkB,SAAI,GAAW,IAAA,YAAG,EAAC,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QAG9C,SAAI,GAAG,IAAA,YAAG,EAAC,OAAO,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,CAAW,CAAC;IACxE,CAAC;CAAA;AAJiB;IADf,IAAA,4BAAU,GAAE;;yCACiD;AAG9C;IADf,IAAA,4BAAU,GAAE;;yCACyD;AAG3D,QAAA,WAAW,GAAG,IAAA,0BAAc,EAAC,WAAW,CAAC,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var GgClsModule_1;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.GgClsModule = void 0;
|
|
5
|
+
const tslib_1 = require("tslib");
|
|
6
|
+
const common_1 = require("@nestjs/common");
|
|
7
|
+
const core_1 = require("@nestjs/core");
|
|
8
|
+
const lodash_1 = require("lodash");
|
|
9
|
+
const nestjs_cls_1 = require("nestjs-cls");
|
|
10
|
+
const uuid_1 = require("uuid");
|
|
11
|
+
let GgClsModule = GgClsModule_1 = class GgClsModule {
|
|
12
|
+
static forRoot() {
|
|
13
|
+
return {
|
|
14
|
+
global: true,
|
|
15
|
+
module: GgClsModule_1,
|
|
16
|
+
providers: [{ provide: core_1.APP_GUARD, useClass: nestjs_cls_1.ClsGuard }],
|
|
17
|
+
imports: [
|
|
18
|
+
nestjs_cls_1.ClsModule.forRootAsync({
|
|
19
|
+
global: true,
|
|
20
|
+
useFactory: () => ({
|
|
21
|
+
guard: {
|
|
22
|
+
mount: false,
|
|
23
|
+
generateId: true,
|
|
24
|
+
idGenerator: (context) => {
|
|
25
|
+
if (context.getType() === 'http') {
|
|
26
|
+
return (0, lodash_1.get)(context.switchToHttp().getRequest(), 'id');
|
|
27
|
+
}
|
|
28
|
+
if (context.getType() === 'rpc') {
|
|
29
|
+
return (0, lodash_1.get)(context.switchToRpc().getContext().getArgs(), `[0].properties.headers.request-id`, (0, uuid_1.v4)());
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
/**
|
|
33
|
+
* Implicitly setup CLS_REQ due to lack of request context in guard setup
|
|
34
|
+
*
|
|
35
|
+
* @param cls
|
|
36
|
+
* @param context
|
|
37
|
+
*/
|
|
38
|
+
setup: (cls, context) => {
|
|
39
|
+
if (context.getType() === 'http') {
|
|
40
|
+
cls.set(nestjs_cls_1.CLS_REQ, context.switchToHttp().getRequest());
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
}),
|
|
45
|
+
}),
|
|
46
|
+
],
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
exports.GgClsModule = GgClsModule;
|
|
51
|
+
exports.GgClsModule = GgClsModule = GgClsModule_1 = tslib_1.__decorate([
|
|
52
|
+
(0, common_1.Module)({})
|
|
53
|
+
], GgClsModule);
|
|
54
|
+
//# sourceMappingURL=gg-cls.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gg-cls.module.js","sourceRoot":"","sources":["../../../../../libs/gg-core/src/gg-cls/gg-cls.module.ts"],"names":[],"mappings":";;;;;AAAA,2CAAyE;AACzE,uCAAyC;AACzC,mCAA6B;AAC7B,2CAAsE;AACtE,+BAA0B;AAGnB,IAAM,WAAW,mBAAjB,MAAM,WAAW;IACf,MAAM,CAAC,OAAO;QACnB,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,aAAW;YACnB,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,gBAAS,EAAE,QAAQ,EAAE,qBAAQ,EAAE,CAAC;YACvD,OAAO,EAAE;gBACP,sBAAS,CAAC,YAAY,CAAC;oBACrB,MAAM,EAAE,IAAI;oBACZ,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;wBACjB,KAAK,EAAE;4BACL,KAAK,EAAE,KAAK;4BACZ,UAAU,EAAE,IAAI;4BAChB,WAAW,EAAE,CAAC,OAAyB,EAAE,EAAE;gCACzC,IAAI,OAAO,CAAC,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC;oCACjC,OAAO,IAAA,YAAG,EAAC,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,EAAE,IAAI,CAAW,CAAC;gCAClE,CAAC;gCAED,IAAI,OAAO,CAAC,OAAO,EAAE,KAAK,KAAK,EAAE,CAAC;oCAChC,OAAO,IAAA,YAAG,EAAC,OAAO,CAAC,WAAW,EAAE,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,EAAE,mCAAmC,EAAE,IAAA,SAAE,GAAE,CAAC,CAAC;gCACtG,CAAC;4BACH,CAAC;4BACD;;;;;+BAKG;4BACH,KAAK,EAAE,CAAC,GAAe,EAAE,OAAyB,EAAE,EAAE;gCACpD,IAAI,OAAO,CAAC,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC;oCACjC,GAAG,CAAC,GAAG,CAAC,oBAAO,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC;gCACxD,CAAC;4BACH,CAAC;yBACF;qBACF,CAAC;iBACH,CAAC;aACH;SACF,CAAC;IACJ,CAAC;CACF,CAAA;AAvCY,kCAAW;sBAAX,WAAW;IADvB,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,WAAW,CAuCvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './gg-cls.module';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/gg-core/src/gg-cls/index.ts"],"names":[],"mappings":";;;AAAA,0DAAgC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { LogLevel } from '@nestjs/common';
|
|
2
|
+
declare class AppConfig {
|
|
3
|
+
readonly nodeEnv: string;
|
|
4
|
+
readonly name: string;
|
|
5
|
+
readonly appVersion: string;
|
|
6
|
+
readonly port: number;
|
|
7
|
+
readonly prefix: string;
|
|
8
|
+
readonly debug: boolean;
|
|
9
|
+
readonly swaggerEnabled: boolean;
|
|
10
|
+
readonly logFormat: 'json' | 'pretty';
|
|
11
|
+
readonly logLevel: LogLevel;
|
|
12
|
+
readonly gcpOpsEnabled: boolean;
|
|
13
|
+
readonly gcpTraceIgnoreUrls: string[];
|
|
14
|
+
}
|
|
15
|
+
export declare const appConfig: (() => Promise<AppConfig>) & import("@nestjs/config").ConfigFactoryKeyHost<Promise<AppConfig>>;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.appConfig = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const common_1 = require("@nestjs/common");
|
|
6
|
+
const class_validator_1 = require("class-validator");
|
|
7
|
+
const lodash_1 = require("lodash");
|
|
8
|
+
const validate_config_1 = require("./validate-config");
|
|
9
|
+
let AppConfig = class AppConfig {
|
|
10
|
+
constructor() {
|
|
11
|
+
this.nodeEnv = (0, lodash_1.get)(process.env, 'NODE_ENV', 'development');
|
|
12
|
+
this.name = (0, lodash_1.get)(process.env, 'APP_NAME');
|
|
13
|
+
this.appVersion = (0, lodash_1.get)(process.env, 'APP_VERSION');
|
|
14
|
+
this.port = Number((0, lodash_1.get)(process.env, 'APP_PORT', 3000));
|
|
15
|
+
this.prefix = (0, lodash_1.get)(process.env, 'APP_PREFIX', this.name);
|
|
16
|
+
this.debug = (0, lodash_1.get)(process.env, 'APP_DEBUG', false) === 'true';
|
|
17
|
+
this.swaggerEnabled = (0, lodash_1.get)(process.env, 'SWAGGER_ENABLED', false);
|
|
18
|
+
this.logFormat = (0, lodash_1.get)(process.env, 'LOG_FORMAT', 'json');
|
|
19
|
+
this.logLevel = (0, lodash_1.get)(process.env, 'LOG_LEVEL', 'info');
|
|
20
|
+
this.gcpOpsEnabled = (0, lodash_1.get)(process.env, 'GCP_OPS_ENABLED', false);
|
|
21
|
+
this.gcpTraceIgnoreUrls = (0, lodash_1.get)(process.env, 'GCP_TRACE_IGNORE_URLS', '').split(',');
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
tslib_1.__decorate([
|
|
25
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
26
|
+
(0, class_validator_1.IsString)(),
|
|
27
|
+
tslib_1.__metadata("design:type", String)
|
|
28
|
+
], AppConfig.prototype, "nodeEnv", void 0);
|
|
29
|
+
tslib_1.__decorate([
|
|
30
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
31
|
+
(0, class_validator_1.IsString)(),
|
|
32
|
+
tslib_1.__metadata("design:type", String)
|
|
33
|
+
], AppConfig.prototype, "name", void 0);
|
|
34
|
+
tslib_1.__decorate([
|
|
35
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
36
|
+
(0, class_validator_1.IsString)(),
|
|
37
|
+
tslib_1.__metadata("design:type", String)
|
|
38
|
+
], AppConfig.prototype, "appVersion", void 0);
|
|
39
|
+
tslib_1.__decorate([
|
|
40
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
41
|
+
(0, class_validator_1.IsNumber)(),
|
|
42
|
+
tslib_1.__metadata("design:type", Number)
|
|
43
|
+
], AppConfig.prototype, "port", void 0);
|
|
44
|
+
tslib_1.__decorate([
|
|
45
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
46
|
+
(0, class_validator_1.IsString)(),
|
|
47
|
+
tslib_1.__metadata("design:type", String)
|
|
48
|
+
], AppConfig.prototype, "prefix", void 0);
|
|
49
|
+
tslib_1.__decorate([
|
|
50
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
51
|
+
(0, class_validator_1.IsBoolean)(),
|
|
52
|
+
tslib_1.__metadata("design:type", Boolean)
|
|
53
|
+
], AppConfig.prototype, "debug", void 0);
|
|
54
|
+
tslib_1.__decorate([
|
|
55
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
56
|
+
tslib_1.__metadata("design:type", Boolean)
|
|
57
|
+
], AppConfig.prototype, "swaggerEnabled", void 0);
|
|
58
|
+
tslib_1.__decorate([
|
|
59
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
60
|
+
tslib_1.__metadata("design:type", String)
|
|
61
|
+
], AppConfig.prototype, "logFormat", void 0);
|
|
62
|
+
tslib_1.__decorate([
|
|
63
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
64
|
+
tslib_1.__metadata("design:type", String)
|
|
65
|
+
], AppConfig.prototype, "logLevel", void 0);
|
|
66
|
+
tslib_1.__decorate([
|
|
67
|
+
(0, class_validator_1.IsOptional)(),
|
|
68
|
+
tslib_1.__metadata("design:type", Boolean)
|
|
69
|
+
], AppConfig.prototype, "gcpOpsEnabled", void 0);
|
|
70
|
+
tslib_1.__decorate([
|
|
71
|
+
(0, class_validator_1.IsOptional)(),
|
|
72
|
+
tslib_1.__metadata("design:type", Array)
|
|
73
|
+
], AppConfig.prototype, "gcpTraceIgnoreUrls", void 0);
|
|
74
|
+
AppConfig = tslib_1.__decorate([
|
|
75
|
+
(0, common_1.Injectable)()
|
|
76
|
+
], AppConfig);
|
|
77
|
+
exports.appConfig = (0, validate_config_1.registerConfig)(AppConfig);
|
|
78
|
+
//# sourceMappingURL=app.config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.config.js","sourceRoot":"","sources":["../../../../../libs/gg-core/src/gg-config/app.config.ts"],"names":[],"mappings":";;;;AAAA,2CAAsD;AACtD,qDAAwF;AACxF,mCAA6B;AAC7B,uDAAmD;AAGnD,IAAM,SAAS,GAAf,MAAM,SAAS;IAAf;QAGkB,YAAO,GAAW,IAAA,YAAG,EAAC,OAAO,CAAC,GAAG,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;QAI9D,SAAI,GAAW,IAAA,YAAG,EAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAI5C,eAAU,GAAW,IAAA,YAAG,EAAC,OAAO,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QAIrD,SAAI,GAAW,MAAM,CAAC,IAAA,YAAG,EAAC,OAAO,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;QAI1D,WAAM,GAAW,IAAA,YAAG,EAAC,OAAO,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAI3D,UAAK,GAAY,IAAA,YAAG,EAAC,OAAO,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,CAAC,KAAK,MAAM,CAAC;QAGjE,mBAAc,GAAY,IAAA,YAAG,EAAC,OAAO,CAAC,GAAG,EAAE,iBAAiB,EAAE,KAAK,CAAY,CAAC;QAGhF,cAAS,GAAsB,IAAA,YAAG,EAAC,OAAO,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,CAAsB,CAAC;QAG3F,aAAQ,GAAa,IAAA,YAAG,EAAC,OAAO,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,CAAa,CAAC;QAGvE,kBAAa,GAAY,IAAA,YAAG,EAAC,OAAO,CAAC,GAAG,EAAE,iBAAiB,EAAE,KAAK,CAAY,CAAC;QAG/E,uBAAkB,GAAa,IAAA,YAAG,EAAC,OAAO,CAAC,GAAG,EAAE,uBAAuB,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1G,CAAC;CAAA,CAAA;AApCiB;IAFf,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;0CACmE;AAI9D;IAFf,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;uCACiD;AAI5C;IAFf,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;6CAC0D;AAIrD;IAFf,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;uCAC+D;AAI1D;IAFf,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;yCACgE;AAI3D;IAFf,IAAA,4BAAU,GAAE;IACZ,IAAA,2BAAS,GAAE;;wCACqE;AAGjE;IADf,IAAA,4BAAU,GAAE;;iDACmF;AAGhF;IADf,IAAA,4BAAU,GAAE;;4CAC8F;AAG3F;IADf,IAAA,4BAAU,GAAE;;2CAC0E;AAGvE;IADf,IAAA,4BAAU,GAAE;;gDACkF;AAG/E;IADf,IAAA,4BAAU,GAAE;;qDAC2F;AAtCpG,SAAS;IADd,IAAA,mBAAU,GAAE;GACP,SAAS,CAuCd;AAEY,QAAA,SAAS,GAAG,IAAA,gCAAc,EAAC,SAAS,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gg-config.module-options.js","sourceRoot":"","sources":["../../../../../libs/gg-core/src/gg-config/gg-config.module-options.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var GgConfigModule_1;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.GgConfigModule = void 0;
|
|
5
|
+
const tslib_1 = require("tslib");
|
|
6
|
+
const common_1 = require("@nestjs/common");
|
|
7
|
+
const config_1 = require("@nestjs/config");
|
|
8
|
+
let GgConfigModule = GgConfigModule_1 = class GgConfigModule {
|
|
9
|
+
static forRoot(options) {
|
|
10
|
+
return {
|
|
11
|
+
module: GgConfigModule_1,
|
|
12
|
+
global: true,
|
|
13
|
+
imports: [config_1.ConfigModule.forRoot({ isGlobal: true, cache: true, load: options.configs })],
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
exports.GgConfigModule = GgConfigModule;
|
|
18
|
+
exports.GgConfigModule = GgConfigModule = GgConfigModule_1 = tslib_1.__decorate([
|
|
19
|
+
(0, common_1.Global)(),
|
|
20
|
+
(0, common_1.Module)({})
|
|
21
|
+
], GgConfigModule);
|
|
22
|
+
//# sourceMappingURL=gg-config.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gg-config.module.js","sourceRoot":"","sources":["../../../../../libs/gg-core/src/gg-config/gg-config.module.ts"],"names":[],"mappings":";;;;;AAAA,2CAA+D;AAC/D,2CAA8C;AAKvC,IAAM,cAAc,sBAApB,MAAM,cAAc;IAClB,MAAM,CAAC,OAAO,CAAC,OAA8B;QAClD,OAAO;YACL,MAAM,EAAE,gBAAc;YACtB,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,CAAC,qBAAY,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;SACxF,CAAC;IACJ,CAAC;CACF,CAAA;AARY,wCAAc;yBAAd,cAAc;IAF1B,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,cAAc,CAQ1B"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./app.config"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./gg-config.module"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./validate-config"), exports);
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/gg-core/src/gg-config/index.ts"],"names":[],"mappings":";;;AAAA,uDAA6B;AAC7B,6DAAmC;AACnC,4DAAkC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.registerConfig = void 0;
|
|
4
|
+
const common_1 = require("@nestjs/common");
|
|
5
|
+
const config_1 = require("@nestjs/config");
|
|
6
|
+
const exceptions_1 = require("@nestjs/core/errors/exceptions");
|
|
7
|
+
const class_transformer_validator_1 = require("class-transformer-validator");
|
|
8
|
+
const logger = new common_1.Logger('ConfigValidator');
|
|
9
|
+
const validateConfig = async (configClass) => {
|
|
10
|
+
try {
|
|
11
|
+
const validated = await (0, class_transformer_validator_1.transformAndValidate)(configClass, process.env, {
|
|
12
|
+
validator: { whitelist: true },
|
|
13
|
+
});
|
|
14
|
+
logger.log(`Config ${configClass.name} validated successfully`);
|
|
15
|
+
return validated;
|
|
16
|
+
}
|
|
17
|
+
catch (e) {
|
|
18
|
+
if (Array.isArray(e)) {
|
|
19
|
+
e.forEach((err) => {
|
|
20
|
+
logger.error(`${configClass.name} ${err.property} failed validation: ${Object.values(err.constraints).join('; ')}`);
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
logger.error(`${configClass.name} failed validation: ${e.message}`);
|
|
25
|
+
}
|
|
26
|
+
throw new exceptions_1.RuntimeException(e);
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
const registerConfig = (configClass) => (0, config_1.registerAs)(configClass.name, async () => await validateConfig(configClass));
|
|
30
|
+
exports.registerConfig = registerConfig;
|
|
31
|
+
//# sourceMappingURL=validate-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-config.js","sourceRoot":"","sources":["../../../../../libs/gg-core/src/gg-config/validate-config.ts"],"names":[],"mappings":";;;AAAA,2CAAyD;AACzD,2CAA4C;AAC5C,+DAAkE;AAClE,6EAA8E;AAE9E,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,iBAAiB,CAAC,CAAC;AAE7C,MAAM,cAAc,GAAG,KAAK,EAAoB,WAAyB,EAAE,EAAE;IAC3E,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,IAAA,kDAAoB,EAAC,WAAW,EAAE,OAAO,CAAC,GAAG,EAAE;YACrE,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;SAC/B,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,CAAC,UAAU,WAAW,CAAC,IAAI,yBAAyB,CAAC,CAAC;QAEhE,OAAO,SAAS,CAAC;IACnB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACrB,CAAC,CAAC,OAAO,CAAC,CAAC,GAAoB,EAAE,EAAE;gBACjC,MAAM,CAAC,KAAK,CACV,GAAG,WAAW,CAAC,IAAI,IAAI,GAAG,CAAC,QAAQ,uBAAuB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,WAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACvG,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,IAAI,uBAAuB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,IAAI,6BAAgB,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;AACH,CAAC,CAAC;AAEK,MAAM,cAAc,GAAG,CAAmB,WAAyB,EAAE,EAAE,CAC5E,IAAA,mBAAU,EAAC,WAAW,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC;AADjE,QAAA,cAAc,kBACmD"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { GgAuthModuleOptions } from '../gg-auth/gg-auth.module-options';
|
|
2
|
+
import { GgConfigModuleOptions } from '../gg-config/gg-config.module-options';
|
|
3
|
+
import { DbEntitiesConfig } from '../gg-database';
|
|
4
|
+
import { GgErrorsOptions } from '../gg-errors/gg-errors.module-options';
|
|
5
|
+
import { GgThrottlerModuleOptions } from '../gg-throttler/gg-throttler.module-options';
|
|
6
|
+
export interface GgCoreOptions {
|
|
7
|
+
auth?: GgAuthModuleOptions;
|
|
8
|
+
errors: GgErrorsOptions;
|
|
9
|
+
loadConfigs?: GgConfigModuleOptions['configs'];
|
|
10
|
+
throttle?: GgThrottlerModuleOptions;
|
|
11
|
+
db?: DbEntitiesConfig;
|
|
12
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gg-core-module-options.js","sourceRoot":"","sources":["../../../../../libs/gg-core/src/gg-core/gg-core-module-options.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { NestMiddleware } from '@nestjs/common';
|
|
2
|
+
import { Request, Response } from 'express';
|
|
3
|
+
export declare class GgCoreMiddleware implements NestMiddleware {
|
|
4
|
+
static requestIdHeader: string;
|
|
5
|
+
private readonly logger;
|
|
6
|
+
use(req: Request, res: Response, next: (error?: any) => void): any;
|
|
7
|
+
protected getRequestId(req: Request): string | string[];
|
|
8
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var GgCoreMiddleware_1;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.GgCoreMiddleware = void 0;
|
|
5
|
+
const tslib_1 = require("tslib");
|
|
6
|
+
const common_1 = require("@nestjs/common");
|
|
7
|
+
const lodash_1 = require("lodash");
|
|
8
|
+
const uuid_1 = require("uuid");
|
|
9
|
+
let GgCoreMiddleware = GgCoreMiddleware_1 = class GgCoreMiddleware {
|
|
10
|
+
constructor() {
|
|
11
|
+
this.logger = new common_1.Logger(GgCoreMiddleware_1.name);
|
|
12
|
+
}
|
|
13
|
+
use(req, res, next) {
|
|
14
|
+
(0, lodash_1.set)(req, 'id', this.getRequestId(req));
|
|
15
|
+
next();
|
|
16
|
+
}
|
|
17
|
+
getRequestId(req) {
|
|
18
|
+
const isServiceRequest = (0, lodash_1.intersection)(Object.keys(req.headers), [GgCoreMiddleware_1.requestIdHeader]).length === 3;
|
|
19
|
+
if (isServiceRequest) {
|
|
20
|
+
this.logger.log({ msg: `Request recognized as service request. Request ID received from headers.` });
|
|
21
|
+
return req.headers[GgCoreMiddleware_1.requestIdHeader];
|
|
22
|
+
}
|
|
23
|
+
return (0, uuid_1.v4)();
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
exports.GgCoreMiddleware = GgCoreMiddleware;
|
|
27
|
+
GgCoreMiddleware.requestIdHeader = 'x-service-request-id';
|
|
28
|
+
exports.GgCoreMiddleware = GgCoreMiddleware = GgCoreMiddleware_1 = tslib_1.__decorate([
|
|
29
|
+
(0, common_1.Injectable)()
|
|
30
|
+
], GgCoreMiddleware);
|
|
31
|
+
//# sourceMappingURL=gg-core.middleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gg-core.middleware.js","sourceRoot":"","sources":["../../../../../libs/gg-core/src/gg-core/gg-core.middleware.ts"],"names":[],"mappings":";;;;;AAAA,2CAAoE;AAEpE,mCAA2C;AAC3C,+BAA0B;AAGnB,IAAM,gBAAgB,wBAAtB,MAAM,gBAAgB;IAAtB;QAGY,WAAM,GAAG,IAAI,eAAM,CAAC,kBAAgB,CAAC,IAAI,CAAC,CAAC;IAmB9D,CAAC;IAjBQ,GAAG,CAAC,GAAY,EAAE,GAAa,EAAE,IAA2B;QACjE,IAAA,YAAG,EAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;QAEvC,IAAI,EAAE,CAAC;IACT,CAAC;IAES,YAAY,CAAC,GAAY;QACjC,MAAM,gBAAgB,GAAG,IAAA,qBAAY,EAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,kBAAgB,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;QAEjH,IAAI,gBAAgB,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,0EAA0E,EAAE,CAAC,CAAC;YAErG,OAAO,GAAG,CAAC,OAAO,CAAC,kBAAgB,CAAC,eAAe,CAAC,CAAC;QACvD,CAAC;QAED,OAAO,IAAA,SAAE,GAAE,CAAC;IACd,CAAC;;AArBU,4CAAgB;AACb,gCAAe,GAAG,sBAAsB,AAAzB,CAA0B;2BAD5C,gBAAgB;IAD5B,IAAA,mBAAU,GAAE;GACA,gBAAgB,CAsB5B"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { DynamicModule, MiddlewareConsumer, NestModule } from '@nestjs/common';
|
|
2
|
+
import { GgCoreOptions } from './gg-core-module-options';
|
|
3
|
+
/**
|
|
4
|
+
* Module combines and configures all sub-modules in gg-core package
|
|
5
|
+
*/
|
|
6
|
+
export declare class GgCoreModule implements NestModule {
|
|
7
|
+
static forRootAsync(options: GgCoreOptions): DynamicModule;
|
|
8
|
+
configure(consumer: MiddlewareConsumer): any;
|
|
9
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var GgCoreModule_1;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.GgCoreModule = void 0;
|
|
5
|
+
const tslib_1 = require("tslib");
|
|
6
|
+
const common_1 = require("@nestjs/common");
|
|
7
|
+
const gg_auth_module_1 = require("../gg-auth/gg-auth.module");
|
|
8
|
+
const gg_cache_1 = require("../gg-cache");
|
|
9
|
+
const gg_cache_module_1 = require("../gg-cache/gg-cache.module");
|
|
10
|
+
const gg_cls_1 = require("../gg-cls");
|
|
11
|
+
const gg_config_1 = require("../gg-config");
|
|
12
|
+
const gg_database_1 = require("../gg-database");
|
|
13
|
+
const gg_errors_module_1 = require("../gg-errors/gg-errors.module");
|
|
14
|
+
const gg_healthchecks_module_1 = require("../gg-healthchecks/gg-healthchecks.module");
|
|
15
|
+
const gg_logger_module_1 = require("../gg-logger/gg-logger.module");
|
|
16
|
+
const gg_metrics_1 = require("../gg-metrics");
|
|
17
|
+
const gg_micro_1 = require("../gg-micro");
|
|
18
|
+
const gg_core_middleware_1 = require("./gg-core.middleware");
|
|
19
|
+
/**
|
|
20
|
+
* Module combines and configures all sub-modules in gg-core package
|
|
21
|
+
*/
|
|
22
|
+
let GgCoreModule = GgCoreModule_1 = class GgCoreModule {
|
|
23
|
+
static forRootAsync(options) {
|
|
24
|
+
const imports = [
|
|
25
|
+
/** Config module with basic app configurations */
|
|
26
|
+
gg_config_1.GgConfigModule.forRoot({ configs: [gg_config_1.appConfig, gg_cache_1.redisConfig, gg_micro_1.rmqConfig, ...(options.loadConfigs ?? [])] }),
|
|
27
|
+
/** AsyncContext module to avoid DI three rebuilding */
|
|
28
|
+
gg_cls_1.GgClsModule.forRoot(),
|
|
29
|
+
/** Pino logger module */
|
|
30
|
+
gg_logger_module_1.GgLoggerModule.forRoot(),
|
|
31
|
+
/** Auth module */
|
|
32
|
+
gg_auth_module_1.GgAuthModule.forRootAsync(options.auth),
|
|
33
|
+
// GgThrottlerModule.forRoot(options.throttle),
|
|
34
|
+
/** Redis cache module */
|
|
35
|
+
gg_cache_module_1.GgCacheModule.forRoot(),
|
|
36
|
+
/** HealthChecks */
|
|
37
|
+
gg_healthchecks_module_1.GgHealthchecksModule.forRoot(),
|
|
38
|
+
/** HealthChecks */
|
|
39
|
+
gg_metrics_1.GgMetricsModule.forRoot(),
|
|
40
|
+
/** Exceptions */
|
|
41
|
+
gg_errors_module_1.GgErrorsModule.asyncForRoot({
|
|
42
|
+
useFactory: () => ({ domain: options.errors.domain, gcpIgnoreCodes: options.errors.gcpIgnoreCodes ?? [] }),
|
|
43
|
+
}),
|
|
44
|
+
];
|
|
45
|
+
if (options.db)
|
|
46
|
+
imports.push(gg_database_1.MikroormModule.forRoot(options.db));
|
|
47
|
+
return { module: GgCoreModule_1, global: true, imports, providers: [] };
|
|
48
|
+
}
|
|
49
|
+
configure(consumer) {
|
|
50
|
+
consumer.apply(gg_core_middleware_1.GgCoreMiddleware).forRoutes('*');
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
exports.GgCoreModule = GgCoreModule;
|
|
54
|
+
exports.GgCoreModule = GgCoreModule = GgCoreModule_1 = tslib_1.__decorate([
|
|
55
|
+
(0, common_1.Global)(),
|
|
56
|
+
(0, common_1.Module)({})
|
|
57
|
+
], GgCoreModule);
|
|
58
|
+
//# sourceMappingURL=gg-core.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gg-core.module.js","sourceRoot":"","sources":["../../../../../libs/gg-core/src/gg-core/gg-core.module.ts"],"names":[],"mappings":";;;;;AAAA,2CAA+F;AAC/F,8DAAyD;AACzD,0CAA0C;AAC1C,iEAA4D;AAC5D,sCAAwC;AACxC,4CAAyD;AACzD,gDAAgD;AAChD,oEAA+D;AAC/D,sFAAiF;AACjF,oEAA+D;AAC/D,8CAAgD;AAChD,0CAAwC;AAExC,6DAAwD;AAExD;;GAEG;AAGI,IAAM,YAAY,oBAAlB,MAAM,YAAY;IAChB,MAAM,CAAC,YAAY,CAAC,OAAsB;QAC/C,MAAM,OAAO,GAAG;YACd,kDAAkD;YAClD,0BAAc,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,qBAAS,EAAE,sBAAW,EAAE,oBAAS,EAAE,GAAG,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;YAExG,uDAAuD;YACvD,oBAAW,CAAC,OAAO,EAAE;YAErB,yBAAyB;YACzB,iCAAc,CAAC,OAAO,EAAE;YAExB,kBAAkB;YAClB,6BAAY,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC;YAEvC,+CAA+C;YAE/C,yBAAyB;YACzB,+BAAa,CAAC,OAAO,EAAE;YAEvB,mBAAmB;YACnB,6CAAoB,CAAC,OAAO,EAAE;YAE9B,mBAAmB;YACnB,4BAAe,CAAC,OAAO,EAAE;YAEzB,iBAAiB;YACjB,iCAAc,CAAC,YAAY,CAAC;gBAC1B,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,IAAI,EAAE,EAAE,CAAC;aAC3G,CAAC;SACH,CAAC;QAEF,IAAI,OAAO,CAAC,EAAE;YAAE,OAAO,CAAC,IAAI,CAAC,4BAAc,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QAEjE,OAAO,EAAE,MAAM,EAAE,cAAY,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;IACxE,CAAC;IAEM,SAAS,CAAC,QAA4B;QAC3C,QAAQ,CAAC,KAAK,CAAC,qCAAgB,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAClD,CAAC;CACF,CAAA;AAxCY,oCAAY;uBAAZ,YAAY;IAFxB,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,YAAY,CAwCxB"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./gg-core.middleware"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./gg-core.module"), exports);
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/gg-core/src/gg-core/index.ts"],"names":[],"mappings":";;;AAAA,+DAAqC;AACrC,2DAAiC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"db-entities.config.js","sourceRoot":"","sources":["../../../../../../libs/gg-core/src/gg-database/config/db-entities.config.ts"],"names":[],"mappings":";;;AAEA,MAAsB,gBAAgB;CAIrC;AAJD,4CAIC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
declare class MikroOrmConfig {
|
|
2
|
+
readonly host: string;
|
|
3
|
+
readonly user: string;
|
|
4
|
+
readonly password: string;
|
|
5
|
+
readonly dbName: string;
|
|
6
|
+
readonly schema: string;
|
|
7
|
+
}
|
|
8
|
+
export declare const mikroOrmConfig: (() => Promise<MikroOrmConfig>) & import("@nestjs/config").ConfigFactoryKeyHost<Promise<MikroOrmConfig>>;
|
|
9
|
+
export {};
|