@node-c/core 1.0.0-alpha6 → 1.0.0-alpha61

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 (63) hide show
  1. package/dist/app.js +18 -11
  2. package/dist/app.js.map +1 -1
  3. package/dist/common/configProvider/configProvider.definitions.d.ts +56 -11
  4. package/dist/common/configProvider/configProvider.definitions.js +11 -1
  5. package/dist/common/configProvider/configProvider.definitions.js.map +1 -1
  6. package/dist/common/configProvider/configProvider.module.js +13 -2
  7. package/dist/common/configProvider/configProvider.module.js.map +1 -1
  8. package/dist/common/configProvider/configProvider.service.js +18 -16
  9. package/dist/common/configProvider/configProvider.service.js.map +1 -1
  10. package/dist/common/definitions/common.constants.d.ts +2 -1
  11. package/dist/common/definitions/common.constants.js +1 -0
  12. package/dist/common/definitions/common.constants.js.map +1 -1
  13. package/dist/common/utils/getNested/getNested.definitions.d.ts +4 -0
  14. package/dist/common/utils/getNested/getNested.definitions.js +3 -0
  15. package/dist/common/utils/getNested/getNested.definitions.js.map +1 -0
  16. package/dist/common/utils/getNested/getNested.method.d.ts +6 -0
  17. package/dist/common/utils/getNested/getNested.method.js +88 -0
  18. package/dist/common/utils/getNested/getNested.method.js.map +1 -0
  19. package/dist/common/utils/getNested/index.d.ts +2 -0
  20. package/dist/common/utils/getNested/index.js +19 -0
  21. package/dist/common/utils/getNested/index.js.map +1 -0
  22. package/dist/common/utils/index.d.ts +3 -1
  23. package/dist/common/utils/index.js +3 -1
  24. package/dist/common/utils/index.js.map +1 -1
  25. package/dist/common/utils/loadDynamicModules/index.d.ts +1 -0
  26. package/dist/common/utils/loadDynamicModules/index.js +18 -0
  27. package/dist/common/utils/loadDynamicModules/index.js.map +1 -0
  28. package/dist/common/utils/{utils.loadDynamicModules.d.ts → loadDynamicModules/utils.loadDynamicModules.d.ts} +5 -2
  29. package/dist/common/utils/{utils.loadDynamicModules.js → loadDynamicModules/utils.loadDynamicModules.js} +6 -2
  30. package/dist/common/utils/loadDynamicModules/utils.loadDynamicModules.js.map +1 -0
  31. package/dist/common/utils/setNested/index.d.ts +2 -0
  32. package/dist/common/utils/setNested/index.js +19 -0
  33. package/dist/common/utils/setNested/index.js.map +1 -0
  34. package/dist/common/utils/setNested/setNested.definitions.d.ts +4 -0
  35. package/dist/common/utils/setNested/setNested.definitions.js +3 -0
  36. package/dist/common/utils/setNested/setNested.definitions.js.map +1 -0
  37. package/dist/common/utils/setNested/setNested.method.d.ts +2 -0
  38. package/dist/common/utils/setNested/setNested.method.js +67 -0
  39. package/dist/common/utils/setNested/setNested.method.js.map +1 -0
  40. package/dist/domain/entityService/domain.entity.service.d.ts +25 -10
  41. package/dist/domain/entityService/domain.entity.service.definitions.d.ts +15 -6
  42. package/dist/domain/entityService/domain.entity.service.definitions.js.map +1 -1
  43. package/dist/domain/entityService/domain.entity.service.js +72 -31
  44. package/dist/domain/entityService/domain.entity.service.js.map +1 -1
  45. package/dist/index.d.ts +1 -1
  46. package/dist/index.js +1 -1
  47. package/dist/index.js.map +1 -1
  48. package/dist/persistance/entityService/index.js.map +1 -0
  49. package/dist/persistance/entityService/persistance.entity.service.d.ts +17 -0
  50. package/dist/persistance/entityService/persistance.entity.service.definitions.d.ts +116 -0
  51. package/dist/persistance/{common/entityService → entityService}/persistance.entity.service.definitions.js +6 -1
  52. package/dist/persistance/entityService/persistance.entity.service.definitions.js.map +1 -0
  53. package/dist/persistance/{common/entityService → entityService}/persistance.entity.service.js +38 -6
  54. package/dist/persistance/entityService/persistance.entity.service.js.map +1 -0
  55. package/package.json +6 -7
  56. package/dist/common/utils/utils.loadDynamicModules.js.map +0 -1
  57. package/dist/persistance/common/entityService/index.js.map +0 -1
  58. package/dist/persistance/common/entityService/persistance.entity.service.d.ts +0 -11
  59. package/dist/persistance/common/entityService/persistance.entity.service.definitions.d.ts +0 -70
  60. package/dist/persistance/common/entityService/persistance.entity.service.definitions.js.map +0 -1
  61. package/dist/persistance/common/entityService/persistance.entity.service.js.map +0 -1
  62. /package/dist/persistance/{common/entityService → entityService}/index.d.ts +0 -0
  63. /package/dist/persistance/{common/entityService → entityService}/index.js +0 -0
package/dist/app.js CHANGED
@@ -19,23 +19,20 @@ var __rest = (this && this.__rest) || function (s, e) {
19
19
  }
20
20
  return t;
21
21
  };
22
- var __importDefault = (this && this.__importDefault) || function (mod) {
23
- return (mod && mod.__esModule) ? mod : { "default": mod };
24
- };
25
22
  Object.defineProperty(exports, "__esModule", { value: true });
26
23
  exports.NodeCApp = void 0;
27
- const common_1 = require("@nestjs/common");
28
24
  const core_1 = require("@nestjs/core");
29
- const morgan_1 = __importDefault(require("morgan"));
30
25
  const configProvider_1 = require("./common/configProvider");
31
26
  class NodeCApp {
32
27
  static start(appModules, options) {
33
28
  return __awaiter(this, void 0, void 0, function* () {
29
+ console.info(`[Node-C]: Launching ${appModules.length} applications...`);
34
30
  const { apiModulesOptions, generateOrmConfig, generateOrmConfigModuleOptions, loadConfigOptions } = options || {};
35
31
  const apiModulesOptionsMap = new Map();
36
32
  const apps = [];
37
33
  let config;
38
34
  if (loadConfigOptions) {
35
+ console.info('[Node-C]: Loading configurations...');
39
36
  const { appConfigs } = loadConfigOptions, otherOptions = __rest(loadConfigOptions, ["appConfigs"]);
40
37
  config = yield configProvider_1.ConfigProviderService.loadConfig(appConfigs, otherOptions);
41
38
  if (generateOrmConfig) {
@@ -54,6 +51,7 @@ class NodeCApp {
54
51
  })), { moduleName }));
55
52
  }
56
53
  }
54
+ console.info('[Node-C]: Configurations loaded.');
57
55
  }
58
56
  if (apiModulesOptions && apiModulesOptions.length) {
59
57
  apiModulesOptions.forEach(item => {
@@ -61,27 +59,36 @@ class NodeCApp {
61
59
  });
62
60
  }
63
61
  for (const i in appModules) {
64
- const app = yield core_1.NestFactory.create(appModules[i], { bodyParser: false });
62
+ console.info(`[Node-C]: Preparing app module no. ${i}...`);
65
63
  const apiModuleName = apiModulesOptionsMap.get(i);
66
64
  if (!apiModuleName) {
65
+ console.info(`[Node-C][${i}]: No api module found. Creating standalone app...`);
66
+ const app = yield core_1.NestFactory.createApplicationContext(appModules[i]);
67
67
  apps.push(app);
68
+ console.info(`[Node-C][${i}]: Standalone created successfully.`);
68
69
  continue;
69
70
  }
71
+ console.info(`[Node-C][${i}]: Api module found. Creating network app...`);
72
+ const app = yield core_1.NestFactory.create(appModules[i], { bodyParser: false });
73
+ console.info(`[Node-C]: Created a network app for module no ${i} (API module name "${apiModuleName}").`);
70
74
  if (!config) {
71
75
  config = app.get(configProvider_1.ConfigProviderService).config;
72
76
  }
73
77
  const { api: apiConfigs } = config;
74
78
  const apiConfig = apiConfigs[apiModuleName];
75
79
  if (apiConfig) {
76
- app.use((0, morgan_1.default)('tiny'));
77
- app.useGlobalPipes(new common_1.ValidationPipe({
78
- whitelist: true
79
- }));
80
80
  const { hostname, port } = apiConfig;
81
81
  if (hostname && port) {
82
+ console.info(`[Node-C][${i}/${apiModuleName}]: Starting listeners...`);
82
83
  yield app.listen(port, hostname);
83
- console.info(`[API.${apiModuleName}] Server listening at ${hostname}:${port}.`);
84
+ console.info(`[NODE-C][${i}/${apiModuleName}] Server listening at ${hostname}:${port}.`);
84
85
  }
86
+ else {
87
+ console.info(`[Node-C][${i}/${apiModuleName}]: No listener configuration found.`);
88
+ }
89
+ }
90
+ else {
91
+ console.info(`[Node-C][${i}/${apiModuleName}]: No API config found.`);
85
92
  }
86
93
  apps.push(app);
87
94
  }
package/dist/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
@@ -7,8 +7,8 @@ type AppConfigAPIHTTPIntermediate = AppConfigCommonAPIHTTP & AppConfigFromEnvAPI
7
7
  export type AppConfigAPIHTTP = AppConfigAPIHTTPIntermediate & Required<Pick<AppConfigAPIHTTPIntermediate, 'allowedOrigins' | 'anonymousAccessRoutes' | 'hostname' | 'port'>>;
8
8
  export type AppConfigAPIREST = AppConfigCommonAPIREST & AppConfigFromEnvAPIREST;
9
9
  export type AppConfigDomainIAM = AppConfigCommonDomainIAM & AppConfigFromEnvDomainIAM;
10
- export type AppConfigPersistanceNoSQL = AppConfigCommonPersistanceNoSQL & AppConfigFromEnvPersistanceNoSQL;
11
- export type AppConfigPersistanceRDB = AppConfigCommonPersistanceRDB & AppConfigFromEnvPersistanceRDB;
10
+ export type AppConfigPersistanceNoSQL = AppConfigCommonPersistanceNoSQL & AppConfigFromEnvPersistanceNoSQL & AppConfigProfilePersistanceNoSQL;
11
+ export type AppConfigPersistanceRDB = AppConfigCommonPersistanceClickHouse & AppConfigCommonPersistanceRDB & AppConfigCommonPersistanceClickHouse & AppConfigFromEnvPersistanceRDB & AppConfigProfilePersistanceClickHouse & AppConfigProfilePersistanceRDB;
12
12
  export interface AppConfigCommon {
13
13
  api?: {
14
14
  [apiName: string]: GenericObject | AppConfigCommonAPIHTTP | AppConfigCommonAPIREST;
@@ -39,18 +39,46 @@ export interface AppConfigCommonDomainIAM {
39
39
  refreshTokenExpiryTimeInMinutes?: number;
40
40
  userPasswordHMACAlgorithm?: string;
41
41
  }
42
- export interface AppConfigCommonPersistanceClickHouse {
42
+ export type AppConfigCommonPersistance = {
43
+ failOnConnectionError?: boolean;
44
+ settingsPerEntity?: Record<string, AppConfigCommonPersistanceEntityServiceSettings>;
45
+ } & AppConfigCommonPersistanceEntityServiceSettings;
46
+ export interface AppConfigCommonPersistanceEntityServiceSettings {
47
+ processFiltersAllowedFieldsEnabled?: boolean;
48
+ processInputAllowedFieldsEnabled?: boolean;
49
+ }
50
+ export interface AppConfigCommonPersistanceClickHouse extends AppConfigCommonPersistance {
51
+ application?: string;
52
+ requestTimeout?: number;
43
53
  type: RDBType;
54
+ useHostParam?: boolean;
44
55
  }
45
- export interface AppConfigCommonPersistanceNoSQL {
56
+ export interface AppConfigCommonPersistanceNoSQL extends AppConfigCommonPersistance {
57
+ clusterMode?: boolean;
58
+ defaultIndividualSearchEnabled?: boolean;
46
59
  defaultTTL?: number;
60
+ sentinelMasterName?: string;
61
+ sentinelMode?: boolean;
62
+ sentinelRole?: 'master' | 'slave';
47
63
  storeDelimiter?: string;
48
64
  storeKey: string;
49
- ttlPerEntity?: Record<string, number>;
65
+ settingsPerEntity?: Record<string, AppConfigCommonPersistanceNoSQLEntityServiceSettings>;
50
66
  type: NoSQLType;
51
67
  useHashmap?: boolean;
68
+ usePasswordForSentinelPassword?: boolean;
69
+ validationSettings?: AppConfigCommonPersistanceNoSQLValidationSettings;
52
70
  }
53
- export interface AppConfigCommonPersistanceRDB {
71
+ export interface AppConfigCommonPersistanceNoSQLEntityServiceSettings extends AppConfigCommonPersistanceEntityServiceSettings {
72
+ defaultIndividualSearchEnabled?: boolean;
73
+ ttl?: number;
74
+ validationSettings?: AppConfigCommonPersistanceNoSQLValidationSettings;
75
+ }
76
+ export interface AppConfigCommonPersistanceNoSQLValidationSettings {
77
+ throwErrorOnExtraProperies?: boolean;
78
+ isEnabled?: boolean;
79
+ whitelistProperties?: boolean;
80
+ }
81
+ export interface AppConfigCommonPersistanceRDB extends AppConfigCommonPersistance {
54
82
  connectionName: string;
55
83
  type: RDBType;
56
84
  }
@@ -65,7 +93,11 @@ export interface AppConfigFromEnv {
65
93
  [moduleName: string]: GenericObject | AppConfigFromEnvPersistanceNoSQL | AppConfigFromEnvPersistanceRDB;
66
94
  };
67
95
  }
68
- export type AppConfigFromEnvAPIHTTP = AppConfigCommonAPIHTTP;
96
+ export interface AppConfigFromEnvAPIHTTP extends AppConfigCommonAPIHTTP {
97
+ apiKey?: string;
98
+ apiSecret?: string;
99
+ apiSecretAlgorithm?: string;
100
+ }
69
101
  export type AppConfigFromEnvAPIREST = AppConfigFromEnvAPIHTTP;
70
102
  export interface AppConfigFromEnvDomainIAM {
71
103
  jwtAccessSecret: string;
@@ -87,6 +119,7 @@ export interface AppConfigFromEnvPersistanceNoSQL {
87
119
  host: string;
88
120
  password: string;
89
121
  port: number;
122
+ sentinelPassword?: string;
90
123
  user?: string;
91
124
  }
92
125
  export interface AppConfigFromEnvPersistanceRDB {
@@ -108,6 +141,9 @@ export interface AppConfigProfile {
108
141
  projectName?: string;
109
142
  projectVersion?: string;
110
143
  };
144
+ persistance?: {
145
+ [persistanceModuleName: string]: GenericObject | AppConfigProfilePersistanceClickHouse | AppConfigProfilePersistanceNoSQL | AppConfigProfilePersistanceRDB;
146
+ };
111
147
  }
112
148
  export type AppConfigProfileAPIHTTP = AppConfigCommonAPIHTTP;
113
149
  export type AppConfigProfileAPIREST = AppConfigProfileAPIHTTP;
@@ -115,6 +151,13 @@ export interface AppConfigProfileDomainIAM {
115
151
  accessTokenExpiryTimeInMinutes?: number;
116
152
  refreshTokenExpiryTimeInMinutes?: number;
117
153
  }
154
+ export type AppConfigProfilePersistanceClickHouse = AppConfigCommonPersistanceClickHouse & {
155
+ protocol?: string;
156
+ };
157
+ export type AppConfigProfilePersistanceNoSQL = AppConfigCommonPersistanceNoSQL;
158
+ export type AppConfigProfilePersistanceRDB = AppConfigCommonPersistanceRDB & {
159
+ typeormExtraOptions?: GenericObject;
160
+ };
118
161
  export declare enum AppEnvironment {
119
162
  Development = "development",
120
163
  Local = "local",
@@ -122,10 +165,8 @@ export declare enum AppEnvironment {
122
165
  Staging = "staging",
123
166
  Test = "test"
124
167
  }
125
- export interface ConfigProviderModuleOptions {
168
+ export interface ConfigProviderModuleOptions extends LoadConfigOptions {
126
169
  appConfigs: LoadConfigAppConfigs;
127
- envKeys: AppConfigFromEnvKeys;
128
- envKeysParentNames: AppConfigFromEnvKeysParentNames;
129
170
  }
130
171
  export declare enum EndpointSecurityMode {
131
172
  Lax = "lax",
@@ -139,9 +180,11 @@ export interface GenerateOrmconfigOptions {
139
180
  seedsPathInModule?: string;
140
181
  }
141
182
  export declare enum NoSQLType {
142
- Redis = "redis"
183
+ Redis = "redis",
184
+ Valkey = "valkey"
143
185
  }
144
186
  export declare enum RDBType {
187
+ Aurora = "aurora",
145
188
  ClickHouse = "clickhouse",
146
189
  MySQL = "mysql",
147
190
  PG = "postgres"
@@ -152,5 +195,7 @@ export type LoadConfigAppConfigs<AppConfigCommonType extends AppConfigCommon = A
152
195
  export interface LoadConfigOptions {
153
196
  envKeys?: AppConfigFromEnvKeys;
154
197
  envKeysParentNames?: AppConfigFromEnvKeysParentNames;
198
+ useEnvFile?: boolean;
199
+ useEnvFileWithPriority?: boolean;
155
200
  }
156
201
  export {};
@@ -4,10 +4,16 @@ exports.RDBType = exports.NoSQLType = exports.EndpointSecurityMode = exports.App
4
4
  exports.APP_CONFIG_FROM_ENV_KEYS = {
5
5
  API: {
6
6
  HTTP: {
7
+ API_KEY: 'apiKey',
8
+ API_SECRET: 'apiSecret',
9
+ API_SECRET_ALGORITHM: 'apiSecretAlgorithm',
7
10
  HOSTNAME: 'hostname',
8
11
  PORT: 'port'
9
12
  },
10
13
  REST: {
14
+ API_KEY: 'apiKey',
15
+ API_SECRET: 'apiSecret',
16
+ API_SECRET_ALGORITHM: 'apiSecretAlgorithm',
11
17
  HOSTNAME: 'hostname',
12
18
  PORT: 'port'
13
19
  }
@@ -23,6 +29,7 @@ exports.APP_CONFIG_FROM_ENV_KEYS = {
23
29
  NOSQL: {
24
30
  HOST: 'host',
25
31
  PASSWORD: 'password',
32
+ SENTINEL_PASSWORD: 'sentinelPassword',
26
33
  PORT: 'port',
27
34
  USER: 'user'
28
35
  },
@@ -52,7 +59,8 @@ exports.APP_CONFIG_FROM_ENV_KEYS_PARENT_NAMES = {
52
59
  PERSISTANCE: {
53
60
  children: {
54
61
  DB: 'db',
55
- REDIS: 'redis'
62
+ REDIS: 'redis',
63
+ VALKEY: 'valkey'
56
64
  },
57
65
  name: 'persistance'
58
66
  }
@@ -73,9 +81,11 @@ var EndpointSecurityMode;
73
81
  var NoSQLType;
74
82
  (function (NoSQLType) {
75
83
  NoSQLType["Redis"] = "redis";
84
+ NoSQLType["Valkey"] = "valkey";
76
85
  })(NoSQLType || (exports.NoSQLType = NoSQLType = {}));
77
86
  var RDBType;
78
87
  (function (RDBType) {
88
+ RDBType["Aurora"] = "aurora";
79
89
  RDBType["ClickHouse"] = "clickhouse";
80
90
  RDBType["MySQL"] = "mysql";
81
91
  RDBType["PG"] = "postgres";
@@ -1 +1 @@
1
- {"version":3,"file":"configProvider.definitions.js","sourceRoot":"","sources":["../../../src/common/configProvider/configProvider.definitions.ts"],"names":[],"mappings":";;;AAKa,QAAA,wBAAwB,GAAyB;IAC5D,GAAG,EAAE;QACH,IAAI,EAAE;YACJ,QAAQ,EAAE,UAAU;YACpB,IAAI,EAAE,MAAM;SACb;QACD,IAAI,EAAE;YACJ,QAAQ,EAAE,UAAU;YACpB,IAAI,EAAE,MAAM;SACb;KACF;IACD,MAAM,EAAE;QACN,GAAG,EAAE;YACH,iBAAiB,EAAE,iBAAiB;YACpC,kBAAkB,EAAE,kBAAkB;YACtC,oBAAoB,EAAE,oBAAoB;SAC3C;KACF;IACD,WAAW,EAAE;QACX,KAAK,EAAE;YACL,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,UAAU;YACpB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,MAAM;SACb;QACD,GAAG,EAAE;YACH,aAAa,EAAE,UAAU;YACzB,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,UAAU;YACpB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,MAAM;SACb;KACF;CACF,CAAC;AAQW,QAAA,qCAAqC,GAAoC;IACpF,GAAG,EAAE;QACH,QAAQ,EAAE;YACR,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,MAAM;SACb;QACD,IAAI,EAAE,KAAK;KACZ;IACD,MAAM,EAAE;QACN,QAAQ,EAAE;YACR,GAAG,EAAE,KAAK;SACX;QACD,IAAI,EAAE,QAAQ;KACf;IACD,WAAW,EAAE;QACX,QAAQ,EAAE;YACR,EAAE,EAAE,IAAI;YACR,KAAK,EAAE,OAAO;SACf;QACD,IAAI,EAAE,aAAa;KACpB;CACF,CAAC;AA0IF,IAAY,cAWX;AAXD,WAAY,cAAc;IAExB,6CAA2B,CAAA;IAE3B,iCAAe,CAAA;IAEf,2CAAyB,CAAA;IAEzB,qCAAmB,CAAA;IAEnB,+BAAa,CAAA;AACf,CAAC,EAXW,cAAc,8BAAd,cAAc,QAWzB;AAaD,IAAY,oBAKX;AALD,WAAY,oBAAoB;IAE9B,mCAAW,CAAA;IAEX,yCAAiB,CAAA;AACnB,CAAC,EALW,oBAAoB,oCAApB,oBAAoB,QAK/B;AAWD,IAAY,SAGX;AAHD,WAAY,SAAS;IAEnB,4BAAe,CAAA;AACjB,CAAC,EAHW,SAAS,yBAAT,SAAS,QAGpB;AAGD,IAAY,OAOX;AAPD,WAAY,OAAO;IAEjB,oCAAyB,CAAA;IAEzB,0BAAe,CAAA;IAEf,0BAAe,CAAA;AACjB,CAAC,EAPW,OAAO,uBAAP,OAAO,QAOlB"}
1
+ {"version":3,"file":"configProvider.definitions.js","sourceRoot":"","sources":["../../../src/common/configProvider/configProvider.definitions.ts"],"names":[],"mappings":";;;AAKa,QAAA,wBAAwB,GAAyB;IAC5D,GAAG,EAAE;QACH,IAAI,EAAE;YACJ,OAAO,EAAE,QAAQ;YACjB,UAAU,EAAE,WAAW;YACvB,oBAAoB,EAAE,oBAAoB;YAC1C,QAAQ,EAAE,UAAU;YACpB,IAAI,EAAE,MAAM;SACb;QACD,IAAI,EAAE;YACJ,OAAO,EAAE,QAAQ;YACjB,UAAU,EAAE,WAAW;YACvB,oBAAoB,EAAE,oBAAoB;YAC1C,QAAQ,EAAE,UAAU;YACpB,IAAI,EAAE,MAAM;SACb;KACF;IACD,MAAM,EAAE;QACN,GAAG,EAAE;YACH,iBAAiB,EAAE,iBAAiB;YACpC,kBAAkB,EAAE,kBAAkB;YACtC,oBAAoB,EAAE,oBAAoB;SAC3C;KACF;IACD,WAAW,EAAE;QACX,KAAK,EAAE;YACL,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,UAAU;YACpB,iBAAiB,EAAE,kBAAkB;YACrC,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,MAAM;SACb;QACD,GAAG,EAAE;YACH,aAAa,EAAE,UAAU;YACzB,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,UAAU;YACpB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,MAAM;SACb;KACF;CACF,CAAC;AAQW,QAAA,qCAAqC,GAAoC;IACpF,GAAG,EAAE;QACH,QAAQ,EAAE;YACR,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,MAAM;SACb;QACD,IAAI,EAAE,KAAK;KACZ;IACD,MAAM,EAAE;QACN,QAAQ,EAAE;YACR,GAAG,EAAE,KAAK;SACX;QACD,IAAI,EAAE,QAAQ;KACf;IACD,WAAW,EAAE;QACX,QAAQ,EAAE;YACR,EAAE,EAAE,IAAI;YACR,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,QAAQ;SACjB;QACD,IAAI,EAAE,aAAa;KACpB;CACF,CAAC;AAuMF,IAAY,cAWX;AAXD,WAAY,cAAc;IAExB,6CAA2B,CAAA;IAE3B,iCAAe,CAAA;IAEf,2CAAyB,CAAA;IAEzB,qCAAmB,CAAA;IAEnB,+BAAa,CAAA;AACf,CAAC,EAXW,cAAc,8BAAd,cAAc,QAWzB;AAWD,IAAY,oBAKX;AALD,WAAY,oBAAoB;IAE9B,mCAAW,CAAA;IAEX,yCAAiB,CAAA;AACnB,CAAC,EALW,oBAAoB,oCAApB,oBAAoB,QAK/B;AAWD,IAAY,SAKX;AALD,WAAY,SAAS;IAEnB,4BAAe,CAAA;IAEf,8BAAiB,CAAA;AACnB,CAAC,EALW,SAAS,yBAAT,SAAS,QAKpB;AAGD,IAAY,OASX;AATD,WAAY,OAAO;IAEjB,4BAAiB,CAAA;IAEjB,oCAAyB,CAAA;IAEzB,0BAAe,CAAA;IAEf,0BAAe,CAAA;AACjB,CAAC,EATW,OAAO,uBAAP,OAAO,QASlB"}
@@ -14,6 +14,17 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
14
14
  step((generator = generator.apply(thisArg, _arguments || [])).next());
15
15
  });
16
16
  };
17
+ var __rest = (this && this.__rest) || function (s, e) {
18
+ var t = {};
19
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
20
+ t[p] = s[p];
21
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
22
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
23
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
24
+ t[p[i]] = s[p[i]];
25
+ }
26
+ return t;
27
+ };
17
28
  var ConfigProviderModule_1;
18
29
  Object.defineProperty(exports, "__esModule", { value: true });
19
30
  exports.ConfigProviderModule = void 0;
@@ -22,14 +33,14 @@ const configProvider_service_1 = require("./configProvider.service");
22
33
  const definitions_1 = require("../definitions");
23
34
  let ConfigProviderModule = ConfigProviderModule_1 = class ConfigProviderModule {
24
35
  static register(options) {
25
- const { appConfigs, envKeys, envKeysParentNames } = options;
36
+ const { appConfigs } = options, otherOptions = __rest(options, ["appConfigs"]);
26
37
  return {
27
38
  global: true,
28
39
  module: ConfigProviderModule_1,
29
40
  providers: [
30
41
  {
31
42
  provide: definitions_1.Constants.CONFIG,
32
- useFactory: () => __awaiter(this, void 0, void 0, function* () { return yield configProvider_service_1.ConfigProviderService.loadConfig(appConfigs, { envKeys, envKeysParentNames }); })
43
+ useFactory: () => __awaiter(this, void 0, void 0, function* () { return yield configProvider_service_1.ConfigProviderService.loadConfig(appConfigs, Object.assign({}, otherOptions)); })
33
44
  },
34
45
  configProvider_service_1.ConfigProviderService
35
46
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"configProvider.module.js","sourceRoot":"","sources":["../../../src/common/configProvider/configProvider.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,2CAAuD;AAGvD,qEAAiE;AAEjE,gDAA2C;AAGpC,IAAM,oBAAoB,4BAA1B,MAAM,oBAAoB;IAC/B,MAAM,CAAC,QAAQ,CAAC,OAAoC;QAClD,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC;QAC5D,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,sBAAoB;YAC5B,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,uBAAS,CAAC,MAAM;oBACzB,UAAU,EAAE,GAAS,EAAE,gDAAC,OAAA,MAAM,8CAAqB,CAAC,UAAU,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC,CAAA,GAAA;iBAC5G;gBACD,8CAAqB;aACtB;YACD,OAAO,EAAE,CAAC,uBAAS,CAAC,MAAM,EAAE,8CAAqB,CAAC;SACnD,CAAC;IACJ,CAAC;CACF,CAAA;AAhBY,oDAAoB;+BAApB,oBAAoB;IADhC,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,oBAAoB,CAgBhC"}
1
+ {"version":3,"file":"configProvider.module.js","sourceRoot":"","sources":["../../../src/common/configProvider/configProvider.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAuD;AAGvD,qEAAiE;AAEjE,gDAA2C;AAGpC,IAAM,oBAAoB,4BAA1B,MAAM,oBAAoB;IAC/B,MAAM,CAAC,QAAQ,CAAC,OAAoC;QAClD,MAAM,EAAE,UAAU,KAAsB,OAAO,EAAxB,YAAY,UAAK,OAAO,EAAzC,cAA+B,CAAU,CAAC;QAChD,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,sBAAoB;YAC5B,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,uBAAS,CAAC,MAAM;oBACzB,UAAU,EAAE,GAAS,EAAE,gDAAC,OAAA,MAAM,8CAAqB,CAAC,UAAU,CAAC,UAAU,oBAAO,YAAY,EAAG,CAAA,GAAA;iBAChG;gBACD,8CAAqB;aACtB;YACD,OAAO,EAAE,CAAC,uBAAS,CAAC,MAAM,EAAE,8CAAqB,CAAC;SACnD,CAAC;IACJ,CAAC;CACF,CAAA;AAhBY,oDAAoB;+BAApB,oBAAoB;IADhC,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,oBAAoB,CAgBhC"}
@@ -72,9 +72,8 @@ exports.ConfigProviderService = void 0;
72
72
  const fs = __importStar(require("fs/promises"));
73
73
  const path = __importStar(require("path"));
74
74
  const common_1 = require("@nestjs/common");
75
- const general_tools_1 = require("@ramster/general-tools");
76
75
  const dotenv_1 = __importDefault(require("dotenv"));
77
- const ramda_1 = require("ramda");
76
+ const lodash_1 = __importDefault(require("lodash"));
78
77
  const configProvider_definitions_1 = require("./configProvider.definitions");
79
78
  const definitions_1 = require("../definitions");
80
79
  let ConfigProviderService = class ConfigProviderService {
@@ -119,15 +118,9 @@ let ConfigProviderService = class ConfigProviderService {
119
118
  const baseSeedsPath = path.join(projectRootPath, modulePathInProject, seedsPathInModule);
120
119
  ormconfigMigrations.push(`${baseSeedsPath}/common/**/*.ts`);
121
120
  }
122
- yield fs.writeFile(path.join(projectRootPath, `ormconfig-${moduleName}.json`), JSON.stringify((0, ramda_1.mergeDeepRight)(persistance[moduleName], {
123
- cli: {
121
+ yield fs.writeFile(path.join(projectRootPath, `ormconfig-${moduleName}.json`), JSON.stringify(lodash_1.default.merge(persistance[moduleName], Object.assign({ cli: {
124
122
  migrationsDir: migrationsPath
125
- },
126
- entities: [...entities],
127
- migrations: ormconfigMigrations,
128
- name: moduleConfig.connectionName,
129
- subscribers: [...subscribers]
130
- })));
123
+ }, entities: [...entities], migrations: ormconfigMigrations, name: moduleConfig.connectionName, synchronize: moduleConfig.type === configProvider_definitions_1.RDBType.Aurora ? true : false, subscribers: [...subscribers], type: moduleConfig.type === configProvider_definitions_1.RDBType.Aurora ? configProvider_definitions_1.RDBType.MySQL : moduleConfig.type }, (moduleConfig.typeormExtraOptions || {})))));
131
124
  const entitiesPathInProject = path.join(modulePathInProject, entitiesPathInModule);
132
125
  yield fs.writeFile(path.join(projectRootPath, `datasource-${moduleName}.ts`), "import { loadDynamicModules } from '@node-c/core';\n" +
133
126
  '\n' +
@@ -147,24 +140,33 @@ let ConfigProviderService = class ConfigProviderService {
147
140
  ` password: '${moduleConfig.password}',\n` +
148
141
  ` port: ${moduleConfig.port},\n` +
149
142
  ' subscribers: [],\n' +
150
- ' synchronize: false,\n' +
151
- ` type: '${moduleConfig.type}',\n` +
143
+ ` synchronize: ${moduleConfig.type === configProvider_definitions_1.RDBType.Aurora ? true : false},\n` +
144
+ ` type: '${moduleConfig.type === configProvider_definitions_1.RDBType.Aurora ? configProvider_definitions_1.RDBType.MySQL : moduleConfig.type}',\n` +
152
145
  ` username: '${moduleConfig.user}'\n` +
153
146
  '});\n');
154
147
  });
155
148
  }
156
149
  static loadConfig(appConfigs, options) {
157
150
  return __awaiter(this, void 0, void 0, function* () {
158
- const optionsData = __rest(options || {}, []);
151
+ const _a = options || {}, { useEnvFile, useEnvFileWithPriority } = _a, optionsData = __rest(_a, ["useEnvFile", "useEnvFileWithPriority"]);
159
152
  const envKeys = optionsData.envKeys || configProvider_definitions_1.APP_CONFIG_FROM_ENV_KEYS;
160
153
  const envKeysParentNames = optionsData.envKeysParentNames || configProvider_definitions_1.APP_CONFIG_FROM_ENV_KEYS_PARENT_NAMES;
161
154
  const processEnv = process.env;
162
155
  const envName = processEnv['NODE_ENV'] || configProvider_definitions_1.AppEnvironment.Local;
163
- const config = (0, ramda_1.mergeDeepRight)(appConfigs.appConfigCommon, appConfigs[`appConfigProfile${envName.charAt(0).toUpperCase()}${envName.substring(1, envName.length)}`]);
156
+ const config = lodash_1.default.merge(appConfigs.appConfigCommon, appConfigs[`appConfigProfile${envName.charAt(0).toUpperCase()}${envName.substring(1, envName.length)}`]);
164
157
  const moduleNamesByCategoryAndType = {};
165
158
  const moduleTypesRegex = new RegExp(`^((${Object.keys(envKeys).join(')|(')}))_`);
166
159
  config.general.environment = envName;
167
- const envVars = dotenv_1.default.parse((yield fs.readFile(path.join(config.general.projectRootPath, `envFiles/.${envName}.env`))).toString());
160
+ let envVars = processEnv;
161
+ if (useEnvFile) {
162
+ const envVarsFromFile = dotenv_1.default.parse((yield fs.readFile(path.join(config.general.projectRootPath, `envFiles/.${envName}.env`))).toString());
163
+ if (useEnvFileWithPriority) {
164
+ envVars = lodash_1.default.merge(envVars, envVarsFromFile);
165
+ }
166
+ else {
167
+ envVars = lodash_1.default.merge(envVarsFromFile, envVars);
168
+ }
169
+ }
168
170
  for (const envKey in envVars) {
169
171
  const [, moduleCategory] = envKey.match(moduleTypesRegex) || [];
170
172
  if (!moduleCategory) {
@@ -199,7 +201,7 @@ let ConfigProviderService = class ConfigProviderService {
199
201
  for (const fieldName in moduleFieldsForType) {
200
202
  const configKey = `${categoryConfigKey}.${moduleConfigKey}.${moduleFieldsForType[fieldName]}`;
201
203
  const envKey = `${moduleCategory}_${moduleName}_${fieldName}`;
202
- (0, general_tools_1.setNested)(config, configKey, envVars[envKey]);
204
+ lodash_1.default.set(config, configKey, envVars[envKey]);
203
205
  }
204
206
  });
205
207
  }
@@ -1 +1 @@
1
- {"version":3,"file":"configProvider.service.js","sourceRoot":"","sources":["../../../src/common/configProvider/configProvider.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configProvider.service.js","sourceRoot":"","sources":["../../../src/common/configProvider/configProvider.service.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  export declare enum Constants {
2
2
  API_MODULE_NAME = "API_MODULE_NAME",
3
3
  CONFIG = "CONFIG",
4
- DOMAIN_MODULE_NAME = "DOMAIN_MODULE_NAME"
4
+ DOMAIN_MODULE_NAME = "DOMAIN_MODULE_NAME",
5
+ PERSISTANCE_MODULE_NAME = "PERSISTANCE_MODULE_NAME"
5
6
  }
6
7
  export declare enum HttpMethod {
7
8
  DELETE = "delete",
@@ -6,6 +6,7 @@ var Constants;
6
6
  Constants["API_MODULE_NAME"] = "API_MODULE_NAME";
7
7
  Constants["CONFIG"] = "CONFIG";
8
8
  Constants["DOMAIN_MODULE_NAME"] = "DOMAIN_MODULE_NAME";
9
+ Constants["PERSISTANCE_MODULE_NAME"] = "PERSISTANCE_MODULE_NAME";
9
10
  })(Constants || (exports.Constants = Constants = {}));
10
11
  var HttpMethod;
11
12
  (function (HttpMethod) {
@@ -1 +1 @@
1
- {"version":3,"file":"common.constants.js","sourceRoot":"","sources":["../../../src/common/definitions/common.constants.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAOX;AAPD,WAAY,SAAS;IAEnB,gDAAmC,CAAA;IAEnC,8BAAiB,CAAA;IAEjB,sDAAyC,CAAA;AAC3C,CAAC,EAPW,SAAS,yBAAT,SAAS,QAOpB;AAED,IAAY,UAeX;AAfD,WAAY,UAAU;IAEpB,+BAAiB,CAAA;IAEjB,yBAAW,CAAA;IAEX,2BAAa,CAAA;IAEb,iCAAmB,CAAA;IAEnB,6BAAe,CAAA;IAEf,2BAAa,CAAA;IAEb,yBAAW,CAAA;AACb,CAAC,EAfW,UAAU,0BAAV,UAAU,QAerB"}
1
+ {"version":3,"file":"common.constants.js","sourceRoot":"","sources":["../../../src/common/definitions/common.constants.ts"],"names":[],"mappings":";;;AAAA,IAAY,SASX;AATD,WAAY,SAAS;IAEnB,gDAAmC,CAAA;IAEnC,8BAAiB,CAAA;IAEjB,sDAAyC,CAAA;IAEzC,gEAAmD,CAAA;AACrD,CAAC,EATW,SAAS,yBAAT,SAAS,QASpB;AAED,IAAY,UAeX;AAfD,WAAY,UAAU;IAEpB,+BAAiB,CAAA;IAEjB,yBAAW,CAAA;IAEX,2BAAa,CAAA;IAEb,iCAAmB,CAAA;IAEnB,6BAAe,CAAA;IAEf,2BAAa,CAAA;IAEb,yBAAW,CAAA;AACb,CAAC,EAfW,UAAU,0BAAV,UAAU,QAerB"}
@@ -0,0 +1,4 @@
1
+ export interface GetNestedOptions {
2
+ arrayItemsShouldBeUnique?: boolean;
3
+ removeNestedFieldEscapeSign?: boolean;
4
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=getNested.definitions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getNested.definitions.js","sourceRoot":"","sources":["../../../../src/common/utils/getNested/getNested.definitions.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import { GetNestedOptions } from './getNested.definitions';
2
+ export declare function getNested<ReturnData = unknown>(parent: unknown | unknown[], field: string, options?: GetNestedOptions): {
3
+ paths: string[];
4
+ unifiedValue?: ReturnData | ReturnData[];
5
+ values: (ReturnData | undefined)[];
6
+ };
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getNested = getNested;
4
+ function getNested(parent, field, options) {
5
+ if (typeof parent !== 'object' || parent === null || !field.length) {
6
+ return { paths: [field], values: [] };
7
+ }
8
+ const { arrayItemsShouldBeUnique, removeNestedFieldEscapeSign } = options || {};
9
+ const fieldData = field.split('.');
10
+ const fieldDataLength = fieldData.length;
11
+ const paths = [];
12
+ const values = [];
13
+ let currentElement = parent;
14
+ let currentPath = '';
15
+ for (let i = 0; i < fieldDataLength; i++) {
16
+ let innerElementName = fieldData[i];
17
+ if (innerElementName.charAt(0) === '$') {
18
+ let closingBracketFound = false, closingBracketIndex = i + 1;
19
+ while (closingBracketIndex < fieldDataLength) {
20
+ const element = fieldData[closingBracketIndex];
21
+ if (element.charAt(0) === '$') {
22
+ break;
23
+ }
24
+ if (element.charAt(element.length - 1) === '$') {
25
+ closingBracketFound = true;
26
+ break;
27
+ }
28
+ closingBracketIndex++;
29
+ }
30
+ if (closingBracketFound) {
31
+ for (let j = i + 1; j <= closingBracketIndex; j++) {
32
+ innerElementName += `.${fieldData[j]}`;
33
+ }
34
+ i = closingBracketIndex;
35
+ if (removeNestedFieldEscapeSign) {
36
+ innerElementName = innerElementName.replace(/^\$/, '').replace(/\$$/, '');
37
+ }
38
+ }
39
+ }
40
+ const nextElement = currentElement[innerElementName];
41
+ currentPath += `${currentPath.length ? '.' : ''}${innerElementName}`;
42
+ if (typeof nextElement === 'undefined') {
43
+ paths.push(currentPath);
44
+ break;
45
+ }
46
+ if (nextElement instanceof Array) {
47
+ if (i === fieldDataLength - 1) {
48
+ paths.push(currentPath);
49
+ values.push(nextElement);
50
+ break;
51
+ }
52
+ if (isNaN(parseInt(fieldData[i + 1], 10))) {
53
+ let innerPath = '';
54
+ for (let j = i + 1; j < fieldDataLength; j++) {
55
+ innerPath += `${fieldData[j]}${j < fieldDataLength - 1 ? '.' : ''}`;
56
+ }
57
+ nextElement.forEach(item => {
58
+ const { paths: innerPaths, values: innerValue } = getNested(item, innerPath, options);
59
+ if (typeof innerValue === 'undefined') {
60
+ return;
61
+ }
62
+ innerValue.forEach((innerValueItem, innerValueItemIndex) => {
63
+ if (!arrayItemsShouldBeUnique ||
64
+ (arrayItemsShouldBeUnique && values.indexOf(innerValueItem) === -1)) {
65
+ paths.push(`${currentPath}.${innerValueItemIndex}.${innerPaths[innerValueItemIndex]}`);
66
+ values.push(innerValueItem);
67
+ }
68
+ });
69
+ });
70
+ break;
71
+ }
72
+ }
73
+ currentElement = nextElement;
74
+ if (i === fieldDataLength - 1) {
75
+ paths.push(currentPath);
76
+ values.push(currentElement);
77
+ }
78
+ }
79
+ let unifiedValue = undefined;
80
+ if (paths.length > 1 || values.length > 1) {
81
+ unifiedValue = values;
82
+ }
83
+ else {
84
+ unifiedValue = values[0];
85
+ }
86
+ return { paths, unifiedValue: unifiedValue, values };
87
+ }
88
+ //# sourceMappingURL=getNested.method.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getNested.method.js","sourceRoot":"","sources":["../../../../src/common/utils/getNested/getNested.method.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './getNested.definitions';
2
+ export * from './getNested.method';
@@ -0,0 +1,19 @@
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("./getNested.definitions"), exports);
18
+ __exportStar(require("./getNested.method"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/common/utils/getNested/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAwC;AACxC,qDAAmC"}
@@ -1 +1,3 @@
1
- export * from './utils.loadDynamicModules';
1
+ export * from './getNested';
2
+ export * from './loadDynamicModules';
3
+ export * from './setNested';