@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.
Files changed (239) hide show
  1. package/README.md +11 -0
  2. package/package.json +58 -0
  3. package/src/gg-auth/decorators/protected.decorator.d.ts +9 -0
  4. package/src/gg-auth/decorators/protected.decorator.js +8 -0
  5. package/src/gg-auth/decorators/protected.decorator.js.map +1 -0
  6. package/src/gg-auth/exceptions/merchant-ip-mismatch.exception.d.ts +7 -0
  7. package/src/gg-auth/exceptions/merchant-ip-mismatch.exception.js +15 -0
  8. package/src/gg-auth/exceptions/merchant-ip-mismatch.exception.js.map +1 -0
  9. package/src/gg-auth/exceptions/user-blocked.exception.d.ts +9 -0
  10. package/src/gg-auth/exceptions/user-blocked.exception.js +17 -0
  11. package/src/gg-auth/exceptions/user-blocked.exception.js.map +1 -0
  12. package/src/gg-auth/exceptions/user-inactive.exception.d.ts +9 -0
  13. package/src/gg-auth/exceptions/user-inactive.exception.js +17 -0
  14. package/src/gg-auth/exceptions/user-inactive.exception.js.map +1 -0
  15. package/src/gg-auth/exceptions/user-otp-blocked.exception.d.ts +9 -0
  16. package/src/gg-auth/exceptions/user-otp-blocked.exception.js +17 -0
  17. package/src/gg-auth/exceptions/user-otp-blocked.exception.js.map +1 -0
  18. package/src/gg-auth/exceptions/user-password-blocked.exception.d.ts +9 -0
  19. package/src/gg-auth/exceptions/user-password-blocked.exception.js +17 -0
  20. package/src/gg-auth/exceptions/user-password-blocked.exception.js.map +1 -0
  21. package/src/gg-auth/exceptions/user-password-recovery-blocked.exception.d.ts +9 -0
  22. package/src/gg-auth/exceptions/user-password-recovery-blocked.exception.js +17 -0
  23. package/src/gg-auth/exceptions/user-password-recovery-blocked.exception.js.map +1 -0
  24. package/src/gg-auth/gg-auth.module-options.d.ts +41 -0
  25. package/src/gg-auth/gg-auth.module-options.js +16 -0
  26. package/src/gg-auth/gg-auth.module-options.js.map +1 -0
  27. package/src/gg-auth/gg-auth.module.d.ts +5 -0
  28. package/src/gg-auth/gg-auth.module.js +68 -0
  29. package/src/gg-auth/gg-auth.module.js.map +1 -0
  30. package/src/gg-auth/guards/auth.guard.d.ts +69 -0
  31. package/src/gg-auth/guards/auth.guard.js +175 -0
  32. package/src/gg-auth/guards/auth.guard.js.map +1 -0
  33. package/src/gg-auth/index.d.ts +8 -0
  34. package/src/gg-auth/index.js +13 -0
  35. package/src/gg-auth/index.js.map +1 -0
  36. package/src/gg-auth/injectable-proxy/authorized-merchant.d.ts +10 -0
  37. package/src/gg-auth/injectable-proxy/authorized-merchant.js +28 -0
  38. package/src/gg-auth/injectable-proxy/authorized-merchant.js.map +1 -0
  39. package/src/gg-auth/injectable-proxy/authorized-user.d.ts +24 -0
  40. package/src/gg-auth/injectable-proxy/authorized-user.js +56 -0
  41. package/src/gg-auth/injectable-proxy/authorized-user.js.map +1 -0
  42. package/src/gg-auth/interfaces/authorized.interface.d.ts +5 -0
  43. package/src/gg-auth/interfaces/authorized.interface.js +3 -0
  44. package/src/gg-auth/interfaces/authorized.interface.js.map +1 -0
  45. package/src/gg-auth/services/auth-service.interface.d.ts +4 -0
  46. package/src/gg-auth/services/auth-service.interface.js +3 -0
  47. package/src/gg-auth/services/auth-service.interface.js.map +1 -0
  48. package/src/gg-auth/services/gg-bearer-auth.service.d.ts +39 -0
  49. package/src/gg-auth/services/gg-bearer-auth.service.js +84 -0
  50. package/src/gg-auth/services/gg-bearer-auth.service.js.map +1 -0
  51. package/src/gg-auth/services/gg-merchant-auth.service.d.ts +8 -0
  52. package/src/gg-auth/services/gg-merchant-auth.service.js +24 -0
  53. package/src/gg-auth/services/gg-merchant-auth.service.js.map +1 -0
  54. package/src/gg-auth/utils/get-rpc-user.util.d.ts +3 -0
  55. package/src/gg-auth/utils/get-rpc-user.util.js +14 -0
  56. package/src/gg-auth/utils/get-rpc-user.util.js.map +1 -0
  57. package/src/gg-cache/gg-cache.module.d.ts +4 -0
  58. package/src/gg-cache/gg-cache.module.js +55 -0
  59. package/src/gg-cache/gg-cache.module.js.map +1 -0
  60. package/src/gg-cache/gg-cache.service.d.ts +23 -0
  61. package/src/gg-cache/gg-cache.service.js +58 -0
  62. package/src/gg-cache/gg-cache.service.js.map +1 -0
  63. package/src/gg-cache/index.d.ts +2 -0
  64. package/src/gg-cache/index.js +6 -0
  65. package/src/gg-cache/index.js.map +1 -0
  66. package/src/gg-cache/redis.config.d.ts +6 -0
  67. package/src/gg-cache/redis.config.js +23 -0
  68. package/src/gg-cache/redis.config.js.map +1 -0
  69. package/src/gg-cls/gg-cls.module.d.ts +4 -0
  70. package/src/gg-cls/gg-cls.module.js +54 -0
  71. package/src/gg-cls/gg-cls.module.js.map +1 -0
  72. package/src/gg-cls/index.d.ts +1 -0
  73. package/src/gg-cls/index.js +5 -0
  74. package/src/gg-cls/index.js.map +1 -0
  75. package/src/gg-config/app.config.d.ts +16 -0
  76. package/src/gg-config/app.config.js +78 -0
  77. package/src/gg-config/app.config.js.map +1 -0
  78. package/src/gg-config/gg-config.module-options.d.ts +4 -0
  79. package/src/gg-config/gg-config.module-options.js +3 -0
  80. package/src/gg-config/gg-config.module-options.js.map +1 -0
  81. package/src/gg-config/gg-config.module.d.ts +5 -0
  82. package/src/gg-config/gg-config.module.js +22 -0
  83. package/src/gg-config/gg-config.module.js.map +1 -0
  84. package/src/gg-config/index.d.ts +3 -0
  85. package/src/gg-config/index.js +7 -0
  86. package/src/gg-config/index.js.map +1 -0
  87. package/src/gg-config/validate-config.d.ts +2 -0
  88. package/src/gg-config/validate-config.js +31 -0
  89. package/src/gg-config/validate-config.js.map +1 -0
  90. package/src/gg-core/gg-core-module-options.d.ts +12 -0
  91. package/src/gg-core/gg-core-module-options.js +3 -0
  92. package/src/gg-core/gg-core-module-options.js.map +1 -0
  93. package/src/gg-core/gg-core.middleware.d.ts +8 -0
  94. package/src/gg-core/gg-core.middleware.js +31 -0
  95. package/src/gg-core/gg-core.middleware.js.map +1 -0
  96. package/src/gg-core/gg-core.module.d.ts +9 -0
  97. package/src/gg-core/gg-core.module.js +58 -0
  98. package/src/gg-core/gg-core.module.js.map +1 -0
  99. package/src/gg-core/index.d.ts +2 -0
  100. package/src/gg-core/index.js +6 -0
  101. package/src/gg-core/index.js.map +1 -0
  102. package/src/gg-database/config/db-entities.config.d.ts +5 -0
  103. package/src/gg-database/config/db-entities.config.js +7 -0
  104. package/src/gg-database/config/db-entities.config.js.map +1 -0
  105. package/src/gg-database/config/mikroorm.config.d.ts +9 -0
  106. package/src/gg-database/config/mikroorm.config.js +38 -0
  107. package/src/gg-database/config/mikroorm.config.js.map +1 -0
  108. package/src/gg-database/database.adapter.d.ts +24 -0
  109. package/src/gg-database/database.adapter.js +50 -0
  110. package/src/gg-database/database.adapter.js.map +1 -0
  111. package/src/gg-database/database.connector.d.ts +27 -0
  112. package/src/gg-database/database.connector.js +54 -0
  113. package/src/gg-database/database.connector.js.map +1 -0
  114. package/src/gg-database/index.d.ts +3 -0
  115. package/src/gg-database/index.js +7 -0
  116. package/src/gg-database/index.js.map +1 -0
  117. package/src/gg-database/modules/mikroorm.module.d.ts +37 -0
  118. package/src/gg-database/modules/mikroorm.module.js +111 -0
  119. package/src/gg-database/modules/mikroorm.module.js.map +1 -0
  120. package/src/gg-errors/exception.domain-codes.d.ts +12 -0
  121. package/src/gg-errors/exception.domain-codes.js +17 -0
  122. package/src/gg-errors/exception.domain-codes.js.map +1 -0
  123. package/src/gg-errors/exceptions/gg.exception.d.ts +12 -0
  124. package/src/gg-errors/exceptions/gg.exception.js +27 -0
  125. package/src/gg-errors/exceptions/gg.exception.js.map +1 -0
  126. package/src/gg-errors/gcp-error-event.interface.d.ts +18 -0
  127. package/src/gg-errors/gcp-error-event.interface.js +3 -0
  128. package/src/gg-errors/gcp-error-event.interface.js.map +1 -0
  129. package/src/gg-errors/gcp-error-reporting.service.d.ts +11 -0
  130. package/src/gg-errors/gcp-error-reporting.service.js +71 -0
  131. package/src/gg-errors/gcp-error-reporting.service.js.map +1 -0
  132. package/src/gg-errors/gg-errors-exception.filter.d.ts +9 -0
  133. package/src/gg-errors/gg-errors-exception.filter.js +26 -0
  134. package/src/gg-errors/gg-errors-exception.filter.js.map +1 -0
  135. package/src/gg-errors/gg-errors.module-options.d.ts +8 -0
  136. package/src/gg-errors/gg-errors.module-options.js +5 -0
  137. package/src/gg-errors/gg-errors.module-options.js.map +1 -0
  138. package/src/gg-errors/gg-errors.module.d.ts +5 -0
  139. package/src/gg-errors/gg-errors.module.js +35 -0
  140. package/src/gg-errors/gg-errors.module.js.map +1 -0
  141. package/src/gg-errors/gg-exception.service.d.ts +50 -0
  142. package/src/gg-errors/gg-exception.service.js +213 -0
  143. package/src/gg-errors/gg-exception.service.js.map +1 -0
  144. package/src/gg-errors/index.d.ts +1 -0
  145. package/src/gg-errors/index.js +5 -0
  146. package/src/gg-errors/index.js.map +1 -0
  147. package/src/gg-gcp/gcp-trace-and-profiler.d.ts +1 -0
  148. package/src/gg-gcp/gcp-trace-and-profiler.js +52 -0
  149. package/src/gg-gcp/gcp-trace-and-profiler.js.map +1 -0
  150. package/src/gg-gcp/index.d.ts +1 -0
  151. package/src/gg-gcp/index.js +5 -0
  152. package/src/gg-gcp/index.js.map +1 -0
  153. package/src/gg-healthchecks/gg-healthchecks.controller.d.ts +7 -0
  154. package/src/gg-healthchecks/gg-healthchecks.controller.js +31 -0
  155. package/src/gg-healthchecks/gg-healthchecks.controller.js.map +1 -0
  156. package/src/gg-healthchecks/gg-healthchecks.module.d.ts +4 -0
  157. package/src/gg-healthchecks/gg-healthchecks.module.js +17 -0
  158. package/src/gg-healthchecks/gg-healthchecks.module.js.map +1 -0
  159. package/src/gg-kernel/index.d.ts +2 -0
  160. package/src/gg-kernel/index.js +6 -0
  161. package/src/gg-kernel/index.js.map +1 -0
  162. package/src/gg-kernel/kernel.d.ts +36 -0
  163. package/src/gg-kernel/kernel.js +86 -0
  164. package/src/gg-kernel/kernel.js.map +1 -0
  165. package/src/gg-kernel/service-providers/base-service-provider.d.ts +15 -0
  166. package/src/gg-kernel/service-providers/base-service-provider.js +25 -0
  167. package/src/gg-kernel/service-providers/base-service-provider.js.map +1 -0
  168. package/src/gg-kernel/service-providers/global-prefix.service-provider.d.ts +4 -0
  169. package/src/gg-kernel/service-providers/global-prefix.service-provider.js +17 -0
  170. package/src/gg-kernel/service-providers/global-prefix.service-provider.js.map +1 -0
  171. package/src/gg-kernel/service-providers/helmet.service-provider.d.ts +4 -0
  172. package/src/gg-kernel/service-providers/helmet.service-provider.js +12 -0
  173. package/src/gg-kernel/service-providers/helmet.service-provider.js.map +1 -0
  174. package/src/gg-kernel/service-providers/index.d.ts +8 -0
  175. package/src/gg-kernel/service-providers/index.js +12 -0
  176. package/src/gg-kernel/service-providers/index.js.map +1 -0
  177. package/src/gg-kernel/service-providers/logger.service-provider.d.ts +8 -0
  178. package/src/gg-kernel/service-providers/logger.service-provider.js +20 -0
  179. package/src/gg-kernel/service-providers/logger.service-provider.js.map +1 -0
  180. package/src/gg-kernel/service-providers/shutdown-hooks.service-provider.d.ts +7 -0
  181. package/src/gg-kernel/service-providers/shutdown-hooks.service-provider.js +14 -0
  182. package/src/gg-kernel/service-providers/shutdown-hooks.service-provider.js.map +1 -0
  183. package/src/gg-kernel/service-providers/swagger.service-provider.d.ts +13 -0
  184. package/src/gg-kernel/service-providers/swagger.service-provider.js +35 -0
  185. package/src/gg-kernel/service-providers/swagger.service-provider.js.map +1 -0
  186. package/src/gg-kernel/service-providers/validation.service-provider.d.ts +10 -0
  187. package/src/gg-kernel/service-providers/validation.service-provider.js +22 -0
  188. package/src/gg-kernel/service-providers/validation.service-provider.js.map +1 -0
  189. package/src/gg-kernel/service-providers/versioning.service-provider.d.ts +10 -0
  190. package/src/gg-kernel/service-providers/versioning.service-provider.js +17 -0
  191. package/src/gg-kernel/service-providers/versioning.service-provider.js.map +1 -0
  192. package/src/gg-logger/gg-logger.module.d.ts +4 -0
  193. package/src/gg-logger/gg-logger.module.js +48 -0
  194. package/src/gg-logger/gg-logger.module.js.map +1 -0
  195. package/src/gg-metrics/gg-metrics.controller.d.ts +3 -0
  196. package/src/gg-metrics/gg-metrics.controller.js +15 -0
  197. package/src/gg-metrics/gg-metrics.controller.js.map +1 -0
  198. package/src/gg-metrics/gg-metrics.module.d.ts +4 -0
  199. package/src/gg-metrics/gg-metrics.module.js +31 -0
  200. package/src/gg-metrics/gg-metrics.module.js.map +1 -0
  201. package/src/gg-metrics/index.d.ts +1 -0
  202. package/src/gg-metrics/index.js +5 -0
  203. package/src/gg-metrics/index.js.map +1 -0
  204. package/src/gg-micro/gg-micro.module.d.ts +5 -0
  205. package/src/gg-micro/gg-micro.module.js +62 -0
  206. package/src/gg-micro/gg-micro.module.js.map +1 -0
  207. package/src/gg-micro/gg-rmq-service.injector.d.ts +19 -0
  208. package/src/gg-micro/gg-rmq-service.injector.js +29 -0
  209. package/src/gg-micro/gg-rmq-service.injector.js.map +1 -0
  210. package/src/gg-micro/gg-rmq.configurator.d.ts +16 -0
  211. package/src/gg-micro/gg-rmq.configurator.js +34 -0
  212. package/src/gg-micro/gg-rmq.configurator.js.map +1 -0
  213. package/src/gg-micro/index.d.ts +4 -0
  214. package/src/gg-micro/index.js +8 -0
  215. package/src/gg-micro/index.js.map +1 -0
  216. package/src/gg-micro/micro.client.d.ts +62 -0
  217. package/src/gg-micro/micro.client.js +101 -0
  218. package/src/gg-micro/micro.client.js.map +1 -0
  219. package/src/gg-micro/rmq.config.d.ts +10 -0
  220. package/src/gg-micro/rmq.config.js +50 -0
  221. package/src/gg-micro/rmq.config.js.map +1 -0
  222. package/src/gg-micro/rmq.connector.d.ts +12 -0
  223. package/src/gg-micro/rmq.connector.js +25 -0
  224. package/src/gg-micro/rmq.connector.js.map +1 -0
  225. package/src/gg-micro/rmq.queue-map.d.ts +2 -0
  226. package/src/gg-micro/rmq.queue-map.js +24 -0
  227. package/src/gg-micro/rmq.queue-map.js.map +1 -0
  228. package/src/gg-throttler/gg-throttler.module-options.d.ts +4 -0
  229. package/src/gg-throttler/gg-throttler.module-options.js +3 -0
  230. package/src/gg-throttler/gg-throttler.module-options.js.map +1 -0
  231. package/src/gg-throttler/gg-throttler.module.d.ts +5 -0
  232. package/src/gg-throttler/gg-throttler.module.js +24 -0
  233. package/src/gg-throttler/gg-throttler.module.js.map +1 -0
  234. package/src/gg-throttler/throttler.guard.d.ts +13 -0
  235. package/src/gg-throttler/throttler.guard.js +28 -0
  236. package/src/gg-throttler/throttler.guard.js.map +1 -0
  237. package/src/index.d.ts +10 -0
  238. package/src/index.js +14 -0
  239. 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,2 @@
1
+ export * from './gg-cache.service';
2
+ export * from './redis.config';
@@ -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,6 @@
1
+ declare class RedisConfig {
2
+ readonly host: string;
3
+ readonly port: number;
4
+ }
5
+ export declare const redisConfig: (() => Promise<RedisConfig>) & import("@nestjs/config").ConfigFactoryKeyHost<Promise<RedisConfig>>;
6
+ export {};
@@ -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,4 @@
1
+ import { DynamicModule } from '@nestjs/common';
2
+ export declare class GgClsModule {
3
+ static forRoot(): DynamicModule;
4
+ }
@@ -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,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./gg-cls.module"), exports);
5
+ //# sourceMappingURL=index.js.map
@@ -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,4 @@
1
+ import { ConfigFactory } from '@nestjs/config/dist/interfaces/config-factory.interface';
2
+ export interface GgConfigModuleOptions {
3
+ configs: ConfigFactory[];
4
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=gg-config.module-options.js.map
@@ -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,5 @@
1
+ import { DynamicModule } from '@nestjs/common';
2
+ import { GgConfigModuleOptions } from './gg-config.module-options';
3
+ export declare class GgConfigModule {
4
+ static forRoot(options: GgConfigModuleOptions): DynamicModule;
5
+ }
@@ -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,3 @@
1
+ export * from './app.config';
2
+ export * from './gg-config.module';
3
+ export * from './validate-config';
@@ -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,2 @@
1
+ import { ClassType } from 'class-transformer-validator';
2
+ export declare const registerConfig: <T extends object>(configClass: ClassType<T>) => (() => Promise<T>) & import("@nestjs/config").ConfigFactoryKeyHost<Promise<T>>;
@@ -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,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=gg-core-module-options.js.map
@@ -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,2 @@
1
+ export * from './gg-core.middleware';
2
+ export * from './gg-core.module';
@@ -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,5 @@
1
+ import { EntityClass, MigrationObject } from '@mikro-orm/core/typings';
2
+ export declare abstract class DbEntitiesConfig {
3
+ abstract get migrations(): MigrationObject[];
4
+ abstract get entities(): EntityClass<unknown>[];
5
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DbEntitiesConfig = void 0;
4
+ class DbEntitiesConfig {
5
+ }
6
+ exports.DbEntitiesConfig = DbEntitiesConfig;
7
+ //# sourceMappingURL=db-entities.config.js.map
@@ -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 {};