@gaias/basenode 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/.dockerignore +12 -0
  2. package/.drone.yml +54 -0
  3. package/.eslintignore +4 -0
  4. package/.ncurc.json +8 -0
  5. package/Dockerfile +15 -0
  6. package/README.adoc +44 -0
  7. package/README.md +47 -0
  8. package/dist/deps/Libs.d.ts +10 -0
  9. package/dist/deps/Libs.js +46 -0
  10. package/dist/deps/Libs.js.map +1 -0
  11. package/dist/deps/index.d.ts +1 -0
  12. package/dist/deps/index.js +18 -0
  13. package/dist/deps/index.js.map +1 -0
  14. package/dist/index.d.ts +4 -0
  15. package/dist/index.js +21 -0
  16. package/dist/index.js.map +1 -0
  17. package/dist/libs/ApiGatewayLoader.d.ts +3 -0
  18. package/dist/libs/ApiGatewayLoader.js +82 -0
  19. package/dist/libs/ApiGatewayLoader.js.map +1 -0
  20. package/dist/libs/ApiRegisterController.d.ts +12 -0
  21. package/dist/libs/ApiRegisterController.js +245 -0
  22. package/dist/libs/ApiRegisterController.js.map +1 -0
  23. package/dist/libs/ApplicationConfig.d.ts +12 -0
  24. package/dist/libs/ApplicationConfig.js +3 -0
  25. package/dist/libs/ApplicationConfig.js.map +1 -0
  26. package/dist/libs/BizError.d.ts +8 -0
  27. package/dist/libs/BizError.js +14 -0
  28. package/dist/libs/BizError.js.map +1 -0
  29. package/dist/libs/CacheService.d.ts +57 -0
  30. package/dist/libs/CacheService.js +309 -0
  31. package/dist/libs/CacheService.js.map +1 -0
  32. package/dist/libs/ConfigManager.d.ts +19 -0
  33. package/dist/libs/ConfigManager.js +52 -0
  34. package/dist/libs/ConfigManager.js.map +1 -0
  35. package/dist/libs/Converter.d.ts +32 -0
  36. package/dist/libs/Converter.js +148 -0
  37. package/dist/libs/Converter.js.map +1 -0
  38. package/dist/libs/CurrentUserToken.d.ts +7 -0
  39. package/dist/libs/CurrentUserToken.js +3 -0
  40. package/dist/libs/CurrentUserToken.js.map +1 -0
  41. package/dist/libs/DistributedEvents.d.ts +13 -0
  42. package/dist/libs/DistributedEvents.js +102 -0
  43. package/dist/libs/DistributedEvents.js.map +1 -0
  44. package/dist/libs/DistributedEventsLoader.d.ts +6 -0
  45. package/dist/libs/DistributedEventsLoader.js +30 -0
  46. package/dist/libs/DistributedEventsLoader.js.map +1 -0
  47. package/dist/libs/EventsManager.d.ts +16 -0
  48. package/dist/libs/EventsManager.js +56 -0
  49. package/dist/libs/EventsManager.js.map +1 -0
  50. package/dist/libs/HealthCheckController.d.ts +24 -0
  51. package/dist/libs/HealthCheckController.js +83 -0
  52. package/dist/libs/HealthCheckController.js.map +1 -0
  53. package/dist/libs/HttpMethods.d.ts +8 -0
  54. package/dist/libs/HttpMethods.js +80 -0
  55. package/dist/libs/HttpMethods.js.map +1 -0
  56. package/dist/libs/IdGenerator.d.ts +1 -0
  57. package/dist/libs/IdGenerator.js +7 -0
  58. package/dist/libs/IdGenerator.js.map +1 -0
  59. package/dist/libs/KoaControllerReturnHandler.d.ts +6 -0
  60. package/dist/libs/KoaControllerReturnHandler.js +83 -0
  61. package/dist/libs/KoaControllerReturnHandler.js.map +1 -0
  62. package/dist/libs/KoaLoader.d.ts +20 -0
  63. package/dist/libs/KoaLoader.js +177 -0
  64. package/dist/libs/KoaLoader.js.map +1 -0
  65. package/dist/libs/Leader.d.ts +39 -0
  66. package/dist/libs/Leader.js +145 -0
  67. package/dist/libs/Leader.js.map +1 -0
  68. package/dist/libs/Logger.d.ts +8 -0
  69. package/dist/libs/Logger.js +48 -0
  70. package/dist/libs/Logger.js.map +1 -0
  71. package/dist/libs/Pagination.d.ts +23 -0
  72. package/dist/libs/Pagination.js +120 -0
  73. package/dist/libs/Pagination.js.map +1 -0
  74. package/dist/libs/RedisClient.d.ts +15 -0
  75. package/dist/libs/RedisClient.js +84 -0
  76. package/dist/libs/RedisClient.js.map +1 -0
  77. package/dist/libs/RedisLoader.d.ts +3 -0
  78. package/dist/libs/RedisLoader.js +31 -0
  79. package/dist/libs/RedisLoader.js.map +1 -0
  80. package/dist/libs/ResRegTypes.d.ts +17 -0
  81. package/dist/libs/ResRegTypes.js +3 -0
  82. package/dist/libs/ResRegTypes.js.map +1 -0
  83. package/dist/libs/Timer.d.ts +13 -0
  84. package/dist/libs/Timer.js +62 -0
  85. package/dist/libs/Timer.js.map +1 -0
  86. package/dist/libs/TypeormLoader.d.ts +8 -0
  87. package/dist/libs/TypeormLoader.js +49 -0
  88. package/dist/libs/TypeormLoader.js.map +1 -0
  89. package/dist/libs/ValidationHelper.d.ts +13 -0
  90. package/dist/libs/ValidationHelper.js +73 -0
  91. package/dist/libs/ValidationHelper.js.map +1 -0
  92. package/dist/libs/apisix/ApisixTemplate.d.ts +6 -0
  93. package/dist/libs/apisix/ApisixTemplate.js +88 -0
  94. package/dist/libs/apisix/ApisixTemplate.js.map +1 -0
  95. package/dist/libs/apisix/HttpPutter.d.ts +1 -0
  96. package/dist/libs/apisix/HttpPutter.js +51 -0
  97. package/dist/libs/apisix/HttpPutter.js.map +1 -0
  98. package/dist/libs/apisix/index.d.ts +2 -0
  99. package/dist/libs/apisix/index.js +19 -0
  100. package/dist/libs/apisix/index.js.map +1 -0
  101. package/dist/libs/i18nValidator.d.ts +3 -0
  102. package/dist/libs/i18nValidator.js +38 -0
  103. package/dist/libs/i18nValidator.js.map +1 -0
  104. package/dist/libs/index.d.ts +28 -0
  105. package/dist/libs/index.js +45 -0
  106. package/dist/libs/index.js.map +1 -0
  107. package/dist/libs/types.d.ts +3 -0
  108. package/dist/libs/types.js +3 -0
  109. package/dist/libs/types.js.map +1 -0
  110. package/dist/server/bootstrap.d.ts +14 -0
  111. package/dist/server/bootstrap.js +63 -0
  112. package/dist/server/bootstrap.js.map +1 -0
  113. package/dist/server/index.d.ts +1 -0
  114. package/dist/server/index.js +18 -0
  115. package/dist/server/index.js.map +1 -0
  116. package/dist/utils/YamlUtil.d.ts +1 -0
  117. package/dist/utils/YamlUtil.js +43 -0
  118. package/dist/utils/YamlUtil.js.map +1 -0
  119. package/dist/utils/crypto.d.ts +9 -0
  120. package/dist/utils/crypto.js +34 -0
  121. package/dist/utils/crypto.js.map +1 -0
  122. package/dist/utils/index.d.ts +4 -0
  123. package/dist/utils/index.js +21 -0
  124. package/dist/utils/index.js.map +1 -0
  125. package/dist/utils/jwtUtil.d.ts +9 -0
  126. package/dist/utils/jwtUtil.js +41 -0
  127. package/dist/utils/jwtUtil.js.map +1 -0
  128. package/dist/utils/transformer.d.ts +9 -0
  129. package/dist/utils/transformer.js +44 -0
  130. package/dist/utils/transformer.js.map +1 -0
  131. package/gen_db.json +7 -0
  132. package/package.json +127 -0
@@ -0,0 +1,28 @@
1
+ export * from './apisix';
2
+ export * from './ApiGatewayLoader';
3
+ export * from './ApiRegisterController';
4
+ export * from './ApplicationConfig';
5
+ export * from './BizError';
6
+ export * from './CacheService';
7
+ export * from './ConfigManager';
8
+ export * from './Converter';
9
+ export * from './CurrentUserToken';
10
+ export * from './DistributedEvents';
11
+ export * from './DistributedEventsLoader';
12
+ export * from './EventsManager';
13
+ export * from './HealthCheckController';
14
+ export * from './HttpMethods';
15
+ export * from './IdGenerator';
16
+ export * from './KoaControllerReturnHandler';
17
+ export * from './KoaLoader';
18
+ export * from './Leader';
19
+ export * from './Logger';
20
+ export * from './Pagination';
21
+ export * from './RedisClient';
22
+ export * from './RedisLoader';
23
+ export * from './ResRegTypes';
24
+ export * from './Timer';
25
+ export * from './TypeormLoader';
26
+ export * from './ValidationHelper';
27
+ export * from './i18nValidator';
28
+ export * from './types';
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./apisix"), exports);
18
+ __exportStar(require("./ApiGatewayLoader"), exports);
19
+ __exportStar(require("./ApiRegisterController"), exports);
20
+ __exportStar(require("./ApplicationConfig"), exports);
21
+ __exportStar(require("./BizError"), exports);
22
+ __exportStar(require("./CacheService"), exports);
23
+ __exportStar(require("./ConfigManager"), exports);
24
+ __exportStar(require("./Converter"), exports);
25
+ __exportStar(require("./CurrentUserToken"), exports);
26
+ __exportStar(require("./DistributedEvents"), exports);
27
+ __exportStar(require("./DistributedEventsLoader"), exports);
28
+ __exportStar(require("./EventsManager"), exports);
29
+ __exportStar(require("./HealthCheckController"), exports);
30
+ __exportStar(require("./HttpMethods"), exports);
31
+ __exportStar(require("./IdGenerator"), exports);
32
+ __exportStar(require("./KoaControllerReturnHandler"), exports);
33
+ __exportStar(require("./KoaLoader"), exports);
34
+ __exportStar(require("./Leader"), exports);
35
+ __exportStar(require("./Logger"), exports);
36
+ __exportStar(require("./Pagination"), exports);
37
+ __exportStar(require("./RedisClient"), exports);
38
+ __exportStar(require("./RedisLoader"), exports);
39
+ __exportStar(require("./ResRegTypes"), exports);
40
+ __exportStar(require("./Timer"), exports);
41
+ __exportStar(require("./TypeormLoader"), exports);
42
+ __exportStar(require("./ValidationHelper"), exports);
43
+ __exportStar(require("./i18nValidator"), exports);
44
+ __exportStar(require("./types"), exports);
45
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/libs/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAEA,2CAAyB;AACzB,qDAAmC;AACnC,0DAAwC;AACxC,sDAAoC;AACpC,6CAA2B;AAC3B,iDAA+B;AAC/B,kDAAgC;AAChC,8CAA4B;AAC5B,qDAAmC;AACnC,sDAAoC;AACpC,4DAA0C;AAC1C,kDAAgC;AAChC,0DAAwC;AACxC,gDAA8B;AAC9B,gDAA8B;AAC9B,+DAA6C;AAC7C,8CAA4B;AAC5B,2CAAyB;AACzB,2CAAyB;AACzB,+CAA6B;AAC7B,gDAA8B;AAC9B,gDAA8B;AAC9B,gDAA8B;AAC9B,0CAAwB;AACxB,kDAAgC;AAChC,qDAAmC;AACnC,kDAAgC;AAChC,0CAAwB"}
@@ -0,0 +1,3 @@
1
+ export declare type ClassType<T = any> = {
2
+ new (...args: any[]): T;
3
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/libs/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,14 @@
1
+ import { Microframework, MicroframeworkSettings } from 'microframework';
2
+ import 'reflect-metadata';
3
+ import { DistributedEventsLoaderOption } from '../libs/DistributedEventsLoader';
4
+ import { KoaLoaderOption } from '../libs/KoaLoader';
5
+ import { RedisLoaderOption } from '../libs/RedisLoader';
6
+ import { TypeormLoaderOption } from '../libs/TypeormLoader';
7
+ export declare type BootstrapLoader = (settings?: MicroframeworkSettings) => Promise<any>;
8
+ export declare type BootstrapOption = KoaLoaderOption & TypeormLoaderOption & RedisLoaderOption & DistributedEventsLoaderOption & {
9
+ disableRedis?: boolean;
10
+ disableDatabase?: boolean;
11
+ disableEvent?: boolean;
12
+ loaders?: BootstrapLoader[];
13
+ };
14
+ export declare const bootstrap: (option: BootstrapOption) => Promise<Microframework>;
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.bootstrap = void 0;
16
+ const internal_ip_1 = __importDefault(require("internal-ip"));
17
+ const microframework_1 = require("microframework");
18
+ require("reflect-metadata");
19
+ const ApiGatewayLoader_1 = require("../libs/ApiGatewayLoader");
20
+ const ConfigManager_1 = require("../libs/ConfigManager");
21
+ const DistributedEventsLoader_1 = require("../libs/DistributedEventsLoader");
22
+ const KoaLoader_1 = require("../libs/KoaLoader");
23
+ const Logger_1 = require("../libs/Logger");
24
+ const RedisLoader_1 = require("../libs/RedisLoader");
25
+ const TypeormLoader_1 = require("../libs/TypeormLoader");
26
+ const settingHolder = {};
27
+ const emptyLoader = () => { };
28
+ const bootstrap = (option) => __awaiter(void 0, void 0, void 0, function* () {
29
+ const logger = Logger_1.Logger.getLogger('Bootstrap');
30
+ const loaders = [
31
+ option.disableDatabase ? emptyLoader : (0, TypeormLoader_1.typeormLoader)(option),
32
+ option.disableRedis ? emptyLoader : (0, RedisLoader_1.redisLoader)(option),
33
+ option.disableEvent ? emptyLoader : (0, DistributedEventsLoader_1.distributedEventsLoader)(option),
34
+ (0, KoaLoader_1.koaLoader)(option),
35
+ (0, ApiGatewayLoader_1.apiGatewayLoader)(option),
36
+ (settings) => {
37
+ settingHolder.setting = settings;
38
+ },
39
+ ];
40
+ if (option.loaders) {
41
+ loaders.push(...option.loaders);
42
+ }
43
+ return (0, microframework_1.bootstrapMicroframework)({
44
+ config: {
45
+ showBootstrapTime: ConfigManager_1.ConfigManager.isDevelopment(),
46
+ },
47
+ loaders,
48
+ }).then((mfmk) => __awaiter(void 0, void 0, void 0, function* () {
49
+ mfmk.frameworkSettings = settingHolder.setting;
50
+ const cfg = ConfigManager_1.ConfigManager.getConfig('application');
51
+ const applicationName = cfg.appName;
52
+ const host = ConfigManager_1.ConfigManager.isProduction() ? applicationName : yield internal_ip_1.default.v4();
53
+ ConfigManager_1.ConfigManager.basePath = `http://${host}:${cfg.port}/api/v${cfg.version}/${applicationName}/`;
54
+ logger.info(`🚀Server(${applicationName}/v${cfg.version}/${ConfigManager_1.ConfigManager.getPkgVersion()}/${ConfigManager_1.ConfigManager.getBuildNumber()}) is listening on ${ConfigManager_1.ConfigManager.basePath}`);
55
+ if (option.wsControllers) {
56
+ const wsPath = `http://${host}:${cfg.port}/api/v${cfg.version}/${applicationName}/socket.io`;
57
+ logger.info(`🚀Server(${applicationName}/v${cfg.version}/${ConfigManager_1.ConfigManager.getPkgVersion()}/${ConfigManager_1.ConfigManager.getBuildNumber()}) is listening on ${wsPath}`);
58
+ }
59
+ return mfmk;
60
+ }));
61
+ });
62
+ exports.bootstrap = bootstrap;
63
+ //# sourceMappingURL=bootstrap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../../src/server/bootstrap.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,8DAAqC;AACrC,mDAAiG;AACjG,4BAA0B;AAC1B,+DAA4D;AAE5D,yDAAsD;AACtD,6EAAyG;AACzG,iDAA+D;AAC/D,2CAAwC;AACxC,qDAAqE;AACrE,yDAA2E;AAc3E,MAAM,aAAa,GAEf,EAAE,CAAC;AAGP,MAAM,WAAW,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;AAEtB,MAAM,SAAS,GAAG,CAAO,MAAuB,EAA2B,EAAE;IAClF,MAAM,MAAM,GAAG,eAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG;QACd,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAA,6BAAa,EAAC,MAAM,CAAC;QAC5D,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAA,yBAAW,EAAC,MAAM,CAAC;QACvD,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAA,iDAAuB,EAAC,MAAM,CAAC;QACnE,IAAA,qBAAS,EAAC,MAAM,CAAC;QACjB,IAAA,mCAAgB,EAAC,MAAM,CAAC;QACxB,CAAC,QAAiC,EAAE,EAAE;YACpC,aAAa,CAAC,OAAO,GAAG,QAAQ,CAAC;QACnC,CAAC;KACF,CAAC;IACF,IAAI,MAAM,CAAC,OAAO,EAAE;QAClB,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;KACjC;IACD,OAAO,IAAA,wCAAuB,EAAC;QAC7B,MAAM,EAAE;YACN,iBAAiB,EAAE,6BAAa,CAAC,aAAa,EAAE;SACjD;QACD,OAAO;KACR,CAAC,CAAC,IAAI,CAAC,CAAO,IAAI,EAAE,EAAE;QACpB,IAAY,CAAC,iBAAiB,GAAG,aAAa,CAAC,OAAO,CAAC;QACxD,MAAM,GAAG,GAAG,6BAAa,CAAC,SAAS,CAAoB,aAAa,CAAC,CAAC;QACtE,MAAM,eAAe,GAAG,GAAG,CAAC,OAAO,CAAC;QACpC,MAAM,IAAI,GAAG,6BAAa,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,qBAAU,CAAC,EAAE,EAAE,CAAC;QACpF,6BAAa,CAAC,QAAQ,GAAG,UAAU,IAAI,IAAI,GAAG,CAAC,IAAI,SAAS,GAAG,CAAC,OAAO,IAAI,eAAe,GAAG,CAAC;QAC9F,MAAM,CAAC,IAAI,CAAC,YAAY,eAAe,KAAK,GAAG,CAAC,OAAO,IAAI,6BAAa,CAAC,aAAa,EAAE,IAAI,6BAAa,CAAC,cAAc,EAAE,qBAAqB,6BAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;QACzK,IAAI,MAAM,CAAC,aAAa,EAAE;YACxB,MAAM,MAAM,GAAG,UAAU,IAAI,IAAI,GAAG,CAAC,IAAI,SAAS,GAAG,CAAC,OAAO,IAAI,eAAe,YAAY,CAAC;YAC7F,MAAM,CAAC,IAAI,CAAC,YAAY,eAAe,KAAK,GAAG,CAAC,OAAO,IAAI,6BAAa,CAAC,aAAa,EAAE,IAAI,6BAAa,CAAC,cAAc,EAAE,qBAAqB,MAAM,EAAE,CAAC,CAAC;SAC1J;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAA,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AAjCW,QAAA,SAAS,aAiCpB"}
@@ -0,0 +1 @@
1
+ export * from './bootstrap';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./bootstrap"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAEA,8CAA4B"}
@@ -0,0 +1 @@
1
+ export declare const loadConfig: (name: string) => any;
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.loadConfig = void 0;
7
+ const fs_1 = __importDefault(require("fs"));
8
+ const glob_promise_1 = __importDefault(require("glob-promise"));
9
+ const js_yaml_1 = __importDefault(require("js-yaml"));
10
+ const mergejson = require('mergejson');
11
+ const configFiles = [];
12
+ const find = (path) => {
13
+ return configFiles.find((f) => f === `${path}.yml`);
14
+ };
15
+ const loadConfig = (name) => {
16
+ if (configFiles.length === 0) {
17
+ glob_promise_1.default.sync('./cfg/*.yml').forEach((f) => configFiles.push(f));
18
+ }
19
+ const environment = process.env.NODE_ENV;
20
+ const zone = process.env.DEV_ZONE;
21
+ const envConfigFile = `./cfg/${name}.${environment}`;
22
+ const zoneConfigFile = `./cfg/${name}.${zone}`;
23
+ const configFile = `./cfg/${name}`;
24
+ let cfg = {};
25
+ const envFile = find(envConfigFile);
26
+ if (envFile) {
27
+ const envConfig = js_yaml_1.default.load(fs_1.default.readFileSync(envFile, 'utf8'));
28
+ Object.assign(cfg, envConfig);
29
+ }
30
+ const zoneFile = find(zoneConfigFile);
31
+ if (zoneFile) {
32
+ const zoneConfig = js_yaml_1.default.load(fs_1.default.readFileSync(zoneFile, 'utf8'));
33
+ Object.assign(cfg, zoneConfig);
34
+ }
35
+ const file = find(configFile);
36
+ if (file) {
37
+ const config = js_yaml_1.default.load(fs_1.default.readFileSync(file, 'utf8'));
38
+ cfg = mergejson(cfg, config);
39
+ }
40
+ return cfg;
41
+ };
42
+ exports.loadConfig = loadConfig;
43
+ //# sourceMappingURL=YamlUtil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"YamlUtil.js","sourceRoot":"","sources":["../../../src/utils/YamlUtil.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,gEAAgC;AAChC,sDAA2B;AAG3B,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AACvC,MAAM,WAAW,GAAa,EAAE,CAAC;AAEjC,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,EAAE;IAC5B,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,IAAI,MAAM,CAAC,CAAC;AACtD,CAAC,CAAC;AAEK,MAAM,UAAU,GAAG,CAAC,IAAY,EAAO,EAAE;IAC9C,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;QAC5B,sBAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;KAC9D;IACD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;IACzC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClC,MAAM,aAAa,GAAG,SAAS,IAAI,IAAI,WAAW,EAAE,CAAC;IACrD,MAAM,cAAc,GAAG,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC;IAC/C,MAAM,UAAU,GAAG,SAAS,IAAI,EAAE,CAAC;IACnC,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;IACpC,IAAI,OAAO,EAAE;QACX,MAAM,SAAS,GAAG,iBAAI,CAAC,IAAI,CAAC,YAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QAC9D,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;KAC/B;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC;IACtC,IAAI,QAAQ,EAAE;QACZ,MAAM,UAAU,GAAG,iBAAI,CAAC,IAAI,CAAC,YAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;QAChE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;KAChC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9B,IAAI,IAAI,EAAE;QACR,MAAM,MAAM,GAAG,iBAAI,CAAC,IAAI,CAAC,YAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QACxD,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;KAC9B;IAED,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AA3BW,QAAA,UAAU,cA2BrB"}
@@ -0,0 +1,9 @@
1
+ declare class FotCrypto {
2
+ private static readonly keyCache;
3
+ md5(input: string): string;
4
+ sha1Hmac(input: string): string;
5
+ get privateKey(): string;
6
+ get publicKey(): string;
7
+ }
8
+ export declare const crypto: FotCrypto;
9
+ export {};
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.crypto = void 0;
4
+ const crypto_1 = require("crypto");
5
+ const fs_1 = require("fs");
6
+ const ConfigManager_1 = require("../libs/ConfigManager");
7
+ class FotCrypto {
8
+ md5(input) {
9
+ const md5 = (0, crypto_1.createHash)('md5');
10
+ return md5.update(input).digest('hex');
11
+ }
12
+ sha1Hmac(input) {
13
+ const hmac = (0, crypto_1.createHmac)('sha1', this.privateKey);
14
+ hmac.update(input);
15
+ return hmac.digest('hex');
16
+ }
17
+ get privateKey() {
18
+ const config = ConfigManager_1.ConfigManager.getConfig('application');
19
+ if (!FotCrypto.keyCache.privateKey) {
20
+ FotCrypto.keyCache.privateKey = (0, fs_1.readFileSync)(config.privateKeyPath, 'ascii');
21
+ }
22
+ return FotCrypto.keyCache.privateKey;
23
+ }
24
+ get publicKey() {
25
+ const config = ConfigManager_1.ConfigManager.getConfig('application');
26
+ if (!FotCrypto.keyCache.publicKey) {
27
+ FotCrypto.keyCache.publicKey = (0, fs_1.readFileSync)(config.publicKeyPath, 'ascii');
28
+ }
29
+ return FotCrypto.keyCache.publicKey;
30
+ }
31
+ }
32
+ FotCrypto.keyCache = {};
33
+ exports.crypto = new FotCrypto();
34
+ //# sourceMappingURL=crypto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../../src/utils/crypto.ts"],"names":[],"mappings":";;;AAAA,mCAAgD;AAChD,2BAAkC;AAElC,yDAAsD;AAOtD,MAAM,SAAS;IAGb,GAAG,CAAC,KAAa;QACf,MAAM,GAAG,GAAG,IAAA,mBAAU,EAAC,KAAK,CAAC,CAAC;QAC9B,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IACD,QAAQ,CAAC,KAAa;QACpB,MAAM,IAAI,GAAG,IAAA,mBAAU,EAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,UAAU;QACZ,MAAM,MAAM,GAAG,6BAAa,CAAC,SAAS,CAAoB,aAAa,CAAC,CAAC;QACzE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE;YAClC,SAAS,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAA,iBAAY,EAAC,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;SAC9E;QACD,OAAO,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC;IACvC,CAAC;IACD,IAAI,SAAS;QACX,MAAM,MAAM,GAAG,6BAAa,CAAC,SAAS,CAAoB,aAAa,CAAC,CAAC;QACzE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE;YACjC,SAAS,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAA,iBAAY,EAAC,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;SAC5E;QACD,OAAO,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;IACtC,CAAC;;AAzBuB,kBAAQ,GAAa,EAAE,CAAC;AA4BrC,QAAA,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './YamlUtil';
2
+ export * from './crypto';
3
+ export * from './jwtUtil';
4
+ export * from './transformer';
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./YamlUtil"), exports);
18
+ __exportStar(require("./crypto"), exports);
19
+ __exportStar(require("./jwtUtil"), exports);
20
+ __exportStar(require("./transformer"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAEA,6CAA2B;AAC3B,2CAAyB;AACzB,4CAA0B;AAC1B,gDAA8B"}
@@ -0,0 +1,9 @@
1
+ import jwt from 'jsonwebtoken';
2
+ declare class JwtUtil {
3
+ issueToken(payload: Record<string, unknown>, options?: jwt.SignOptions): string;
4
+ verifyToken(token: string, options?: jwt.VerifyOptions): Record<string, string>;
5
+ decodeToken(token: string, options?: jwt.DecodeOptions): string | jwt.JwtPayload | null;
6
+ decodeJwt(authorization: string, verify?: boolean, options?: jwt.VerifyOptions): any;
7
+ }
8
+ export declare const jwtUtil: JwtUtil;
9
+ export {};
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.jwtUtil = void 0;
7
+ const jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
8
+ const lodash_1 = __importDefault(require("lodash"));
9
+ const crypto_1 = require("./crypto");
10
+ class JwtUtil {
11
+ issueToken(payload, options = { algorithm: 'RS256' }) {
12
+ const privateKey = crypto_1.crypto.privateKey;
13
+ return jsonwebtoken_1.default.sign(payload, privateKey, options);
14
+ }
15
+ verifyToken(token, options = { algorithms: ['RS256'] }) {
16
+ const publicKey = crypto_1.crypto.publicKey;
17
+ return jsonwebtoken_1.default.verify(token, publicKey, options);
18
+ }
19
+ decodeToken(token, options = { complete: false }) {
20
+ return jsonwebtoken_1.default.decode(token, options);
21
+ }
22
+ decodeJwt(authorization, verify = false, options = { algorithms: ['RS256'] }) {
23
+ const authStr = lodash_1.default.trim(authorization);
24
+ let token;
25
+ let tokenStr = authStr;
26
+ if (authStr.startsWith('Bearer ')) {
27
+ tokenStr = authStr.slice(7, authStr.length);
28
+ }
29
+ if (!lodash_1.default.isNil(tokenStr)) {
30
+ if (verify) {
31
+ token = this.verifyToken(tokenStr, options);
32
+ }
33
+ else {
34
+ token = this.decodeToken(tokenStr);
35
+ }
36
+ }
37
+ return token;
38
+ }
39
+ }
40
+ exports.jwtUtil = new JwtUtil();
41
+ //# sourceMappingURL=jwtUtil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jwtUtil.js","sourceRoot":"","sources":["../../../src/utils/jwtUtil.ts"],"names":[],"mappings":";;;;;;AAAA,gEAA+B;AAC/B,oDAAuB;AACvB,qCAAkC;AAElC,MAAM,OAAO;IACX,UAAU,CAAC,OAAgC,EAAE,UAA2B,EAAE,SAAS,EAAE,OAAO,EAAE;QAC5F,MAAM,UAAU,GAAG,eAAM,CAAC,UAAU,CAAC;QACrC,OAAO,sBAAG,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,WAAW,CAAC,KAAa,EAAE,UAA6B,EAAE,UAAU,EAAE,CAAC,OAAO,CAAC,EAAE;QAC/E,MAAM,SAAS,GAAG,eAAM,CAAC,SAAS,CAAC;QACnC,OAAO,sBAAG,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAA2B,CAAC;IACzE,CAAC;IAED,WAAW,CAAC,KAAa,EAAE,UAA6B,EAAE,QAAQ,EAAE,KAAK,EAAE;QACzE,OAAO,sBAAG,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC;IAED,SAAS,CAAC,aAAqB,EAAE,MAAM,GAAG,KAAK,EAAE,UAA6B,EAAE,UAAU,EAAE,CAAC,OAAO,CAAC,EAAE;QACrG,MAAM,OAAO,GAAG,gBAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACtC,IAAI,KAAU,CAAC;QACf,IAAI,QAAQ,GAAG,OAAO,CAAC;QACvB,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;YAEjC,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;SAC7C;QACD,IAAI,CAAC,gBAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;YACtB,IAAI,MAAM,EAAE;gBACV,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;aAC7C;iBAAM;gBACL,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;aACpC;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAEY,QAAA,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { ClassType } from '../libs/types';
2
+ export declare function trans<T>(claz: ClassType<T>, obj?: any, groups?: string[]): T;
3
+ export declare function transArray<T>(claz: ClassType<T>, objArray: any[], groups?: string[]): T[];
4
+ export declare function Transform(claz: ClassType, ...groups: string[]): MethodDecorator;
5
+ export declare function TransformArray(claz: ClassType, ...groups: string[]): MethodDecorator;
6
+ export declare function groups(...groups: string[]): {
7
+ groups: string[];
8
+ excludeExtraneousValues: boolean;
9
+ };
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.groups = exports.TransformArray = exports.Transform = exports.transArray = exports.trans = void 0;
4
+ const class_transformer_1 = require("class-transformer");
5
+ function trans(claz, obj, groups = []) {
6
+ return (0, class_transformer_1.plainToInstance)(claz, obj, { excludeExtraneousValues: true, groups });
7
+ }
8
+ exports.trans = trans;
9
+ function transArray(claz, objArray, groups = []) {
10
+ if (Array.isArray(objArray)) {
11
+ return (0, class_transformer_1.plainToInstance)(claz, objArray, { excludeExtraneousValues: true, groups });
12
+ }
13
+ else {
14
+ throw new Error('"transArray" accepts array only!');
15
+ }
16
+ }
17
+ exports.transArray = transArray;
18
+ function Transform(claz, ...groups) {
19
+ return function (target, propertyKey, descriptor) {
20
+ const originalMethod = descriptor.value;
21
+ descriptor.value = function (...args) {
22
+ const result = originalMethod.apply(this, args);
23
+ const isPromise = !!result && (typeof result === 'object' || typeof result === 'function') && typeof result.then === 'function';
24
+ return isPromise ? result.then((data) => trans(claz, data, groups)) : trans(claz, result, groups);
25
+ };
26
+ };
27
+ }
28
+ exports.Transform = Transform;
29
+ function TransformArray(claz, ...groups) {
30
+ return function (target, propertyKey, descriptor) {
31
+ const originalMethod = descriptor.value;
32
+ descriptor.value = function (...args) {
33
+ const result = originalMethod.apply(this, args);
34
+ const isPromise = !!result && (typeof result === 'object' || typeof result === 'function') && typeof result.then === 'function';
35
+ return isPromise ? result.then((data) => transArray(claz, data, groups)) : transArray(claz, result, groups);
36
+ };
37
+ };
38
+ }
39
+ exports.TransformArray = TransformArray;
40
+ function groups(...groups) {
41
+ return { groups, excludeExtraneousValues: true };
42
+ }
43
+ exports.groups = groups;
44
+ //# sourceMappingURL=transformer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformer.js","sourceRoot":"","sources":["../../../src/utils/transformer.ts"],"names":[],"mappings":";;;AAAA,yDAAoD;AAGpD,SAAgB,KAAK,CAAI,IAAkB,EAAE,GAAS,EAAE,SAAmB,EAAE;IAC3E,OAAO,IAAA,mCAAe,EAAC,IAAI,EAAE,GAAG,EAAE,EAAE,uBAAuB,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;AAC/E,CAAC;AAFD,sBAEC;AAED,SAAgB,UAAU,CAAI,IAAkB,EAAE,QAAe,EAAE,SAAmB,EAAE;IACtF,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QAC3B,OAAO,IAAA,mCAAe,EAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,uBAAuB,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;KACnF;SAAM;QACL,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;KACrD;AACH,CAAC;AAND,gCAMC;AAED,SAAgB,SAAS,CAAC,IAAe,EAAE,GAAG,MAAgB;IAC5D,OAAO,UAAU,MAA2B,EAAE,WAA4B,EAAE,UAA8B;QACxG,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC;QAExC,UAAU,CAAC,KAAK,GAAG,UAAU,GAAG,IAAW;YACzC,MAAM,MAAM,GAAQ,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACrD,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,UAAU,CAAC,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC;YAChI,OAAO,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACzG,CAAC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAVD,8BAUC;AAED,SAAgB,cAAc,CAAC,IAAe,EAAE,GAAG,MAAgB;IACjE,OAAO,UAAU,MAA2B,EAAE,WAA4B,EAAE,UAA8B;QACxG,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC;QAExC,UAAU,CAAC,KAAK,GAAG,UAAU,GAAG,IAAW;YACzC,MAAM,MAAM,GAAQ,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACrD,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,UAAU,CAAC,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC;YAChI,OAAO,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACnH,CAAC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAVD,wCAUC;AAED,SAAgB,MAAM,CAAC,GAAG,MAAgB;IACxC,OAAO,EAAE,MAAM,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC;AACnD,CAAC;AAFD,wBAEC"}
package/gen_db.json ADDED
@@ -0,0 +1,7 @@
1
+ [
2
+ "casbin_rule",
3
+ "company",
4
+ "role",
5
+ "user",
6
+ "user_role"
7
+ ]
package/package.json ADDED
@@ -0,0 +1,127 @@
1
+ {
2
+ "name": "@gaias/basenode",
3
+ "version": "0.0.1",
4
+ "buildNumber": 200927556,
5
+ "description": "API development framework for NodeJs",
6
+ "author": "FOT",
7
+ "license": "UNLICENSED",
8
+ "main": "dist/index.js",
9
+ "types": "dist/index.d.ts",
10
+ "engines": {
11
+ "node": ">=14.16.x",
12
+ "yarn": ">=1.22.x"
13
+ },
14
+ "scripts": {
15
+ "dev": "cross-env NODE_ENV=development tsc-watch --onSuccess \"node -r tsconfig-paths/register -r source-map-support/register ./temp/example/app.js\"",
16
+ "devPro": "cross-env ENABLE_API_GATEWAY=true API_GATEWAY_HOST_PORT=192.168.52.35:80 DOMAINS=foo.sg,*.foo.sg NODE_ENV=production tsc-watch --onSuccess \"node -r tsconfig-paths/register -r source-map-support/register ./temp/example/app.js\"",
17
+ "upver": "ncu -u && yarn install",
18
+ "gen:idx": "cti create ./src && cti create ./example && rm -f ./example/index.ts ./example/services/index.ts",
19
+ "gen:idx:watch": "nodemon",
20
+ "gen:db-schema": "cross-env NODE_ENV=development ts-node -r tsconfig-paths/register tools/DBSchemaGenerator.ts",
21
+ "gen:db-repo": "cross-env NODE_ENV=development ts-node -r tsconfig-paths/register tools/RepositoryGenerator.ts",
22
+ "gen:db": "cross-env NODE_ENV=development yarn gen:db-schema && yarn gen:db-repo && yarn gen:idx && eslint '*/**/*.ts' --quiet --fix",
23
+ "gen:keys": "openssl genrsa -out ./keys/privateKey.pem 2048 && openssl rsa -in ./keys/privateKey.pem -outform PEM -pubout -out ./keys/publicKey.pem",
24
+ "lint": "tsc --noEmit && eslint '*/**/*.ts' --quiet --fix",
25
+ "prepublish": "yarn gen:idx && rimraf dist && mkdir dist && tsc && mv temp/src/* dist/ && rimraf temp",
26
+ "prepare": "husky install"
27
+ },
28
+ "devDependencies": {
29
+ "@types/faker": "^5.5.9",
30
+ "@types/jest": "^27.0.2",
31
+ "@types/koa-bodyparser": "^4.3.4",
32
+ "@types/koa-favicon": "^2.0.21",
33
+ "@types/koa-helmet": "^6.0.4",
34
+ "@types/koa-json": "^2.0.20",
35
+ "@types/koa-logger": "^3.1.2",
36
+ "@types/koa-router": "^7.4.4",
37
+ "@types/koa__cors": "^3.0.3",
38
+ "@typescript-eslint/eslint-plugin": "^5.3.0",
39
+ "@typescript-eslint/parser": "^5.3.0",
40
+ "create-ts-index": "^1.13.6",
41
+ "cross-env": "^7.0.3",
42
+ "eslint": "^8.1.0",
43
+ "eslint-config-prettier": "^8.3.0",
44
+ "eslint-config-standard": "^16.0.3",
45
+ "eslint-plugin-import": "^2.25.2",
46
+ "eslint-plugin-lodash": "^7.3.0",
47
+ "eslint-plugin-node": "^11.1.0",
48
+ "eslint-plugin-prettier": "^4.0.0",
49
+ "eslint-plugin-promise": "^5.1.1",
50
+ "eslint-plugin-standard": "^5.0.0",
51
+ "faker": "^5.5.3",
52
+ "jest": "^27.3.1",
53
+ "nodemon": "^2.0.14",
54
+ "npm-check-updates": "^11.8.5",
55
+ "npm-delay": "^1.0.4",
56
+ "npm-run-all": "^4.1.5",
57
+ "prettier": "^2.4.1",
58
+ "prettier-plugin-organize-imports": "^2.3.4",
59
+ "rimraf": "^3.0.2",
60
+ "ts-jest": "^27.0.7",
61
+ "ts-node": "^10.4.0",
62
+ "tsc-watch": "^4.5.0",
63
+ "tsconfig-paths": "^3.11.0",
64
+ "typeorm-model-generator": "^0.4.6",
65
+ "typescript": "^4.4.4"
66
+ },
67
+ "dependencies": {
68
+ "@koa/cors": "3",
69
+ "@koa/multer": "^3.0.0",
70
+ "@types/amqplib": "^0.8.2",
71
+ "@types/ioredis": "^4.28.0",
72
+ "@types/js-yaml": "^4.0.4",
73
+ "@types/jsonwebtoken": "^8.5.5",
74
+ "@types/koa": "^2.13.4",
75
+ "@types/koa-compress": "^4.0.3",
76
+ "@types/koa__multer": "^2.0.4",
77
+ "@types/lodash": "^4.14.176",
78
+ "@types/node": "^16.11.6",
79
+ "@types/pino": "^6.3.12",
80
+ "@types/rascal": "^10.0.4",
81
+ "amqplib": "^0.8.0",
82
+ "build-number-generator": "^1.0.0",
83
+ "class-transformer": "^0.4.0",
84
+ "class-validator": "^0.13.1",
85
+ "class-validator-jsonschema": "^3.1.0",
86
+ "cls-hooked": "^4.2.2",
87
+ "eventemitter3": "^4.0.7",
88
+ "glob": "^7.2.0",
89
+ "glob-promise": "^4.2.2",
90
+ "husky": "^7.0.4",
91
+ "internal-ip": "^6.2.0",
92
+ "ioredis": "^4.28.0",
93
+ "js-yaml": "^4.1.0",
94
+ "jsonata": "^1.8.5",
95
+ "jsonwebtoken": "^8.5.1",
96
+ "koa": "^2.13.4",
97
+ "koa-bodyparser": "^4.3.0",
98
+ "koa-compress": "^5.1.0",
99
+ "koa-favicon": "^2.1.0",
100
+ "koa-helmet": "^6.1.0",
101
+ "koa-json": "^2.0.2",
102
+ "koa-logger": "^3.2.1",
103
+ "koa-router": "^10.1.1",
104
+ "lodash": "^4.17.21",
105
+ "mergejson": "^1.1.2",
106
+ "microframework": "^0.6.4",
107
+ "module-alias": "^2.2.2",
108
+ "multer": "^1.4.3",
109
+ "mysql2": "^2.3.2",
110
+ "nanoid": "^3.1.30",
111
+ "npe": "^1.1.4",
112
+ "pagination-calculator": "^1.0.0",
113
+ "pino": "^6.13.3",
114
+ "pino-pretty": "6.0.0",
115
+ "reflect-metadata": "^0.1.13",
116
+ "routing-controllers": "^0.9.0",
117
+ "routing-controllers-openapi": "^3.1.0",
118
+ "socket-controllers": "^0.0.5",
119
+ "socket.io": "^4.3.1",
120
+ "source-map-support": "^0.5.20",
121
+ "to-snake-case": "^1.0.0",
122
+ "typedi": "^0.10.0",
123
+ "typeorm": "^0.2.38",
124
+ "typeorm-transactional-cls-hooked": "^0.1.21",
125
+ "typeorm-typedi-extensions": "^0.4.1"
126
+ }
127
+ }