@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.
- package/coverage/clover.xml +167 -132
- package/coverage/coverage-final.json +2 -2
- package/coverage/index.html +18 -18
- package/dist/app.js +20 -3
- package/dist/app.js.map +1 -1
- package/dist/common/configProvider/configProvider.definitions.d.ts +62 -18
- package/dist/common/configProvider/configProvider.definitions.js +16 -2
- package/dist/common/configProvider/configProvider.definitions.js.map +1 -1
- package/dist/common/configProvider/configProvider.module.js +13 -2
- package/dist/common/configProvider/configProvider.module.js.map +1 -1
- package/dist/common/configProvider/configProvider.service.js +21 -16
- package/dist/common/configProvider/configProvider.service.js.map +1 -1
- package/dist/common/definitions/common.constants.d.ts +11 -1
- package/dist/common/definitions/common.constants.js +12 -1
- package/dist/common/definitions/common.constants.js.map +1 -1
- package/dist/common/definitions/common.definitions.d.ts +3 -0
- package/dist/common/utils/utils.loadDynamicModules.d.ts +4 -1
- package/dist/common/utils/utils.loadDynamicModules.js +6 -2
- package/dist/common/utils/utils.loadDynamicModules.js.map +1 -1
- package/dist/domain/entityService/domain.entity.service.d.ts +11 -22
- package/dist/domain/entityService/domain.entity.service.definitions.d.ts +43 -9
- package/dist/domain/entityService/domain.entity.service.definitions.js +9 -1
- package/dist/domain/entityService/domain.entity.service.definitions.js.map +1 -1
- package/dist/domain/entityService/domain.entity.service.js +147 -50
- package/dist/domain/entityService/domain.entity.service.js.map +1 -1
- package/dist/persistance/entityService/persistance.entity.service.d.ts +16 -10
- package/dist/persistance/entityService/persistance.entity.service.definitions.d.ts +52 -3
- package/dist/persistance/entityService/persistance.entity.service.definitions.js +11 -1
- package/dist/persistance/entityService/persistance.entity.service.definitions.js.map +1 -1
- package/dist/persistance/entityService/persistance.entity.service.js +42 -10
- package/dist/persistance/entityService/persistance.entity.service.js.map +1 -1
- package/package.json +5 -3
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
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,
|
|
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
|
|
43
|
-
|
|
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
|
|
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
|
|
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 |
|
|
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
|
|
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
|
-
|
|
120
|
-
|
|
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
|
-
|
|
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["
|
|
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":";;;
|
|
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
|
|
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, {
|
|
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":"
|
|
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
|
|
119
|
-
ormconfigMigrations.push(`${
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAkC;AAClC,2CAA6B;AAE7B,2CAAoD;AACpD,
|
|
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,
|
|
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
|
-
|
|
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,
|
|
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 {
|
|
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
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
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
|
-
|
|
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
|
|
4
|
-
|
|
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> =
|
|
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> =
|
|
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
|
|
19
|
-
export type
|
|
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>>;
|