@futdevpro/nts-dynamo 1.5.51 → 1.5.52
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/lib/_models/dynamo-nts-endpoint-params.js +3 -2
- package/lib/_models/dynamo-nts-endpoint-params.js.map +1 -1
- package/lib/_services/dynamo-nts-app-extended.d.ts +87 -7
- package/lib/_services/dynamo-nts-app-extended.d.ts.map +1 -1
- package/lib/_services/dynamo-nts-app-extended.js +87 -7
- package/lib/_services/dynamo-nts-app-extended.js.map +1 -1
- package/lib/_services/dynamo-nts-app.d.ts +131 -22
- package/lib/_services/dynamo-nts-app.d.ts.map +1 -1
- package/lib/_services/dynamo-nts-app.js +104 -1
- package/lib/_services/dynamo-nts-app.js.map +1 -1
- package/lib/_services/dynamo-nts-auth.service.d.ts +78 -5
- package/lib/_services/dynamo-nts-auth.service.d.ts.map +1 -1
- package/lib/_services/dynamo-nts-auth.service.js.map +1 -1
- package/lib/_services/dynamo-nts-data.service.d.ts +23 -1
- package/lib/_services/dynamo-nts-data.service.d.ts.map +1 -1
- package/lib/_services/dynamo-nts-data.service.js +73 -53
- package/lib/_services/dynamo-nts-data.service.js.map +1 -1
- package/lib/_services/dynamo-nts-db.service.d.ts +164 -119
- package/lib/_services/dynamo-nts-db.service.d.ts.map +1 -1
- package/lib/_services/dynamo-nts-db.service.js +327 -277
- package/lib/_services/dynamo-nts-db.service.js.map +1 -1
- package/lib/_services/dynamo-nts-routing-module.service.d.ts +39 -0
- package/lib/_services/dynamo-nts-routing-module.service.d.ts.map +1 -1
- package/lib/_services/dynamo-nts-routing-module.service.js +39 -0
- package/lib/_services/dynamo-nts-routing-module.service.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +15 -12
- package/src/_models/dynamo-nts-endpoint-params.ts +2 -2
- package/src/_services/dynamo-nts-app-extended.ts +87 -7
- package/src/_services/dynamo-nts-app.ts +131 -22
- package/src/_services/dynamo-nts-auth.service.ts +79 -5
- package/src/_services/dynamo-nts-data.service.ts +74 -54
- package/src/_services/dynamo-nts-db.service.ts +355 -281
- package/src/_services/dynamo-nts-routing-module.service.ts +39 -0
|
@@ -31,6 +31,7 @@ export class DynamoNTS_DataService<T extends Dynamo_Metadata> {
|
|
|
31
31
|
|
|
32
32
|
depKey?: string;
|
|
33
33
|
depDBServiceKey?: string;
|
|
34
|
+
private depDataDBService: DynamoNTS_DBService<any>;
|
|
34
35
|
|
|
35
36
|
// dataModelParams?: DynamoBEDataPropertyParams[] = [];
|
|
36
37
|
dataParams: DynamoNTS_DataParams;
|
|
@@ -56,15 +57,13 @@ export class DynamoNTS_DataService<T extends Dynamo_Metadata> {
|
|
|
56
57
|
*/
|
|
57
58
|
async getAll(): Promise<void> {
|
|
58
59
|
try {
|
|
59
|
-
await this.dataDBService.getAll()
|
|
60
|
-
this.dataList = dataList;
|
|
61
|
-
});
|
|
60
|
+
this.dataList = await this.dataDBService.getAll();
|
|
62
61
|
} catch (error) {
|
|
63
62
|
throw new Dynamo_Error({
|
|
64
63
|
status: 417,
|
|
65
64
|
errorCode: 'NTS-DS0-GA0',
|
|
66
65
|
addECToUserMsg: true,
|
|
67
|
-
message:
|
|
66
|
+
message: `getAll was unsuccessful (${this.dataParams.dataName})`,
|
|
68
67
|
userMessage: this.defaultErrorUserMsg,
|
|
69
68
|
error: error
|
|
70
69
|
});
|
|
@@ -72,25 +71,34 @@ export class DynamoNTS_DataService<T extends Dynamo_Metadata> {
|
|
|
72
71
|
}
|
|
73
72
|
|
|
74
73
|
/**
|
|
74
|
+
* @description
|
|
75
75
|
* returns data from database by id
|
|
76
|
+
* also if dontSetToService is false or not setted,
|
|
77
|
+
* the data will be saved to the service
|
|
78
|
+
*
|
|
79
|
+
* @remarks
|
|
80
|
+
* If you need to get-save a data, if possible,
|
|
81
|
+
* use db-service update instead.
|
|
82
|
+
*
|
|
83
|
+
* @param {string} id
|
|
84
|
+
* @param dontSetToService
|
|
85
|
+
*
|
|
86
|
+
* @return {T} data: T
|
|
76
87
|
*/
|
|
77
88
|
async getDataById(id?: string, dontSetToService?: boolean): Promise<T> {
|
|
78
89
|
try {
|
|
79
90
|
if (id || this.data._id) {
|
|
80
|
-
let dataExists: T;
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
}
|
|
85
|
-
dataExists = data;
|
|
86
|
-
});
|
|
91
|
+
let dataExists: T = await this.dataDBService.getDataById(id ? id : this.data._id);
|
|
92
|
+
if (!dontSetToService && dataExists) {
|
|
93
|
+
this.data = dataExists;
|
|
94
|
+
}
|
|
87
95
|
return dataExists;
|
|
88
96
|
} else {
|
|
89
97
|
throw new Dynamo_Error({
|
|
90
98
|
status: 417,
|
|
91
99
|
errorCode: 'NTS-DS0-GI1',
|
|
92
100
|
addECToUserMsg: true,
|
|
93
|
-
message: `ID is missing! (maybe you wanted to use getDataByDependencyId instead...)`,
|
|
101
|
+
message: `ID is missing! (maybe you wanted to use getDataByDependencyId() instead...) (${this.dataParams.dataName})`,
|
|
94
102
|
userMessage: this.defaultErrorUserMsg
|
|
95
103
|
});
|
|
96
104
|
}
|
|
@@ -99,7 +107,7 @@ export class DynamoNTS_DataService<T extends Dynamo_Metadata> {
|
|
|
99
107
|
status: 417,
|
|
100
108
|
errorCode: 'NTS-DS0-GI0',
|
|
101
109
|
addECToUserMsg: true,
|
|
102
|
-
message:
|
|
110
|
+
message: `getDataById was unsuccessful (${this.dataParams.dataName})`,
|
|
103
111
|
userMessage: this.defaultErrorUserMsg,
|
|
104
112
|
error: error
|
|
105
113
|
});
|
|
@@ -114,20 +122,17 @@ export class DynamoNTS_DataService<T extends Dynamo_Metadata> {
|
|
|
114
122
|
try {
|
|
115
123
|
if (this.depKey) {
|
|
116
124
|
if (dependencyId || this.data[this.depKey]) {
|
|
117
|
-
let dataExists: T;
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
}
|
|
122
|
-
dataExists = data;
|
|
123
|
-
});
|
|
125
|
+
let dataExists: T = await this.dataDBService.getDataByDependencyId(dependencyId ? dependencyId : this.data[this.depKey]);
|
|
126
|
+
if (!dontSetToService && dataExists) {
|
|
127
|
+
this.data = dataExists;
|
|
128
|
+
}
|
|
124
129
|
return dataExists;
|
|
125
130
|
} else {
|
|
126
131
|
throw new Dynamo_Error({
|
|
127
132
|
status: 417,
|
|
128
133
|
errorCode: 'NTS-DS0-GD3',
|
|
129
134
|
addECToUserMsg: true,
|
|
130
|
-
message: `${this.depKey} is missing
|
|
135
|
+
message: `${this.depKey} is missing! (${this.dataParams.dataName})`,
|
|
131
136
|
userMessage: this.defaultErrorUserMsg
|
|
132
137
|
});
|
|
133
138
|
}
|
|
@@ -136,7 +141,7 @@ export class DynamoNTS_DataService<T extends Dynamo_Metadata> {
|
|
|
136
141
|
status: 417,
|
|
137
142
|
errorCode: 'NTS-DS0-GD2',
|
|
138
143
|
addECToUserMsg: true,
|
|
139
|
-
message: 'dependencyDataIdKey is missing from service!
|
|
144
|
+
message: `'dependencyDataIdKey is missing from service! (${this.dataParams.dataName})`,
|
|
140
145
|
userMessage: this.defaultErrorUserMsg
|
|
141
146
|
});
|
|
142
147
|
}
|
|
@@ -145,7 +150,7 @@ export class DynamoNTS_DataService<T extends Dynamo_Metadata> {
|
|
|
145
150
|
status: 417,
|
|
146
151
|
errorCode: 'NTS-DS0-GD0',
|
|
147
152
|
addECToUserMsg: true,
|
|
148
|
-
message:
|
|
153
|
+
message: `getDataByDependencyId was unsuccessful (${this.dataParams.dataName})`,
|
|
149
154
|
userMessage: this.defaultErrorUserMsg,
|
|
150
155
|
error: error
|
|
151
156
|
});
|
|
@@ -160,15 +165,13 @@ export class DynamoNTS_DataService<T extends Dynamo_Metadata> {
|
|
|
160
165
|
try {
|
|
161
166
|
if (this.depKey) {
|
|
162
167
|
if (dependencyId || this.data[this.depKey]) {
|
|
163
|
-
await this.dataDBService.getDataListByDependencyId(dependencyId ? dependencyId : this.data[this.depKey])
|
|
164
|
-
this.dataList = data;
|
|
165
|
-
});
|
|
168
|
+
this.dataList = await this.dataDBService.getDataListByDependencyId(dependencyId ? dependencyId : this.data[this.depKey]);
|
|
166
169
|
} else {
|
|
167
170
|
throw new Dynamo_Error({
|
|
168
171
|
status: 417,
|
|
169
172
|
errorCode: 'NTS-DS0-GLD3',
|
|
170
173
|
addECToUserMsg: true,
|
|
171
|
-
message: `${this.depKey} is missing
|
|
174
|
+
message: `${this.depKey} is missing (${this.dataParams.dataName})`,
|
|
172
175
|
userMessage: this.defaultErrorUserMsg
|
|
173
176
|
});
|
|
174
177
|
}
|
|
@@ -177,7 +180,7 @@ export class DynamoNTS_DataService<T extends Dynamo_Metadata> {
|
|
|
177
180
|
status: 417,
|
|
178
181
|
errorCode: 'NTS-DS0-GLD2',
|
|
179
182
|
addECToUserMsg: true,
|
|
180
|
-
message:
|
|
183
|
+
message: `dependencyDataIdKey is missing from service! (${this.dataParams.dataName})`,
|
|
181
184
|
userMessage: this.defaultErrorUserMsg
|
|
182
185
|
});
|
|
183
186
|
}
|
|
@@ -186,7 +189,26 @@ export class DynamoNTS_DataService<T extends Dynamo_Metadata> {
|
|
|
186
189
|
status: 417,
|
|
187
190
|
errorCode: 'NTS-DS0-GLD0',
|
|
188
191
|
addECToUserMsg: true,
|
|
189
|
-
message:
|
|
192
|
+
message: `getDataListByDependencyId was unsuccessful (${this.dataParams.dataName})`,
|
|
193
|
+
userMessage: this.defaultErrorUserMsg,
|
|
194
|
+
error: error
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
async updateData(set: { updateBy?: any, update: any }): Promise<void> {
|
|
201
|
+
try {
|
|
202
|
+
if (set.updateBy) {
|
|
203
|
+
this.data = await this.dataDBService.updateOne(set.updateBy, set.update, this.issuer);
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
} catch (error) {
|
|
207
|
+
throw new Dynamo_Error({
|
|
208
|
+
status: 417,
|
|
209
|
+
errorCode: 'NTS-DS0-UD0',
|
|
210
|
+
addECToUserMsg: true,
|
|
211
|
+
message: `updateData was unsuccessful (${this.dataParams.dataName})`,
|
|
190
212
|
userMessage: this.defaultErrorUserMsg,
|
|
191
213
|
error: error
|
|
192
214
|
});
|
|
@@ -196,24 +218,23 @@ export class DynamoNTS_DataService<T extends Dynamo_Metadata> {
|
|
|
196
218
|
/**
|
|
197
219
|
* modifies data if the data have ID and already exists in the DB,
|
|
198
220
|
* creates new if the ID is not present or cant find in DB,
|
|
199
|
-
* and if dependency data setted up, will check before creation
|
|
221
|
+
* and if dependency data setted up, will check before creation,
|
|
222
|
+
* @warning
|
|
223
|
+
* but the proper way to update data, if you use update method instead,
|
|
224
|
+
* this way, you can avoid data override errors
|
|
225
|
+
* (when you simultaneously trying to change the same data's
|
|
226
|
+
* different values from different flows)
|
|
200
227
|
*/
|
|
201
228
|
async saveData(): Promise<void> {
|
|
202
229
|
try {
|
|
203
230
|
if (this.data._id) {
|
|
204
231
|
// check if already exists
|
|
205
|
-
let dataExists: T;
|
|
206
|
-
await this.getDataById(null, true).then((data: T) => {
|
|
207
|
-
dataExists = data;
|
|
208
|
-
}).catch(() => {});
|
|
232
|
+
let dataExists: T = await this.getDataById(null, true).catch(() => null);
|
|
209
233
|
if (!dataExists) {
|
|
210
234
|
// if data not exists check that dependency already exists for this
|
|
211
235
|
if (this.depKey) {
|
|
212
236
|
if (this.data[this.depKey]) {
|
|
213
|
-
let dependencyExists =
|
|
214
|
-
await this.getDependencyDataDBService().getDataById(this.data[this.depKey]).then((dep) => {
|
|
215
|
-
dependencyExists = !!dep;
|
|
216
|
-
});
|
|
237
|
+
let dependencyExists = await this.getDependencyDataDBService().getDataById(this.data[this.depKey]);
|
|
217
238
|
if (!dependencyExists) {
|
|
218
239
|
throw new Dynamo_Error({
|
|
219
240
|
status: 417,
|
|
@@ -234,20 +255,14 @@ export class DynamoNTS_DataService<T extends Dynamo_Metadata> {
|
|
|
234
255
|
}
|
|
235
256
|
}
|
|
236
257
|
// if data not exists create new data
|
|
237
|
-
await this.dataDBService.createData(this.data, this.issuer)
|
|
238
|
-
this.data = data;
|
|
239
|
-
});
|
|
258
|
+
this.data = await this.dataDBService.createData(this.data, this.issuer);
|
|
240
259
|
} else {
|
|
241
260
|
// if data exists do modify
|
|
242
|
-
await this.dataDBService.modifyData(this.data, this.issuer)
|
|
243
|
-
this.data = data;
|
|
244
|
-
});
|
|
261
|
+
this.data = await this.dataDBService.modifyData(this.data, this.issuer);
|
|
245
262
|
}
|
|
246
263
|
} else {
|
|
247
264
|
// if ID is not present, data not exists, create new data
|
|
248
|
-
await this.dataDBService.createData(this.data, this.issuer)
|
|
249
|
-
this.data = data;
|
|
250
|
-
});
|
|
265
|
+
this.data = await this.dataDBService.createData(this.data, this.issuer);
|
|
251
266
|
}
|
|
252
267
|
} catch (error) {
|
|
253
268
|
throw new Dynamo_Error({
|
|
@@ -273,7 +288,7 @@ export class DynamoNTS_DataService<T extends Dynamo_Metadata> {
|
|
|
273
288
|
status: 417,
|
|
274
289
|
errorCode: 'NTS-DS0-DD1',
|
|
275
290
|
addECToUserMsg: true,
|
|
276
|
-
message:
|
|
291
|
+
message: `ID is missing! (${this.dataParams.dataName})` ,
|
|
277
292
|
userMessage: this.defaultErrorUserMsg,
|
|
278
293
|
});
|
|
279
294
|
}
|
|
@@ -282,7 +297,7 @@ export class DynamoNTS_DataService<T extends Dynamo_Metadata> {
|
|
|
282
297
|
status: 417,
|
|
283
298
|
errorCode: 'NTS-DS0-DD0',
|
|
284
299
|
addECToUserMsg: true,
|
|
285
|
-
message:
|
|
300
|
+
message: `deleteData was unsuccessful (${this.dataParams.dataName})`,
|
|
286
301
|
userMessage: this.defaultErrorUserMsg,
|
|
287
302
|
error: error
|
|
288
303
|
});
|
|
@@ -308,7 +323,7 @@ export class DynamoNTS_DataService<T extends Dynamo_Metadata> {
|
|
|
308
323
|
}
|
|
309
324
|
// specific Date validation
|
|
310
325
|
if (this.dataParams.modelParams[i].type === 'Date' && !(new Date(this.data[this.dataParams.modelParams[i].key]) instanceof Date)) {
|
|
311
|
-
throw new Dynamo_Error({
|
|
326
|
+
throw new Dynamo_Error({
|
|
312
327
|
status: 422,
|
|
313
328
|
errorCode: 'NTS-DS0-VD2',
|
|
314
329
|
addECToUserMsg: true,
|
|
@@ -328,7 +343,7 @@ export class DynamoNTS_DataService<T extends Dynamo_Metadata> {
|
|
|
328
343
|
status: 422,
|
|
329
344
|
errorCode: 'NTS-DS0-VD0',
|
|
330
345
|
addECToUserMsg: true,
|
|
331
|
-
message:
|
|
346
|
+
message: `validateForSave was unsuccessful (${this.dataParams.dataName})`,
|
|
332
347
|
userMessage: this.defaultErrorUserMsg,
|
|
333
348
|
error: error
|
|
334
349
|
});
|
|
@@ -342,8 +357,8 @@ export class DynamoNTS_DataService<T extends Dynamo_Metadata> {
|
|
|
342
357
|
const dependencyParam: DynamoNTS_DataPropertyParams = this.dataParams.modelParams.find((modelParams: DynamoNTS_DataPropertyParams) => modelParams.isDependencyHook);
|
|
343
358
|
if (dependencyParam) {
|
|
344
359
|
this.depKey = dependencyParam.key;
|
|
345
|
-
if (dependencyParam.
|
|
346
|
-
this.depDBServiceKey = dependencyParam.
|
|
360
|
+
if (dependencyParam.dependencyDataName) {
|
|
361
|
+
this.depDBServiceKey = dependencyParam.dependencyDataName;
|
|
347
362
|
}
|
|
348
363
|
}
|
|
349
364
|
}
|
|
@@ -354,7 +369,12 @@ export class DynamoNTS_DataService<T extends Dynamo_Metadata> {
|
|
|
354
369
|
*/
|
|
355
370
|
getDependencyDataDBService(): DynamoNTS_DBService<any> {
|
|
356
371
|
if (this.depDBServiceKey) {
|
|
357
|
-
|
|
372
|
+
if (this.depDataDBService) {
|
|
373
|
+
return this.depDataDBService;
|
|
374
|
+
} else {
|
|
375
|
+
this.depDataDBService = DynamoNTS_GlobalService.getDBServiceByKey(this.depDBServiceKey);
|
|
376
|
+
return this.depDataDBService;
|
|
377
|
+
}
|
|
358
378
|
} else {
|
|
359
379
|
throw new Dynamo_Error({
|
|
360
380
|
status: 501,
|