@node-c/core 1.0.0-alpha2 → 1.0.0-alpha21

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 +173 -112
  2. package/coverage/coverage-final.json +2 -2
  3. package/coverage/index.html +18 -18
  4. package/dist/app.js +1 -1
  5. package/dist/app.js.map +1 -1
  6. package/dist/common/configProvider/configProvider.definitions.d.ts +62 -15
  7. package/dist/common/configProvider/configProvider.definitions.js +21 -6
  8. package/dist/common/configProvider/configProvider.definitions.js.map +1 -1
  9. package/dist/common/configProvider/configProvider.module.js +2 -2
  10. package/dist/common/configProvider/configProvider.module.js.map +1 -1
  11. package/dist/common/configProvider/configProvider.service.js +29 -23
  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 +13 -2
  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 +8 -5
  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 -21
  21. package/dist/domain/entityService/domain.entity.service.definitions.d.ts +52 -11
  22. package/dist/domain/entityService/domain.entity.service.definitions.js +19 -2
  23. package/dist/domain/entityService/domain.entity.service.definitions.js.map +1 -1
  24. package/dist/domain/entityService/domain.entity.service.js +170 -41
  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 +50 -3
  28. package/dist/persistance/entityService/persistance.entity.service.definitions.js +12 -2
  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 +3 -2
@@ -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,26 +22,54 @@ 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
  }
35
35
  export type AppConfigCommonAPIREST = AppConfigCommonAPIHTTP;
36
36
  export interface AppConfigCommonDomainIAM {
37
37
  accessTokenExpiryTimeInMinutes?: number;
38
+ defaultUserIdentifierField: string;
38
39
  refreshTokenExpiryTimeInMinutes?: number;
40
+ userPasswordHMACAlgorithm?: string;
39
41
  }
40
- export interface AppConfigCommonPersistanceNoSQL {
41
- 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;
42
55
  storeDelimiter?: string;
43
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;
44
65
  }
45
- 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;
46
73
  type: RDBType;
47
74
  }
48
75
  export interface AppConfigFromEnv {
@@ -56,11 +83,16 @@ export interface AppConfigFromEnv {
56
83
  [moduleName: string]: GenericObject | AppConfigFromEnvPersistanceNoSQL | AppConfigFromEnvPersistanceRDB;
57
84
  };
58
85
  }
59
- export type AppConfigFromEnvAPIHTTP = AppConfigCommonAPIHTTP;
86
+ export interface AppConfigFromEnvAPIHTTP extends AppConfigCommonAPIHTTP {
87
+ apiKey?: string;
88
+ apiSecret?: string;
89
+ apiSecretAlgorithm?: string;
90
+ }
60
91
  export type AppConfigFromEnvAPIREST = AppConfigFromEnvAPIHTTP;
61
92
  export interface AppConfigFromEnvDomainIAM {
62
93
  jwtAccessSecret: string;
63
94
  jwtRefreshSecret: string;
95
+ userPasswordSecret?: string;
64
96
  }
65
97
  export interface AppConfigFromEnvKeys {
66
98
  [moduleCategory: string]: {
@@ -91,31 +123,44 @@ export interface AppConfigProfile {
91
123
  [apiName: string]: GenericObject | AppConfigProfileAPIHTTP | AppConfigProfileAPIREST;
92
124
  };
93
125
  domain?: {
94
- [domainName: string]: GenericObject | AppConfingProfileDomainIAM;
126
+ [domainName: string]: GenericObject | AppConfigProfileDomainIAM;
95
127
  };
96
128
  general: {
97
129
  environment: AppEnvironment;
98
130
  projectName?: string;
99
131
  projectVersion?: string;
100
132
  };
133
+ persistance?: {
134
+ [persistanceModuleName: string]: GenericObject | AppConfigProfilePersistanceClickHouse | AppConfigProfilePersistanceNoSQL | AppConfigProfilePersistanceRDB;
135
+ };
101
136
  }
102
137
  export type AppConfigProfileAPIHTTP = AppConfigCommonAPIHTTP;
103
138
  export type AppConfigProfileAPIREST = AppConfigProfileAPIHTTP;
104
- export interface AppConfingProfileDomainIAM {
139
+ export interface AppConfigProfileDomainIAM {
105
140
  accessTokenExpiryTimeInMinutes?: number;
106
141
  refreshTokenExpiryTimeInMinutes?: number;
107
142
  }
143
+ export type AppConfigProfilePersistanceClickHouse = AppConfigCommonPersistanceClickHouse;
144
+ export type AppConfigProfilePersistanceNoSQL = AppConfigCommonPersistanceNoSQL;
145
+ export type AppConfigProfilePersistanceRDB = AppConfigCommonPersistanceRDB & {
146
+ typeormExtraOptions?: GenericObject;
147
+ };
108
148
  export declare enum AppEnvironment {
109
149
  Development = "development",
110
150
  Local = "local",
111
151
  Production = "production",
112
- Staging = "staging"
152
+ Staging = "staging",
153
+ Test = "test"
113
154
  }
114
155
  export interface ConfigProviderModuleOptions {
115
156
  appConfigs: LoadConfigAppConfigs;
116
157
  envKeys: AppConfigFromEnvKeys;
117
158
  envKeysParentNames: AppConfigFromEnvKeysParentNames;
118
159
  }
160
+ export declare enum EndpointSecurityMode {
161
+ Lax = "lax",
162
+ Strict = "strict"
163
+ }
119
164
  export interface GenerateOrmconfigOptions {
120
165
  entitiesPathInModule: string;
121
166
  migrationsPathInModule: string;
@@ -124,10 +169,12 @@ export interface GenerateOrmconfigOptions {
124
169
  seedsPathInModule?: string;
125
170
  }
126
171
  export declare enum NoSQLType {
127
- Redis = "redis"
172
+ Redis = "redis",
173
+ Valkey = "valkey"
128
174
  }
129
175
  export declare enum RDBType {
130
- Clickhouse = "clickhouse",
176
+ Aurora = "aurora",
177
+ ClickHouse = "clickhouse",
131
178
  MySQL = "mysql",
132
179
  PG = "postgres"
133
180
  }
@@ -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
  }
@@ -15,7 +21,8 @@ exports.APP_CONFIG_FROM_ENV_KEYS = {
15
21
  DOMAIN: {
16
22
  IAM: {
17
23
  JWT_ACCESS_SECRET: 'jwtAccessSecret',
18
- JWT_REFRESH_SECRET: 'jwtRefreshSecret'
24
+ JWT_REFRESH_SECRET: 'jwtRefreshSecret',
25
+ USER_PASSWORD_SECRET: 'userPasswordSecret'
19
26
  }
20
27
  },
21
28
  PERSISTANCE: {
@@ -62,15 +69,23 @@ var AppEnvironment;
62
69
  AppEnvironment["Local"] = "local";
63
70
  AppEnvironment["Production"] = "production";
64
71
  AppEnvironment["Staging"] = "staging";
65
- })(AppEnvironment = exports.AppEnvironment || (exports.AppEnvironment = {}));
72
+ AppEnvironment["Test"] = "test";
73
+ })(AppEnvironment || (exports.AppEnvironment = AppEnvironment = {}));
74
+ var EndpointSecurityMode;
75
+ (function (EndpointSecurityMode) {
76
+ EndpointSecurityMode["Lax"] = "lax";
77
+ EndpointSecurityMode["Strict"] = "strict";
78
+ })(EndpointSecurityMode || (exports.EndpointSecurityMode = EndpointSecurityMode = {}));
66
79
  var NoSQLType;
67
80
  (function (NoSQLType) {
68
81
  NoSQLType["Redis"] = "redis";
69
- })(NoSQLType = exports.NoSQLType || (exports.NoSQLType = {}));
82
+ NoSQLType["Valkey"] = "valkey";
83
+ })(NoSQLType || (exports.NoSQLType = NoSQLType = {}));
70
84
  var RDBType;
71
85
  (function (RDBType) {
72
- RDBType["Clickhouse"] = "clickhouse";
86
+ RDBType["Aurora"] = "aurora";
87
+ RDBType["ClickHouse"] = "clickhouse";
73
88
  RDBType["MySQL"] = "mysql";
74
89
  RDBType["PG"] = "postgres";
75
- })(RDBType = exports.RDBType || (exports.RDBType = {}));
90
+ })(RDBType || (exports.RDBType = RDBType = {}));
76
91
  //# sourceMappingURL=configProvider.definitions.js.map
@@ -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;SACvC;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;AA0HF,IAAY,cASX;AATD,WAAY,cAAc;IAExB,6CAA2B,CAAA;IAE3B,iCAAe,CAAA;IAEf,2CAAyB,CAAA;IAEzB,qCAAmB,CAAA;AACrB,CAAC,EATW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QASzB;AAqBD,IAAY,SAGX;AAHD,WAAY,SAAS;IAEnB,4BAAe,CAAA;AACjB,CAAC,EAHW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAGpB;AAGD,IAAY,OAOX;AAPD,WAAY,OAAO;IAEjB,oCAAyB,CAAA;IAEzB,0BAAe,CAAA;IAEf,0BAAe,CAAA;AACjB,CAAC,EAPW,OAAO,GAAP,eAAO,KAAP,eAAO,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;AAaD,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"}
@@ -37,8 +37,8 @@ let ConfigProviderModule = ConfigProviderModule_1 = class ConfigProviderModule {
37
37
  };
38
38
  }
39
39
  };
40
- ConfigProviderModule = ConfigProviderModule_1 = __decorate([
40
+ exports.ConfigProviderModule = ConfigProviderModule;
41
+ exports.ConfigProviderModule = ConfigProviderModule = ConfigProviderModule_1 = __decorate([
41
42
  (0, common_1.Module)({})
42
43
  ], ConfigProviderModule);
43
- exports.ConfigProviderModule = ConfigProviderModule;
44
44
  //# sourceMappingURL=configProvider.module.js.map
@@ -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,oBAAoB;IADhC,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,oBAAoB,CAgBhC;AAhBY,oDAAoB"}
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"}
@@ -21,13 +21,23 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
21
21
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
22
22
  return c > 3 && r && Object.defineProperty(target, key, r), r;
23
23
  };
24
- var __importStar = (this && this.__importStar) || function (mod) {
25
- if (mod && mod.__esModule) return mod;
26
- var result = {};
27
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
28
- __setModuleDefault(result, mod);
29
- return result;
30
- };
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
31
41
  var __metadata = (this && this.__metadata) || function (k, v) {
32
42
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
33
43
  };
@@ -62,8 +72,8 @@ exports.ConfigProviderService = void 0;
62
72
  const fs = __importStar(require("fs/promises"));
63
73
  const path = __importStar(require("path"));
64
74
  const common_1 = require("@nestjs/common");
65
- const general_tools_1 = require("@ramster/general-tools");
66
75
  const dotenv_1 = __importDefault(require("dotenv"));
76
+ const lodash_1 = __importDefault(require("lodash"));
67
77
  const ramda_1 = require("ramda");
68
78
  const configProvider_definitions_1 = require("./configProvider.definitions");
69
79
  const definitions_1 = require("../definitions");
@@ -79,6 +89,7 @@ let ConfigProviderService = class ConfigProviderService {
79
89
  const entitiesDirData = yield fs.readdir(entitiesDirPath);
80
90
  const entities = [];
81
91
  const migrationsPath = path.join(projectRootPath, modulePathInProject, migrationsPathInModule);
92
+ const moduleConfig = persistance[moduleName];
82
93
  const subscribers = [];
83
94
  for (const i in entitiesDirData) {
84
95
  const entityName = entitiesDirData[i];
@@ -105,18 +116,12 @@ let ConfigProviderService = class ConfigProviderService {
105
116
  }
106
117
  const ormconfigMigrations = [`${migrationsPath}/**/*.ts`];
107
118
  if (seedsPathInModule) {
108
- const baseSeedsBath = path.join(projectRootPath, modulePathInProject, seedsPathInModule);
109
- ormconfigMigrations.push(`${baseSeedsBath}/common/**/*.ts`);
119
+ const baseSeedsPath = path.join(projectRootPath, modulePathInProject, seedsPathInModule);
120
+ ormconfigMigrations.push(`${baseSeedsPath}/common/**/*.ts`);
110
121
  }
111
- yield fs.writeFile(path.join(projectRootPath, `ormconfig-${moduleName}.json`), JSON.stringify((0, ramda_1.mergeDeepRight)(persistance[moduleName], {
112
- entities: [...entities],
113
- subscribers: [...subscribers],
114
- migrations: ormconfigMigrations,
115
- cli: {
122
+ yield fs.writeFile(path.join(projectRootPath, `ormconfig-${moduleName}.json`), JSON.stringify((0, ramda_1.mergeDeepRight)(persistance[moduleName], Object.assign({ cli: {
116
123
  migrationsDir: migrationsPath
117
- }
118
- })));
119
- 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 || {})))));
120
125
  const entitiesPathInProject = path.join(modulePathInProject, entitiesPathInModule);
121
126
  yield fs.writeFile(path.join(projectRootPath, `datasource-${moduleName}.ts`), "import { loadDynamicModules } from '@node-c/core';\n" +
122
127
  '\n' +
@@ -132,11 +137,12 @@ let ConfigProviderService = class ConfigProviderService {
132
137
  ` host: '${moduleConfig.host}',\n` +
133
138
  ' logging: false,\n' +
134
139
  ` migrations: [${ormconfigMigrations.map(item => `'${item.replace(projectRootPath.replace(/\/$/, ''), '.')}'`).join(', ')}],\n` +
140
+ ` name: '${moduleConfig.connectionName}',\n` +
135
141
  ` password: '${moduleConfig.password}',\n` +
136
142
  ` port: ${moduleConfig.port},\n` +
137
143
  ' subscribers: [],\n' +
138
- ' synchronize: false,\n' +
139
- ` 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` +
140
146
  ` username: '${moduleConfig.user}'\n` +
141
147
  '});\n');
142
148
  });
@@ -187,7 +193,7 @@ let ConfigProviderService = class ConfigProviderService {
187
193
  for (const fieldName in moduleFieldsForType) {
188
194
  const configKey = `${categoryConfigKey}.${moduleConfigKey}.${moduleFieldsForType[fieldName]}`;
189
195
  const envKey = `${moduleCategory}_${moduleName}_${fieldName}`;
190
- (0, general_tools_1.setNested)(config, configKey, envVars[envKey]);
196
+ lodash_1.default.set(config, configKey, envVars[envKey]);
191
197
  }
192
198
  });
193
199
  }
@@ -196,10 +202,10 @@ let ConfigProviderService = class ConfigProviderService {
196
202
  });
197
203
  }
198
204
  };
199
- ConfigProviderService = __decorate([
205
+ exports.ConfigProviderService = ConfigProviderService;
206
+ exports.ConfigProviderService = ConfigProviderService = __decorate([
200
207
  (0, common_1.Injectable)(),
201
208
  __param(0, (0, common_1.Inject)(definitions_1.Constants.CONFIG)),
202
209
  __metadata("design:paramtypes", [Object])
203
210
  ], ConfigProviderService);
204
- exports.ConfigProviderService = ConfigProviderService;
205
211
  //# sourceMappingURL=configProvider.service.js.map
@@ -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 = exports.Constants || (exports.Constants = {}));
9
+ Constants["PERSISTANCE_MODULE_NAME"] = "PERSISTANCE_MODULE_NAME";
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,GAAT,iBAAS,KAAT,iBAAS,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,9 +3,12 @@ import { GenericObject } from '../definitions';
3
3
  export type ProviderWithInjectionToken = Provider & {
4
4
  injectionToken?: string;
5
5
  };
6
- export declare const loadDynamicModules: (folderData: GenericObject<unknown>) => {
7
- controllers?: Provider<any>[] | undefined;
8
- entities?: unknown[] | undefined;
9
- modules?: DynamicModule[] | undefined;
10
- services?: Provider<any>[] | undefined;
6
+ export declare const loadDynamicModules: (folderData: GenericObject<unknown>, options?: {
7
+ moduleRegisterOptions?: unknown;
8
+ registerOptionsPerModule?: GenericObject;
9
+ }) => {
10
+ controllers?: Provider[];
11
+ entities?: unknown[];
12
+ modules?: DynamicModule[];
13
+ services?: Provider[];
11
14
  };
@@ -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;QAC5B,MAAM,SAAS,GAAG,GAA8B,CAAC;QACjD,IAAI,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE;YAC5B,SAAS;SACV;QACD,IAAI,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE;YAC/B,MAAM,cAAc,GAAG,UAAU,CAAC,SAAS,CAA+B,CAAC;YAC3E,IAAI,cAAc,CAAC,cAAc,EAAE;gBACjC,WAAW,CAAC,IAAI,CAAC;oBACf,OAAO,EAAE,cAAc,CAAC,cAAc;oBACtC,QAAQ,EAAE,cAA2C;iBACtD,CAAC,CAAC;aAEJ;YACD,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACjC,SAAS;SACV;QACD,IAAI,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE;YAC3B,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;YACrC,SAAS;SACV;QACD,IAAI,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE;YAC3B,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAA6B,CAAC,CAAC;YAChE,SAAS;SACV;QACD,IAAI,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE;YAC5B,MAAM,cAAc,GAAG,UAAU,CAAC,SAAS,CAA+B,CAAC;YAC3E,IAAI,cAAc,CAAC,cAAc,EAAE;gBACjC,QAAQ,CAAC,IAAI,CAAC;oBACZ,OAAO,EAAE,cAAc,CAAC,cAAc;oBACtC,QAAQ,EAAE,cAA2C;iBACtD,CAAC,CAAC;aAEJ;YACD,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC9B,SAAS;SACV;KACF;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,27 +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;
6
+ protected defaultMethods: string[];
14
7
  protected additionalPersistanceEntityServices?: AdditionalEntityServices | undefined;
15
- constructor(persistanceEntityService: EntityService, additionalPersistanceEntityServices?: AdditionalEntityServices | undefined);
16
- bulkCreate(data: Data['BulkCreate'], options?: DomainBulkCreateOptions): Promise<DomainBulkCreateResult<Entity>>;
17
- create(data: Data['Create'], options?: DomainCreateOptions): Promise<DomainCreateResult<Entity>>;
18
- delete(options: DomainDeleteOptions): Promise<DomainDeleteResult>;
19
- find(options: DomainFindOptions): Promise<DomainFindResult<Entity>>;
20
- findOne(options: DomainFindOneOptions): Promise<DomainFindOneResult<Entity>>;
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>>;
21
14
  protected getPersistanceService(serviceName: DomainPersistanceEntityServiceType.Main | string): PersistanceEntityService<Entity>;
22
- protected runMethodInAdditionalServices<ServiceReturnData>(serviceNames: string[], options: {
23
- methodArgs?: unknown[];
24
- methodName: string;
25
- }): Promise<GenericObject<ServiceReturnData> | undefined>;
26
- 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>>;
27
17
  }
@@ -1,30 +1,71 @@
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
+ runOnNoFirstServiceResultOnly?: boolean | string;
6
+ }
7
+ export type DomainBaseOptions<Options> = Options & DomainBaseOptionsForAdditionalServices<Options>;
8
+ export interface DomainBaseOptionsForAdditionalServices<Options> {
9
+ optionsOverridesByService?: GenericObject<Partial<Options> & DomainBaseAdditionalServiceOptionsOverrides>;
5
10
  persistanceServices?: DomainPersistanceServicesKey[];
6
- };
11
+ }
12
+ export type DomainBaseOptionsForAdditionalServicesFull<Options extends object | undefined = undefined, SaveAdditionalResultsOptions extends object | undefined = undefined> = DomainBaseOptionsForAdditionalServices<Options> & DomainBaseOptionsWithSearchPersistance<SaveAdditionalResultsOptions>;
13
+ export interface DomainBaseOptionsWithSearchPersistance<SaveAdditionalResultsOptions extends object | undefined = undefined> {
14
+ saveAdditionalResultsInFirstService?: {
15
+ saveOptions?: SaveAdditionalResultsOptions;
16
+ serviceName: string;
17
+ useResultsForFirstService?: boolean;
18
+ };
19
+ }
7
20
  export interface DomainBaseResult<Result> {
8
21
  result: Result;
9
22
  resultsByService?: GenericObject<Result>;
10
23
  }
24
+ export type DomainBulkCreatePrivateOptions = PersistanceBulkCreatePrivateOptions;
11
25
  export type DomainBulkCreateData<Entity> = Partial<Entity>[];
12
- export type DomainBulkCreateOptions = Omit<DomainBaseOptions<object>, 'optionsOverridesByService'>;
26
+ export type DomainBulkCreateOptions<Options = object> = DomainBaseOptions<Options>;
13
27
  export type DomainBulkCreateResult<Entity> = DomainBaseResult<Entity[]>;
14
28
  export type DomainCreateData<Entity> = Partial<Entity>;
15
- export type DomainCreateOptions = Omit<DomainBaseOptions<object>, 'optionsOverridesByService'>;
29
+ export type DomainCreateOptions<Options = object> = DomainBaseOptions<Options>;
30
+ export type DomainCreatePrivateOptions = PersistanceCreatePrivateOptions;
16
31
  export type DomainCreateResult<Entity> = DomainBaseResult<Entity>;
17
- export type DomainDeleteOptions = DomainBaseOptions<PersistanceDeleteOptions>;
18
- export type DomainDeleteResult = DomainBaseResult<PersistanceDeleteResult>;
19
- export type DomainFindOneOptions = DomainBaseOptions<PersistanceFindOneOptions>;
32
+ export type DomainDeleteOptions<Options = object> = Options & DomainBaseOptions<PersistanceDeleteOptions>;
33
+ export type DomainDeletePrivateOptions = PersistanceDeletePrivateOptions;
34
+ export type DomainDeleteResult<Entity> = DomainBaseResult<PersistanceDeleteResult<Entity>>;
35
+ export interface DomainEntityServiceDefaultData<Entity> {
36
+ BulkCreate: DomainBulkCreateData<Entity>;
37
+ Create: DomainCreateData<Entity>;
38
+ Update: DomainUpdateData<Entity>;
39
+ }
40
+ export type DomainFindOneOptions<Options = object> = Options & DomainBaseOptions<PersistanceFindOneOptions> & DomainBaseOptionsWithSearchPersistance<DomainCreateOptions>;
41
+ export type DomainFindOnePrivateOptions = PersistanceFindOnePrivateOptions;
20
42
  export type DomainFindOneResult<Entity> = DomainBaseResult<Entity | null>;
21
- export type DomainFindOptions = DomainBaseOptions<PersistanceFindOptions>;
43
+ export type DomainFindOptions<Options = object> = Options & DomainBaseOptions<PersistanceFindOptions> & DomainBaseOptionsWithSearchPersistance<DomainBulkCreateOptions>;
44
+ export type DomainFindPrivateOptions = PersistanceFindPrivateOptions;
22
45
  export type DomainFindResult<Entity> = DomainBaseResult<PersistanceFindResults<Entity>>;
46
+ export declare enum DomainMethod {
47
+ BulkCreate = "bulkCreate",
48
+ Create = "create",
49
+ Delete = "delete",
50
+ Find = "find",
51
+ FindOne = "findOne",
52
+ Update = "update"
53
+ }
54
+ export declare const DOMAIN_ENTITY_SERVICE_DEFAULT_METHODS: DomainMethod[];
23
55
  export declare enum DomainPersistanceEntityServiceType {
24
56
  All = "all",
25
57
  Main = "main"
26
58
  }
27
59
  export type DomainPersistanceServicesKey = DomainPersistanceEntityServiceType | string;
60
+ export type DomainRunMethodInAdditionalServicesOptions<Options> = {
61
+ firstServiceResult?: unknown;
62
+ hasFirstServiceResult: boolean;
63
+ methodArgs?: unknown[];
64
+ methodName: string;
65
+ optionsArgIndex?: number;
66
+ optionsOverridesByService?: GenericObject<Partial<Options> & DomainBaseAdditionalServiceOptionsOverrides>;
67
+ };
28
68
  export type DomainUpdateData<Entity> = Partial<Entity>;
29
- export type DomainUpdateOptions = DomainBaseOptions<PersistanceUpdateOptions>;
69
+ export type DomainUpdateOptions<Options = object> = Options & DomainBaseOptions<PersistanceUpdateOptions>;
70
+ export type DomainUpdatePrivateOptions = PersistanceUpdatePrivateOptions;
30
71
  export type DomainUpdateResult<Entity> = DomainBaseResult<PersistanceUpdateResult<Entity>>;