@node-c/core 1.0.0-alpha3 → 1.0.0-alpha30

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 (32) hide show
  1. package/coverage/clover.xml +167 -132
  2. package/coverage/coverage-final.json +2 -2
  3. package/coverage/index.html +18 -18
  4. package/dist/app.js +20 -3
  5. package/dist/app.js.map +1 -1
  6. package/dist/common/configProvider/configProvider.definitions.d.ts +62 -18
  7. package/dist/common/configProvider/configProvider.definitions.js +16 -2
  8. package/dist/common/configProvider/configProvider.definitions.js.map +1 -1
  9. package/dist/common/configProvider/configProvider.module.js +13 -2
  10. package/dist/common/configProvider/configProvider.module.js.map +1 -1
  11. package/dist/common/configProvider/configProvider.service.js +21 -16
  12. package/dist/common/configProvider/configProvider.service.js.map +1 -1
  13. package/dist/common/definitions/common.constants.d.ts +11 -1
  14. package/dist/common/definitions/common.constants.js +12 -1
  15. package/dist/common/definitions/common.constants.js.map +1 -1
  16. package/dist/common/definitions/common.definitions.d.ts +3 -0
  17. package/dist/common/utils/utils.loadDynamicModules.d.ts +4 -1
  18. package/dist/common/utils/utils.loadDynamicModules.js +6 -2
  19. package/dist/common/utils/utils.loadDynamicModules.js.map +1 -1
  20. package/dist/domain/entityService/domain.entity.service.d.ts +11 -22
  21. package/dist/domain/entityService/domain.entity.service.definitions.d.ts +43 -9
  22. package/dist/domain/entityService/domain.entity.service.definitions.js +9 -1
  23. package/dist/domain/entityService/domain.entity.service.definitions.js.map +1 -1
  24. package/dist/domain/entityService/domain.entity.service.js +147 -50
  25. package/dist/domain/entityService/domain.entity.service.js.map +1 -1
  26. package/dist/persistance/entityService/persistance.entity.service.d.ts +16 -10
  27. package/dist/persistance/entityService/persistance.entity.service.definitions.d.ts +52 -3
  28. package/dist/persistance/entityService/persistance.entity.service.definitions.js +11 -1
  29. package/dist/persistance/entityService/persistance.entity.service.definitions.js.map +1 -1
  30. package/dist/persistance/entityService/persistance.entity.service.js +42 -10
  31. package/dist/persistance/entityService/persistance.entity.service.js.map +1 -1
  32. package/package.json +5 -3
@@ -1,5 +1,4 @@
1
- import { RequestMethod } from '@nestjs/common';
2
- import { GenericObject } from '../definitions';
1
+ import { GenericObject, HttpMethod } from '../definitions';
3
2
  export declare const APP_CONFIG_FROM_ENV_KEYS: AppConfigFromEnvKeys;
4
3
  export declare const APP_CONFIG_FROM_ENV_KEYS_PARENT_NAMES: AppConfigFromEnvKeysParentNames;
5
4
  type AppConfigIntermediate = AppConfigCommon & AppConfigProfile & AppConfigFromEnv;
@@ -8,8 +7,8 @@ type AppConfigAPIHTTPIntermediate = AppConfigCommonAPIHTTP & AppConfigFromEnvAPI
8
7
  export type AppConfigAPIHTTP = AppConfigAPIHTTPIntermediate & Required<Pick<AppConfigAPIHTTPIntermediate, 'allowedOrigins' | 'anonymousAccessRoutes' | 'hostname' | 'port'>>;
9
8
  export type AppConfigAPIREST = AppConfigCommonAPIREST & AppConfigFromEnvAPIREST;
10
9
  export type AppConfigDomainIAM = AppConfigCommonDomainIAM & AppConfigFromEnvDomainIAM;
11
- export type AppConfigPersistanceNoSQL = AppConfigCommonPersistanceNoSQL & AppConfigFromEnvPersistanceNoSQL;
12
- export type AppConfigPersistanceRDB = AppConfigCommonPersistanceRDB & AppConfigFromEnvPersistanceRDB;
10
+ export type AppConfigPersistanceNoSQL = AppConfigCommonPersistanceNoSQL & AppConfigFromEnvPersistanceNoSQL & AppConfigProfilePersistanceNoSQL;
11
+ export type AppConfigPersistanceRDB = AppConfigCommonPersistanceClickHouse & AppConfigCommonPersistanceRDB & AppConfigCommonPersistanceClickHouse & AppConfigFromEnvPersistanceRDB & AppConfigProfilePersistanceClickHouse & AppConfigProfilePersistanceRDB;
13
12
  export interface AppConfigCommon {
14
13
  api?: {
15
14
  [apiName: string]: GenericObject | AppConfigCommonAPIHTTP | AppConfigCommonAPIREST;
@@ -23,12 +22,13 @@ export interface AppConfigCommon {
23
22
  projectVersion: string;
24
23
  };
25
24
  persistance: {
26
- [moduleName: string]: GenericObject | AppConfigCommonPersistanceNoSQL | AppConfigCommonPersistanceRDB;
25
+ [moduleName: string]: GenericObject | AppConfigCommonPersistanceClickHouse | AppConfigCommonPersistanceNoSQL | AppConfigCommonPersistanceRDB;
27
26
  };
28
27
  }
29
28
  export interface AppConfigCommonAPIHTTP {
30
29
  allowedOrigins?: string[];
31
- anonymousAccessRoutes?: Record<string, RequestMethod[]>;
30
+ anonymousAccessRoutes?: Record<string, HttpMethod[]>;
31
+ endpointSecurityMode?: EndpointSecurityMode;
32
32
  hostname?: string;
33
33
  port?: number;
34
34
  }
@@ -39,12 +39,37 @@ export interface AppConfigCommonDomainIAM {
39
39
  refreshTokenExpiryTimeInMinutes?: number;
40
40
  userPasswordHMACAlgorithm?: string;
41
41
  }
42
- export interface AppConfigCommonPersistanceNoSQL {
43
- type: NoSQLType;
42
+ export type AppConfigCommonPersistance = {
43
+ settingsPerEntity?: Record<string, AppConfigCommonPersistanceEntityServiceSettings>;
44
+ } & AppConfigCommonPersistanceEntityServiceSettings;
45
+ export interface AppConfigCommonPersistanceEntityServiceSettings {
46
+ processFiltersAllowedFieldsEnabled?: boolean;
47
+ processInputAllowedFieldsEnabled?: boolean;
48
+ }
49
+ export interface AppConfigCommonPersistanceClickHouse extends AppConfigCommonPersistance {
50
+ type: RDBType;
51
+ }
52
+ export interface AppConfigCommonPersistanceNoSQL extends AppConfigCommonPersistance {
53
+ clusterMode?: boolean;
54
+ defaultTTL?: number;
44
55
  storeDelimiter?: string;
45
56
  storeKey: string;
57
+ settingsPerEntity?: Record<string, AppConfigCommonPersistanceNoSQLEntityServiceSettings>;
58
+ type: NoSQLType;
59
+ useHashmap?: boolean;
60
+ validationSettings?: AppConfigCommonPersistanceNoSQLValidationSettings;
61
+ }
62
+ export interface AppConfigCommonPersistanceNoSQLEntityServiceSettings extends AppConfigCommonPersistanceEntityServiceSettings {
63
+ ttl?: number;
64
+ validationSettings?: AppConfigCommonPersistanceNoSQLValidationSettings;
46
65
  }
47
- export interface AppConfigCommonPersistanceRDB {
66
+ export interface AppConfigCommonPersistanceNoSQLValidationSettings {
67
+ throwErrorOnExtraProperies?: boolean;
68
+ isEnabled?: boolean;
69
+ whitelistProperties?: boolean;
70
+ }
71
+ export interface AppConfigCommonPersistanceRDB extends AppConfigCommonPersistance {
72
+ connectionName: string;
48
73
  type: RDBType;
49
74
  }
50
75
  export interface AppConfigFromEnv {
@@ -58,7 +83,11 @@ export interface AppConfigFromEnv {
58
83
  [moduleName: string]: GenericObject | AppConfigFromEnvPersistanceNoSQL | AppConfigFromEnvPersistanceRDB;
59
84
  };
60
85
  }
61
- export type AppConfigFromEnvAPIHTTP = AppConfigCommonAPIHTTP;
86
+ export interface AppConfigFromEnvAPIHTTP extends AppConfigCommonAPIHTTP {
87
+ apiKey?: string;
88
+ apiSecret?: string;
89
+ apiSecretAlgorithm?: string;
90
+ }
62
91
  export type AppConfigFromEnvAPIREST = AppConfigFromEnvAPIHTTP;
63
92
  export interface AppConfigFromEnvDomainIAM {
64
93
  jwtAccessSecret: string;
@@ -94,30 +123,41 @@ export interface AppConfigProfile {
94
123
  [apiName: string]: GenericObject | AppConfigProfileAPIHTTP | AppConfigProfileAPIREST;
95
124
  };
96
125
  domain?: {
97
- [domainName: string]: GenericObject | AppConfingProfileDomainIAM;
126
+ [domainName: string]: GenericObject | AppConfigProfileDomainIAM;
98
127
  };
99
128
  general: {
100
129
  environment: AppEnvironment;
101
130
  projectName?: string;
102
131
  projectVersion?: string;
103
132
  };
133
+ persistance?: {
134
+ [persistanceModuleName: string]: GenericObject | AppConfigProfilePersistanceClickHouse | AppConfigProfilePersistanceNoSQL | AppConfigProfilePersistanceRDB;
135
+ };
104
136
  }
105
137
  export type AppConfigProfileAPIHTTP = AppConfigCommonAPIHTTP;
106
138
  export type AppConfigProfileAPIREST = AppConfigProfileAPIHTTP;
107
- export interface AppConfingProfileDomainIAM {
139
+ export interface AppConfigProfileDomainIAM {
108
140
  accessTokenExpiryTimeInMinutes?: number;
109
141
  refreshTokenExpiryTimeInMinutes?: number;
110
142
  }
143
+ export type AppConfigProfilePersistanceClickHouse = AppConfigCommonPersistanceClickHouse;
144
+ export type AppConfigProfilePersistanceNoSQL = AppConfigCommonPersistanceNoSQL;
145
+ export type AppConfigProfilePersistanceRDB = AppConfigCommonPersistanceRDB & {
146
+ typeormExtraOptions?: GenericObject;
147
+ };
111
148
  export declare enum AppEnvironment {
112
149
  Development = "development",
113
150
  Local = "local",
114
151
  Production = "production",
115
- Staging = "staging"
152
+ Staging = "staging",
153
+ Test = "test"
116
154
  }
117
- export interface ConfigProviderModuleOptions {
155
+ export interface ConfigProviderModuleOptions extends LoadConfigOptions {
118
156
  appConfigs: LoadConfigAppConfigs;
119
- envKeys: AppConfigFromEnvKeys;
120
- envKeysParentNames: AppConfigFromEnvKeysParentNames;
157
+ }
158
+ export declare enum EndpointSecurityMode {
159
+ Lax = "lax",
160
+ Strict = "strict"
121
161
  }
122
162
  export interface GenerateOrmconfigOptions {
123
163
  entitiesPathInModule: string;
@@ -127,10 +167,12 @@ export interface GenerateOrmconfigOptions {
127
167
  seedsPathInModule?: string;
128
168
  }
129
169
  export declare enum NoSQLType {
130
- Redis = "redis"
170
+ Redis = "redis",
171
+ Valkey = "valkey"
131
172
  }
132
173
  export declare enum RDBType {
133
- Clickhouse = "clickhouse",
174
+ Aurora = "aurora",
175
+ ClickHouse = "clickhouse",
134
176
  MySQL = "mysql",
135
177
  PG = "postgres"
136
178
  }
@@ -140,5 +182,7 @@ export type LoadConfigAppConfigs<AppConfigCommonType extends AppConfigCommon = A
140
182
  export interface LoadConfigOptions {
141
183
  envKeys?: AppConfigFromEnvKeys;
142
184
  envKeysParentNames?: AppConfigFromEnvKeysParentNames;
185
+ useEnvFile?: boolean;
186
+ useEnvFileWithPriority?: boolean;
143
187
  }
144
188
  export {};
@@ -1,13 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RDBType = exports.NoSQLType = exports.AppEnvironment = exports.APP_CONFIG_FROM_ENV_KEYS_PARENT_NAMES = exports.APP_CONFIG_FROM_ENV_KEYS = void 0;
3
+ exports.RDBType = exports.NoSQLType = exports.EndpointSecurityMode = exports.AppEnvironment = exports.APP_CONFIG_FROM_ENV_KEYS_PARENT_NAMES = exports.APP_CONFIG_FROM_ENV_KEYS = void 0;
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
  }
@@ -63,14 +69,22 @@ var AppEnvironment;
63
69
  AppEnvironment["Local"] = "local";
64
70
  AppEnvironment["Production"] = "production";
65
71
  AppEnvironment["Staging"] = "staging";
72
+ AppEnvironment["Test"] = "test";
66
73
  })(AppEnvironment || (exports.AppEnvironment = AppEnvironment = {}));
74
+ var EndpointSecurityMode;
75
+ (function (EndpointSecurityMode) {
76
+ EndpointSecurityMode["Lax"] = "lax";
77
+ EndpointSecurityMode["Strict"] = "strict";
78
+ })(EndpointSecurityMode || (exports.EndpointSecurityMode = EndpointSecurityMode = {}));
67
79
  var NoSQLType;
68
80
  (function (NoSQLType) {
69
81
  NoSQLType["Redis"] = "redis";
82
+ NoSQLType["Valkey"] = "valkey";
70
83
  })(NoSQLType || (exports.NoSQLType = NoSQLType = {}));
71
84
  var RDBType;
72
85
  (function (RDBType) {
73
- RDBType["Clickhouse"] = "clickhouse";
86
+ RDBType["Aurora"] = "aurora";
87
+ RDBType["ClickHouse"] = "clickhouse";
74
88
  RDBType["MySQL"] = "mysql";
75
89
  RDBType["PG"] = "postgres";
76
90
  })(RDBType || (exports.RDBType = RDBType = {}));
@@ -1 +1 @@
1
- {"version":3,"file":"configProvider.definitions.js","sourceRoot":"","sources":["../../../src/common/configProvider/configProvider.definitions.ts"],"names":[],"mappings":";;;AAOa,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;AA6HF,IAAY,cASX;AATD,WAAY,cAAc;IAExB,6CAA2B,CAAA;IAE3B,iCAAe,CAAA;IAEf,2CAAyB,CAAA;IAEzB,qCAAmB,CAAA;AACrB,CAAC,EATW,cAAc,8BAAd,cAAc,QASzB;AAqBD,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,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;AA0LF,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,8 +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"));
76
+ const lodash_1 = __importDefault(require("lodash"));
77
77
  const ramda_1 = require("ramda");
78
78
  const configProvider_definitions_1 = require("./configProvider.definitions");
79
79
  const definitions_1 = require("../definitions");
@@ -89,6 +89,7 @@ let ConfigProviderService = class ConfigProviderService {
89
89
  const entitiesDirData = yield fs.readdir(entitiesDirPath);
90
90
  const entities = [];
91
91
  const migrationsPath = path.join(projectRootPath, modulePathInProject, migrationsPathInModule);
92
+ const moduleConfig = persistance[moduleName];
92
93
  const subscribers = [];
93
94
  for (const i in entitiesDirData) {
94
95
  const entityName = entitiesDirData[i];
@@ -115,18 +116,12 @@ let ConfigProviderService = class ConfigProviderService {
115
116
  }
116
117
  const ormconfigMigrations = [`${migrationsPath}/**/*.ts`];
117
118
  if (seedsPathInModule) {
118
- const baseSeedsBath = path.join(projectRootPath, modulePathInProject, seedsPathInModule);
119
- ormconfigMigrations.push(`${baseSeedsBath}/common/**/*.ts`);
119
+ const baseSeedsPath = path.join(projectRootPath, modulePathInProject, seedsPathInModule);
120
+ ormconfigMigrations.push(`${baseSeedsPath}/common/**/*.ts`);
120
121
  }
121
- yield fs.writeFile(path.join(projectRootPath, `ormconfig-${moduleName}.json`), JSON.stringify((0, ramda_1.mergeDeepRight)(persistance[moduleName], {
122
- entities: [...entities],
123
- subscribers: [...subscribers],
124
- migrations: ormconfigMigrations,
125
- cli: {
122
+ yield fs.writeFile(path.join(projectRootPath, `ormconfig-${moduleName}.json`), JSON.stringify((0, ramda_1.mergeDeepRight)(persistance[moduleName], Object.assign({ cli: {
126
123
  migrationsDir: migrationsPath
127
- }
128
- })));
129
- const moduleConfig = persistance[moduleName];
124
+ }, 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 || {})))));
130
125
  const entitiesPathInProject = path.join(modulePathInProject, entitiesPathInModule);
131
126
  yield fs.writeFile(path.join(projectRootPath, `datasource-${moduleName}.ts`), "import { loadDynamicModules } from '@node-c/core';\n" +
132
127
  '\n' +
@@ -142,18 +137,19 @@ let ConfigProviderService = class ConfigProviderService {
142
137
  ` host: '${moduleConfig.host}',\n` +
143
138
  ' logging: false,\n' +
144
139
  ` migrations: [${ormconfigMigrations.map(item => `'${item.replace(projectRootPath.replace(/\/$/, ''), '.')}'`).join(', ')}],\n` +
140
+ ` name: '${moduleConfig.connectionName}',\n` +
145
141
  ` password: '${moduleConfig.password}',\n` +
146
142
  ` port: ${moduleConfig.port},\n` +
147
143
  ' subscribers: [],\n' +
148
- ' synchronize: false,\n' +
149
- ` type: '${moduleConfig.type}',\n` +
144
+ ` synchronize: ${moduleConfig.type === configProvider_definitions_1.RDBType.Aurora ? true : false},\n` +
145
+ ` type: '${moduleConfig.type === configProvider_definitions_1.RDBType.Aurora ? configProvider_definitions_1.RDBType.MySQL : moduleConfig.type}',\n` +
150
146
  ` username: '${moduleConfig.user}'\n` +
151
147
  '});\n');
152
148
  });
153
149
  }
154
150
  static loadConfig(appConfigs, options) {
155
151
  return __awaiter(this, void 0, void 0, function* () {
156
- const optionsData = __rest(options || {}, []);
152
+ const _a = options || {}, { useEnvFile, useEnvFileWithPriority } = _a, optionsData = __rest(_a, ["useEnvFile", "useEnvFileWithPriority"]);
157
153
  const envKeys = optionsData.envKeys || configProvider_definitions_1.APP_CONFIG_FROM_ENV_KEYS;
158
154
  const envKeysParentNames = optionsData.envKeysParentNames || configProvider_definitions_1.APP_CONFIG_FROM_ENV_KEYS_PARENT_NAMES;
159
155
  const processEnv = process.env;
@@ -162,7 +158,16 @@ let ConfigProviderService = class ConfigProviderService {
162
158
  const moduleNamesByCategoryAndType = {};
163
159
  const moduleTypesRegex = new RegExp(`^((${Object.keys(envKeys).join(')|(')}))_`);
164
160
  config.general.environment = envName;
165
- const envVars = dotenv_1.default.parse((yield fs.readFile(path.join(config.general.projectRootPath, `envFiles/.${envName}.env`))).toString());
161
+ let envVars = processEnv;
162
+ if (useEnvFile) {
163
+ const envVarsFromFile = dotenv_1.default.parse((yield fs.readFile(path.join(config.general.projectRootPath, `envFiles/.${envName}.env`))).toString());
164
+ if (useEnvFileWithPriority) {
165
+ envVars = (0, ramda_1.mergeDeepRight)(envVars, envVarsFromFile);
166
+ }
167
+ else {
168
+ envVars = (0, ramda_1.mergeDeepRight)(envVarsFromFile, envVars);
169
+ }
170
+ }
166
171
  for (const envKey in envVars) {
167
172
  const [, moduleCategory] = envKey.match(moduleTypesRegex) || [];
168
173
  if (!moduleCategory) {
@@ -197,7 +202,7 @@ let ConfigProviderService = class ConfigProviderService {
197
202
  for (const fieldName in moduleFieldsForType) {
198
203
  const configKey = `${categoryConfigKey}.${moduleConfigKey}.${moduleFieldsForType[fieldName]}`;
199
204
  const envKey = `${moduleCategory}_${moduleName}_${fieldName}`;
200
- (0, general_tools_1.setNested)(config, configKey, envVars[envKey]);
205
+ lodash_1.default.set(config, configKey, envVars[envKey]);
201
206
  }
202
207
  });
203
208
  }
@@ -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,5 +1,15 @@
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"
6
+ }
7
+ export declare enum HttpMethod {
8
+ DELETE = "delete",
9
+ GET = "get",
10
+ HEAD = "head",
11
+ OPTIONS = "options",
12
+ PATCH = "patch",
13
+ POST = "post",
14
+ PUT = "put"
5
15
  }
@@ -1,10 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Constants = void 0;
3
+ exports.HttpMethod = exports.Constants = void 0;
4
4
  var Constants;
5
5
  (function (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 = {}));
11
+ var HttpMethod;
12
+ (function (HttpMethod) {
13
+ HttpMethod["DELETE"] = "delete";
14
+ HttpMethod["GET"] = "get";
15
+ HttpMethod["HEAD"] = "head";
16
+ HttpMethod["OPTIONS"] = "options";
17
+ HttpMethod["PATCH"] = "patch";
18
+ HttpMethod["POST"] = "post";
19
+ HttpMethod["PUT"] = "put";
20
+ })(HttpMethod || (exports.HttpMethod = HttpMethod = {}));
10
21
  //# sourceMappingURL=common.constants.js.map
@@ -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"}
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"}
@@ -4,3 +4,6 @@ export interface GenericObject<Values = unknown> {
4
4
  export declare class GenericObjectClass<Values = unknown> implements GenericObject<Values> {
5
5
  [fieldName: string]: Values;
6
6
  }
7
+ export type GenericObjectType<Type> = {
8
+ new (): Type;
9
+ } | ((..._args: unknown[]) => unknown);
@@ -3,7 +3,10 @@ import { GenericObject } from '../definitions';
3
3
  export type ProviderWithInjectionToken = Provider & {
4
4
  injectionToken?: string;
5
5
  };
6
- export declare const loadDynamicModules: (folderData: GenericObject<unknown>) => {
6
+ export declare const loadDynamicModules: (folderData: GenericObject<unknown>, options?: {
7
+ moduleRegisterOptions?: unknown;
8
+ registerOptionsPerModule?: GenericObject;
9
+ }) => {
7
10
  controllers?: Provider[];
8
11
  entities?: unknown[];
9
12
  modules?: DynamicModule[];
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.loadDynamicModules = void 0;
4
- const loadDynamicModules = (folderData) => {
4
+ const loadDynamicModules = (folderData, options) => {
5
+ const { moduleRegisterOptions, registerOptionsPerModule } = options || {};
5
6
  const controllers = [];
6
7
  const entities = [];
7
8
  const modules = [];
@@ -27,7 +28,10 @@ const loadDynamicModules = (folderData) => {
27
28
  continue;
28
29
  }
29
30
  if (key.match(/[mM]odule$/)) {
30
- modules.push(folderData[actualKey]);
31
+ const moduleClass = folderData[actualKey];
32
+ modules.push(moduleClass.register
33
+ ? moduleClass.register((registerOptionsPerModule === null || registerOptionsPerModule === void 0 ? void 0 : registerOptionsPerModule[key]) || moduleRegisterOptions)
34
+ : moduleClass);
31
35
  continue;
32
36
  }
33
37
  if (key.match(/[sS]ervice$/)) {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.loadDynamicModules.js","sourceRoot":"","sources":["../../../src/common/utils/utils.loadDynamicModules.ts"],"names":[],"mappings":";;;AAQO,MAAM,kBAAkB,GAAG,CAChC,UAAkC,EACoE,EAAE;IACxG,MAAM,WAAW,GAAe,EAAE,CAAC;IACnC,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,MAAM,OAAO,GAAoB,EAAE,CAAC;IACpC,MAAM,QAAQ,GAAe,EAAE,CAAC;IAChC,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,GAA8B,CAAC;QACjD,IAAI,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;YAC7B,SAAS;QACX,CAAC;QACD,IAAI,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAChC,MAAM,cAAc,GAAG,UAAU,CAAC,SAAS,CAA+B,CAAC;YAC3E,IAAI,cAAc,CAAC,cAAc,EAAE,CAAC;gBAClC,WAAW,CAAC,IAAI,CAAC;oBACf,OAAO,EAAE,cAAc,CAAC,cAAc;oBACtC,QAAQ,EAAE,cAA2C;iBACtD,CAAC,CAAC;YAEL,CAAC;YACD,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACjC,SAAS;QACX,CAAC;QACD,IAAI,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;YAC5B,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;YACrC,SAAS;QACX,CAAC;QACD,IAAI,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAA6B,CAAC,CAAC;YAChE,SAAS;QACX,CAAC;QACD,IAAI,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;YAC7B,MAAM,cAAc,GAAG,UAAU,CAAC,SAAS,CAA+B,CAAC;YAC3E,IAAI,cAAc,CAAC,cAAc,EAAE,CAAC;gBAClC,QAAQ,CAAC,IAAI,CAAC;oBACZ,OAAO,EAAE,cAAc,CAAC,cAAc;oBACtC,QAAQ,EAAE,cAA2C;iBACtD,CAAC,CAAC;YAEL,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC9B,SAAS;QACX,CAAC;IACH,CAAC;IACD,OAAO;QACL,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;QACzD,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QAChD,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;QAC7C,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;KACjD,CAAC;AACJ,CAAC,CAAC;AAnDW,QAAA,kBAAkB,sBAmD7B"}
1
+ {"version":3,"file":"utils.loadDynamicModules.js","sourceRoot":"","sources":["../../../src/common/utils/utils.loadDynamicModules.ts"],"names":[],"mappings":";;;AAQO,MAAM,kBAAkB,GAAG,CAChC,UAAkC,EAClC,OAAuF,EACe,EAAE;IACxG,MAAM,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;IAC1E,MAAM,WAAW,GAAe,EAAE,CAAC;IACnC,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,MAAM,OAAO,GAAoB,EAAE,CAAC;IACpC,MAAM,QAAQ,GAAe,EAAE,CAAC;IAChC,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,GAA8B,CAAC;QACjD,IAAI,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;YAC7B,SAAS;QACX,CAAC;QACD,IAAI,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAChC,MAAM,cAAc,GAAG,UAAU,CAAC,SAAS,CAA+B,CAAC;YAC3E,IAAI,cAAc,CAAC,cAAc,EAAE,CAAC;gBAClC,WAAW,CAAC,IAAI,CAAC;oBACf,OAAO,EAAE,cAAc,CAAC,cAAc;oBACtC,QAAQ,EAAE,cAA2C;iBACtD,CAAC,CAAC;YAEL,CAAC;YACD,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACjC,SAAS;QACX,CAAC;QACD,IAAI,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;YAC5B,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;YACrC,SAAS;QACX,CAAC;QACD,IAAI,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;YAC5B,MAAM,WAAW,GAAG,UAAU,CAAC,SAAS,CAEvC,CAAC;YACF,OAAO,CAAC,IAAI,CACV,WAAW,CAAC,QAAQ;gBAClB,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA,wBAAwB,aAAxB,wBAAwB,uBAAxB,wBAAwB,CAAG,GAAG,CAAC,KAAI,qBAAqB,CAAC;gBAChF,CAAC,CAAC,WAAW,CAChB,CAAC;YACF,SAAS;QACX,CAAC;QACD,IAAI,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;YAC7B,MAAM,cAAc,GAAG,UAAU,CAAC,SAAS,CAA+B,CAAC;YAC3E,IAAI,cAAc,CAAC,cAAc,EAAE,CAAC;gBAClC,QAAQ,CAAC,IAAI,CAAC;oBACZ,OAAO,EAAE,cAAc,CAAC,cAAc;oBACtC,QAAQ,EAAE,cAA2C;iBACtD,CAAC,CAAC;YAEL,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC9B,SAAS;QACX,CAAC;IACH,CAAC;IACD,OAAO;QACL,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;QACzD,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QAChD,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;QAC7C,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;KACjD,CAAC;AACJ,CAAC,CAAC;AA5DW,QAAA,kBAAkB,sBA4D7B"}
@@ -1,28 +1,17 @@
1
- import { DomainBulkCreateData, DomainBulkCreateOptions, DomainBulkCreateResult, DomainCreateData, DomainCreateOptions, DomainCreateResult, DomainDeleteOptions, DomainDeleteResult, DomainFindOneOptions, DomainFindOneResult, DomainFindOptions, DomainFindResult, DomainPersistanceEntityServiceType, DomainUpdateData, DomainUpdateOptions, DomainUpdateResult } from './domain.entity.service.definitions';
1
+ import { DomainBulkCreateOptions, DomainBulkCreatePrivateOptions, DomainBulkCreateResult, DomainCreateOptions, DomainCreatePrivateOptions, DomainCreateResult, DomainDeleteOptions, DomainDeletePrivateOptions, DomainDeleteResult, DomainEntityServiceDefaultData, DomainFindOneOptions, DomainFindOnePrivateOptions, DomainFindOneResult, DomainFindOptions, DomainFindPrivateOptions, DomainFindResult, DomainPersistanceEntityServiceType, DomainRunMethodInAdditionalServicesOptions, DomainUpdateOptions, DomainUpdatePrivateOptions, DomainUpdateResult } from './domain.entity.service.definitions';
2
2
  import { GenericObject } from '../../common/definitions';
3
3
  import { PersistanceEntityService } from '../../persistance/entityService';
4
- export declare class DomainEntityService<Entity, EntityService extends PersistanceEntityService<Entity>, Data extends {
5
- BulkCreate: DomainBulkCreateData<Entity>;
6
- Create: DomainCreateData<Entity>;
7
- Update: DomainUpdateData<Entity>;
8
- } = {
9
- BulkCreate: DomainBulkCreateData<Entity>;
10
- Create: DomainCreateData<Entity>;
11
- Update: DomainUpdateData<Entity>;
12
- }, AdditionalEntityServices extends Record<string, PersistanceEntityService<Entity>> | undefined = undefined> {
4
+ export declare class DomainEntityService<Entity, EntityService extends PersistanceEntityService<Entity>, Data extends DomainEntityServiceDefaultData<Entity> = DomainEntityServiceDefaultData<Entity>, AdditionalEntityServices extends Record<string, PersistanceEntityService<Partial<Entity>>> | undefined = undefined> {
13
5
  protected persistanceEntityService: EntityService;
14
- protected additionalPersistanceEntityServices?: AdditionalEntityServices | undefined;
15
6
  protected defaultMethods: string[];
16
- constructor(persistanceEntityService: EntityService, additionalPersistanceEntityServices?: AdditionalEntityServices | undefined, defaultMethods?: string[]);
17
- bulkCreate(data: Data['BulkCreate'], options?: DomainBulkCreateOptions): Promise<DomainBulkCreateResult<Entity>>;
18
- create(data: Data['Create'], options?: DomainCreateOptions): Promise<DomainCreateResult<Entity>>;
19
- delete(options: DomainDeleteOptions): Promise<DomainDeleteResult>;
20
- find(options: DomainFindOptions): Promise<DomainFindResult<Entity>>;
21
- findOne(options: DomainFindOneOptions): Promise<DomainFindOneResult<Entity>>;
7
+ protected additionalPersistanceEntityServices?: AdditionalEntityServices | undefined;
8
+ constructor(persistanceEntityService: EntityService, defaultMethods?: string[], additionalPersistanceEntityServices?: AdditionalEntityServices | undefined);
9
+ bulkCreate(data: Data['BulkCreate'], options?: DomainBulkCreateOptions, privateOptions?: DomainBulkCreatePrivateOptions): Promise<DomainBulkCreateResult<Entity>>;
10
+ create(data: Data['Create'], options?: DomainCreateOptions, privateOptions?: DomainCreatePrivateOptions): Promise<DomainCreateResult<Entity>>;
11
+ delete(options: DomainDeleteOptions, privateOptions?: DomainDeletePrivateOptions): Promise<DomainDeleteResult<Entity>>;
12
+ find(options: DomainFindOptions, privateOptions?: DomainFindOnePrivateOptions): Promise<DomainFindResult<Entity>>;
13
+ findOne(options: DomainFindOneOptions, privateOptions?: DomainFindPrivateOptions): Promise<DomainFindOneResult<Entity>>;
22
14
  protected getPersistanceService(serviceName: DomainPersistanceEntityServiceType.Main | string): PersistanceEntityService<Entity>;
23
- protected runMethodInAdditionalServices<ServiceReturnData>(serviceNames: string[], options: {
24
- methodArgs?: unknown[];
25
- methodName: string;
26
- }): Promise<GenericObject<ServiceReturnData> | undefined>;
27
- update(data: Data['Update'], options: DomainUpdateOptions): Promise<DomainUpdateResult<Entity>>;
15
+ protected runMethodInAdditionalServices<ServiceReturnData>(serviceNames: string[], options: DomainRunMethodInAdditionalServicesOptions<unknown>): Promise<GenericObject<ServiceReturnData> | undefined>;
16
+ update(data: Data['Update'], options: DomainUpdateOptions, privateOptions?: DomainUpdatePrivateOptions): Promise<DomainUpdateResult<Entity>>;
28
17
  }
@@ -1,24 +1,48 @@
1
1
  import { GenericObject } from '../../common/definitions';
2
- import { PersistanceDeleteOptions, PersistanceDeleteResult, PersistanceFindOneOptions, PersistanceFindOptions, PersistanceFindResults, PersistanceUpdateOptions, PersistanceUpdateResult } from '../../persistance/entityService';
3
- export type DomainBaseOptions<Options> = Options & {
4
- optionsOverridesByService?: GenericObject<Partial<Options>>;
2
+ import { PersistanceBulkCreatePrivateOptions, PersistanceCreatePrivateOptions, PersistanceDeleteOptions, PersistanceDeletePrivateOptions, PersistanceDeleteResult, PersistanceFindOneOptions, PersistanceFindOnePrivateOptions, PersistanceFindOptions, PersistanceFindPrivateOptions, PersistanceFindResults, PersistanceUpdateOptions, PersistanceUpdatePrivateOptions, PersistanceUpdateResult } from '../../persistance/entityService';
3
+ export interface DomainBaseAdditionalServiceOptionsOverrides {
4
+ filterByFirstServiceResultFields?: GenericObject<string>;
5
+ returnData?: boolean;
6
+ runOnNoFirstServiceResultOnly?: boolean | string;
7
+ }
8
+ export type DomainBaseOptions<Options> = Options & DomainBaseOptionsForAdditionalServices<Options>;
9
+ export interface DomainBaseOptionsForAdditionalServices<Options> {
10
+ optionsOverridesByService?: GenericObject<Partial<Options> & DomainBaseAdditionalServiceOptionsOverrides>;
5
11
  persistanceServices?: DomainPersistanceServicesKey[];
6
- };
12
+ }
13
+ export type DomainBaseOptionsForAdditionalServicesFull<Options extends object | undefined = undefined, SaveAdditionalResultsOptions extends object | undefined = undefined> = DomainBaseOptionsForAdditionalServices<Options> & DomainBaseOptionsWithSearchPersistance<SaveAdditionalResultsOptions>;
14
+ export interface DomainBaseOptionsWithSearchPersistance<SaveAdditionalResultsOptions extends object | undefined = undefined> {
15
+ saveAdditionalResultsInFirstService?: {
16
+ saveOptions?: SaveAdditionalResultsOptions;
17
+ serviceName: string;
18
+ useResultsForFirstService?: boolean;
19
+ };
20
+ }
7
21
  export interface DomainBaseResult<Result> {
8
22
  result: Result;
9
23
  resultsByService?: GenericObject<Result>;
10
24
  }
25
+ export type DomainBulkCreatePrivateOptions = PersistanceBulkCreatePrivateOptions;
11
26
  export type DomainBulkCreateData<Entity> = Partial<Entity>[];
12
- export type DomainBulkCreateOptions<Options = object> = Omit<DomainBaseOptions<Options>, 'optionsOverridesByService'>;
27
+ export type DomainBulkCreateOptions<Options = object> = DomainBaseOptions<Options>;
13
28
  export type DomainBulkCreateResult<Entity> = DomainBaseResult<Entity[]>;
14
29
  export type DomainCreateData<Entity> = Partial<Entity>;
15
- export type DomainCreateOptions<Options = object> = Omit<DomainBaseOptions<Options>, 'optionsOverridesByService'>;
30
+ export type DomainCreateOptions<Options = object> = DomainBaseOptions<Options>;
31
+ export type DomainCreatePrivateOptions = PersistanceCreatePrivateOptions;
16
32
  export type DomainCreateResult<Entity> = DomainBaseResult<Entity>;
17
33
  export type DomainDeleteOptions<Options = object> = Options & DomainBaseOptions<PersistanceDeleteOptions>;
18
- export type DomainDeleteResult = DomainBaseResult<PersistanceDeleteResult>;
19
- export type DomainFindOneOptions<Options = object> = Options & DomainBaseOptions<PersistanceFindOneOptions>;
34
+ export type DomainDeletePrivateOptions = PersistanceDeletePrivateOptions;
35
+ export type DomainDeleteResult<Entity> = DomainBaseResult<PersistanceDeleteResult<Entity>>;
36
+ export interface DomainEntityServiceDefaultData<Entity> {
37
+ BulkCreate: DomainBulkCreateData<Entity>;
38
+ Create: DomainCreateData<Entity>;
39
+ Update: DomainUpdateData<Entity>;
40
+ }
41
+ export type DomainFindOneOptions<Options = object> = Options & DomainBaseOptions<PersistanceFindOneOptions> & DomainBaseOptionsWithSearchPersistance<DomainCreateOptions>;
42
+ export type DomainFindOnePrivateOptions = PersistanceFindOnePrivateOptions;
20
43
  export type DomainFindOneResult<Entity> = DomainBaseResult<Entity | null>;
21
- export type DomainFindOptions<Options = object> = Options & DomainBaseOptions<PersistanceFindOptions>;
44
+ export type DomainFindOptions<Options = object> = Options & DomainBaseOptions<PersistanceFindOptions> & DomainBaseOptionsWithSearchPersistance<DomainBulkCreateOptions>;
45
+ export type DomainFindPrivateOptions = PersistanceFindPrivateOptions;
22
46
  export type DomainFindResult<Entity> = DomainBaseResult<PersistanceFindResults<Entity>>;
23
47
  export declare enum DomainMethod {
24
48
  BulkCreate = "bulkCreate",
@@ -28,11 +52,21 @@ export declare enum DomainMethod {
28
52
  FindOne = "findOne",
29
53
  Update = "update"
30
54
  }
55
+ export declare const DOMAIN_ENTITY_SERVICE_DEFAULT_METHODS: DomainMethod[];
31
56
  export declare enum DomainPersistanceEntityServiceType {
32
57
  All = "all",
33
58
  Main = "main"
34
59
  }
35
60
  export type DomainPersistanceServicesKey = DomainPersistanceEntityServiceType | string;
61
+ export type DomainRunMethodInAdditionalServicesOptions<Options> = {
62
+ firstServiceResult?: unknown;
63
+ hasFirstServiceResult: boolean;
64
+ methodArgs?: unknown[];
65
+ methodName: string;
66
+ optionsArgIndex?: number;
67
+ optionsOverridesByService?: GenericObject<Partial<Options> & DomainBaseAdditionalServiceOptionsOverrides>;
68
+ };
36
69
  export type DomainUpdateData<Entity> = Partial<Entity>;
37
70
  export type DomainUpdateOptions<Options = object> = Options & DomainBaseOptions<PersistanceUpdateOptions>;
71
+ export type DomainUpdatePrivateOptions = PersistanceUpdatePrivateOptions;
38
72
  export type DomainUpdateResult<Entity> = DomainBaseResult<PersistanceUpdateResult<Entity>>;