@futdevpro/nts-dynamo 1.5.54 → 1.5.58

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 (124) hide show
  1. package/README.md +123 -0
  2. package/lib/_enums/data-model-type.enum.d.ts +7 -0
  3. package/lib/_enums/data-model-type.enum.d.ts.map +1 -1
  4. package/lib/_enums/data-model-type.enum.js +7 -0
  5. package/lib/_enums/data-model-type.enum.js.map +1 -1
  6. package/lib/_enums/dynamo-nts-data-service-function.enum.d.ts +5 -0
  7. package/lib/_enums/dynamo-nts-data-service-function.enum.d.ts.map +1 -1
  8. package/lib/_enums/dynamo-nts-data-service-function.enum.js +5 -1
  9. package/lib/_enums/dynamo-nts-data-service-function.enum.js.map +1 -1
  10. package/lib/_enums/dynamo-nts-route-security.enum.d.ts +6 -0
  11. package/lib/_enums/dynamo-nts-route-security.enum.d.ts.map +1 -1
  12. package/lib/_enums/dynamo-nts-route-security.enum.js +6 -0
  13. package/lib/_enums/dynamo-nts-route-security.enum.js.map +1 -1
  14. package/lib/_enums/dynamo-nts-socket-security.enum.d.ts +6 -0
  15. package/lib/_enums/dynamo-nts-socket-security.enum.d.ts.map +1 -1
  16. package/lib/_enums/dynamo-nts-socket-security.enum.js +6 -0
  17. package/lib/_enums/dynamo-nts-socket-security.enum.js.map +1 -1
  18. package/lib/_enums/http/http-call-type.enum.d.ts +4 -0
  19. package/lib/_enums/http/http-call-type.enum.d.ts.map +1 -1
  20. package/lib/_enums/http/http-call-type.enum.js +4 -0
  21. package/lib/_enums/http/http-call-type.enum.js.map +1 -1
  22. package/lib/_enums/predefined-data-types.enum.d.ts +3 -0
  23. package/lib/_enums/predefined-data-types.enum.d.ts.map +1 -1
  24. package/lib/_enums/predefined-data-types.enum.js +3 -0
  25. package/lib/_enums/predefined-data-types.enum.js.map +1 -1
  26. package/lib/_models/dynamo-nts-api-call-params.d.ts +61 -2
  27. package/lib/_models/dynamo-nts-api-call-params.d.ts.map +1 -1
  28. package/lib/_models/dynamo-nts-api-call-params.js +24 -7
  29. package/lib/_models/dynamo-nts-api-call-params.js.map +1 -1
  30. package/lib/_models/dynamo-nts-app-params.d.ts +33 -1
  31. package/lib/_models/dynamo-nts-app-params.d.ts.map +1 -1
  32. package/lib/_models/dynamo-nts-app-params.js +1 -1
  33. package/lib/_models/dynamo-nts-app-params.js.map +1 -1
  34. package/lib/_models/dynamo-nts-endpoint-params.d.ts +36 -1
  35. package/lib/_models/dynamo-nts-endpoint-params.d.ts.map +1 -1
  36. package/lib/_models/dynamo-nts-endpoint-params.js +15 -13
  37. package/lib/_models/dynamo-nts-endpoint-params.js.map +1 -1
  38. package/lib/_models/dynamo-nts-global-settings.d.ts +31 -0
  39. package/lib/_models/dynamo-nts-global-settings.d.ts.map +1 -1
  40. package/lib/_models/dynamo-nts-routing-module-settings.d.ts +10 -1
  41. package/lib/_models/dynamo-nts-routing-module-settings.d.ts.map +1 -1
  42. package/lib/_models/dynamo-nts-socket-dictionary.d.ts +3 -0
  43. package/lib/_models/dynamo-nts-socket-dictionary.d.ts.map +1 -1
  44. package/lib/_models/dynamo-nts-socket-dictionary.js +3 -0
  45. package/lib/_models/dynamo-nts-socket-dictionary.js.map +1 -1
  46. package/lib/_models/dynamo-nts-socket-event-params.d.ts +1 -1
  47. package/lib/_models/dynamo-nts-socket-event-params.d.ts.map +1 -1
  48. package/lib/_models/dynamo-nts-socket-event-params.js +3 -3
  49. package/lib/_models/dynamo-nts-socket-event-params.js.map +1 -1
  50. package/lib/_models/dynamo-nts-socket-service-params.d.ts +1 -1
  51. package/lib/_models/dynamo-nts-socket-service-params.d.ts.map +1 -1
  52. package/lib/_models/dynamo-nts-socket-service-params.js +3 -3
  53. package/lib/_models/dynamo-nts-socket-service-params.js.map +1 -1
  54. package/lib/_modules/usage/usage.service.js +1 -1
  55. package/lib/_modules/usage/usage.service.js.map +1 -1
  56. package/lib/_services/dynamo-nts-api.service.d.ts +17 -2
  57. package/lib/_services/dynamo-nts-api.service.d.ts.map +1 -1
  58. package/lib/_services/dynamo-nts-api.service.js +19 -11
  59. package/lib/_services/dynamo-nts-api.service.js.map +1 -1
  60. package/lib/_services/dynamo-nts-app-extended.d.ts +10 -1
  61. package/lib/_services/dynamo-nts-app-extended.d.ts.map +1 -1
  62. package/lib/_services/dynamo-nts-app-extended.js +8 -8
  63. package/lib/_services/dynamo-nts-app-extended.js.map +1 -1
  64. package/lib/_services/dynamo-nts-app.d.ts +30 -3
  65. package/lib/_services/dynamo-nts-app.d.ts.map +1 -1
  66. package/lib/_services/dynamo-nts-app.js +19 -19
  67. package/lib/_services/dynamo-nts-app.js.map +1 -1
  68. package/lib/_services/dynamo-nts-auth.service.d.ts +4 -4
  69. package/lib/_services/dynamo-nts-controller.service.d.ts +55 -0
  70. package/lib/_services/dynamo-nts-controller.service.d.ts.map +1 -1
  71. package/lib/_services/dynamo-nts-controller.service.js +2 -2
  72. package/lib/_services/dynamo-nts-controller.service.js.map +1 -1
  73. package/lib/_services/dynamo-nts-data.service.d.ts +15 -3
  74. package/lib/_services/dynamo-nts-data.service.d.ts.map +1 -1
  75. package/lib/_services/dynamo-nts-data.service.js +203 -147
  76. package/lib/_services/dynamo-nts-data.service.js.map +1 -1
  77. package/lib/_services/dynamo-nts-db.service.d.ts.map +1 -1
  78. package/lib/_services/dynamo-nts-db.service.js +132 -83
  79. package/lib/_services/dynamo-nts-db.service.js.map +1 -1
  80. package/lib/_services/dynamo-nts-email.service.d.ts.map +1 -1
  81. package/lib/_services/dynamo-nts-email.service.js +26 -22
  82. package/lib/_services/dynamo-nts-email.service.js.map +1 -1
  83. package/lib/_services/dynamo-nts-global.service.d.ts.map +1 -1
  84. package/lib/_services/dynamo-nts-global.service.js +3 -3
  85. package/lib/_services/dynamo-nts-global.service.js.map +1 -1
  86. package/lib/_services/dynamo-nts-routing-module.service.d.ts.map +1 -1
  87. package/lib/_services/dynamo-nts-routing-module.service.js +1 -2
  88. package/lib/_services/dynamo-nts-routing-module.service.js.map +1 -1
  89. package/lib/_services/dynamo-nts-socket.service.d.ts.map +1 -1
  90. package/lib/_services/dynamo-nts-socket.service.js +1 -2
  91. package/lib/_services/dynamo-nts-socket.service.js.map +1 -1
  92. package/lib/tsconfig.tsbuildinfo +1 -1
  93. package/package.json +13 -13
  94. package/src/_assets/dynamo-nts-128.png +0 -0
  95. package/src/_assets/dynamo-nts-256.png +0 -0
  96. package/src/_assets/dynamo-nts-512.png +0 -0
  97. package/src/_assets/dynamo-nts-64.png +0 -0
  98. package/src/_enums/data-model-type.enum.ts +7 -0
  99. package/src/_enums/dynamo-nts-data-service-function.enum.ts +5 -1
  100. package/src/_enums/dynamo-nts-route-security.enum.ts +6 -0
  101. package/src/_enums/dynamo-nts-socket-security.enum.ts +6 -0
  102. package/src/_enums/http/http-call-type.enum.ts +4 -0
  103. package/src/_enums/predefined-data-types.enum.ts +3 -0
  104. package/src/_models/dynamo-nts-api-call-params.ts +74 -14
  105. package/src/_models/dynamo-nts-app-params.ts +33 -1
  106. package/src/_models/dynamo-nts-endpoint-params.ts +49 -14
  107. package/src/_models/dynamo-nts-global-settings.ts +31 -0
  108. package/src/_models/dynamo-nts-routing-module-settings.ts +10 -1
  109. package/src/_models/dynamo-nts-socket-dictionary.ts +3 -0
  110. package/src/_models/dynamo-nts-socket-event-params.ts +3 -3
  111. package/src/_models/dynamo-nts-socket-service-params.ts +3 -3
  112. package/src/_modules/usage/usage.service.ts +2 -2
  113. package/src/_services/dynamo-nts-api.service.ts +23 -12
  114. package/src/_services/dynamo-nts-app-extended.ts +17 -8
  115. package/src/_services/dynamo-nts-app.ts +47 -20
  116. package/src/_services/dynamo-nts-auth.service.ts +4 -4
  117. package/src/_services/dynamo-nts-controller.service.ts +57 -2
  118. package/src/_services/dynamo-nts-data.service.ts +200 -132
  119. package/src/_services/dynamo-nts-db.service.ts +122 -83
  120. package/src/_services/dynamo-nts-email.service.ts +33 -23
  121. package/src/_services/dynamo-nts-global.service.ts +3 -4
  122. package/src/_services/dynamo-nts-routing-module.service.ts +2 -3
  123. package/src/_services/dynamo-nts-socket.service.ts +2 -3
  124. package/src/version.json +0 -2
@@ -1,9 +1,8 @@
1
1
 
2
- import { Dynamo_Metadata, DynamoNTS_DataParams, DynamoNTS_DataPropertyParams, Dynamo_Error } from '@futdevpro/fsm-dynamo';
2
+ import { Dynamo_Metadata, DynamoNTS_DataParams, DynamoNTS_DataPropertyParams, Dynamo_Error, Dynamo_Log } from '@futdevpro/fsm-dynamo';
3
3
 
4
4
  import { DynamoNTS_DBService } from './dynamo-nts-db.service';
5
5
  import { DynamoNTS_GlobalService } from './dynamo-nts-global.service';
6
- import { DynamoNTS_Shared } from './dynamo-nts-shared.service';
7
6
 
8
7
  /**
9
8
  * Basic Data Service that is connected to the relevant DBServices
@@ -40,8 +39,17 @@ export class DynamoNTS_DataService<T extends Dynamo_Metadata> {
40
39
  defaultValidationErrorUserMsg = `We encountered an unhandled Validation Error, please contact the responsible development team.`;
41
40
 
42
41
  constructor(
42
+ /**
43
+ * Initial data, this will be used by functions on default
44
+ */
43
45
  data: T,
46
+ /**
47
+ * DB data prams will be used to connect to usable dbService on GlobalService
48
+ */
44
49
  dataParams: DynamoNTS_DataParams,
50
+ /**
51
+ * Initial set for issuer to be able to follow the issuer's activity
52
+ */
45
53
  issuer: string,
46
54
  ) {
47
55
  this.dataDBService = DynamoNTS_GlobalService.getDBService<T>(dataParams);
@@ -54,16 +62,21 @@ export class DynamoNTS_DataService<T extends Dynamo_Metadata> {
54
62
  /**
55
63
  * returns all data from database to service dataList
56
64
  */
57
- async getAll(): Promise<void> {
65
+ async getAll(dontSetToService?: boolean): Promise<T[]> {
58
66
  try {
59
- this.dataList = await this.dataDBService.getAll().catch(error => {
67
+ const dataListExists: T[] = await this.dataDBService.getAll().catch(error => {
60
68
  if (error?.errorCodes?.includes('NTS-DBS-GA1')) {
61
- console.error(error);
69
+ Dynamo_Log.logWarning(`getAll ${this.dataParams.dataName} didn't found any.`);
62
70
  return [];
63
71
  } else {
64
72
  throw error;
65
73
  }
66
74
  });
75
+ if (!dontSetToService) {
76
+ this.dataList = dataListExists;
77
+ }
78
+
79
+ return dataListExists;
67
80
  } catch (error) {
68
81
  throw new Dynamo_Error({
69
82
  status: 417,
@@ -93,20 +106,7 @@ export class DynamoNTS_DataService<T extends Dynamo_Metadata> {
93
106
  */
94
107
  async getDataById(id?: string, dontSetToService?: boolean): Promise<T> {
95
108
  try {
96
- if (id || this.data._id) {
97
- let dataExists: T = await this.dataDBService.getDataById(id ? id : this.data._id).catch(error => {
98
- if (error?.errorCodes?.includes('NTS-DBS-GI1')) {
99
- console.error(error);
100
- return null;
101
- } else {
102
- throw error;
103
- }
104
- });
105
- if (!dontSetToService) {
106
- this.data = dataExists;
107
- }
108
- return dataExists;
109
- } else {
109
+ if (!id && !this.data._id) {
110
110
  throw new Dynamo_Error({
111
111
  status: 417,
112
112
  errorCode: 'NTS-DS0-GI1',
@@ -115,15 +115,33 @@ export class DynamoNTS_DataService<T extends Dynamo_Metadata> {
115
115
  userMessage: this.defaultErrorUserMsg
116
116
  });
117
117
  }
118
- } catch (error) {
119
- throw new Dynamo_Error({
120
- status: 417,
121
- errorCode: 'NTS-DS0-GI0',
122
- addECToUserMsg: true,
123
- message: `getDataById was unsuccessful (${this.dataParams.dataName})`,
124
- userMessage: this.defaultErrorUserMsg,
125
- error: error
118
+
119
+ const dataExists: T = await this.dataDBService.getDataById(id ?? this.data._id).catch(error => {
120
+ if (error?.errorCodes?.includes('NTS-DBS-GI1')) {
121
+ Dynamo_Log.logWarning(`getDataById ${this.dataParams.dataName} (${id ?? this.data._id}) didn't found any.`);
122
+ return null;
123
+ } else {
124
+ throw error;
125
+ }
126
126
  });
127
+ if (!dontSetToService) {
128
+ this.data = dataExists;
129
+ }
130
+
131
+ return dataExists;
132
+ } catch (error) {
133
+ if (error?.errorCode == 'NTS-DS0-GI1') {
134
+ throw error;
135
+ } else {
136
+ throw new Dynamo_Error({
137
+ status: 417,
138
+ errorCode: 'NTS-DS0-GI0',
139
+ addECToUserMsg: true,
140
+ message: `getDataById was unsuccessful (${this.dataParams.dataName})`,
141
+ userMessage: this.defaultErrorUserMsg,
142
+ error: error
143
+ });
144
+ }
127
145
  }
128
146
  }
129
147
 
@@ -133,47 +151,52 @@ export class DynamoNTS_DataService<T extends Dynamo_Metadata> {
133
151
  */
134
152
  async getDataByDependencyId(dependencyId?: string, dontSetToService?: boolean): Promise<T> {
135
153
  try {
136
- if (this.depKey) {
137
- if (dependencyId || this.data[this.depKey]) {
138
- let dataExists: T = await this.dataDBService.getDataByDependencyId(dependencyId ? dependencyId : this.data[this.depKey]).catch(error => {
139
- if (error?.errorCodes?.includes('NTS-DBS-GD2')) {
140
- console.error(error);
141
- return null;
142
- } else {
143
- throw error;
144
- }
145
- });
146
- if (!dontSetToService && dataExists) {
147
- this.data = dataExists;
148
- }
149
- return dataExists;
150
- } else {
151
- throw new Dynamo_Error({
152
- status: 417,
153
- errorCode: 'NTS-DS0-GD3',
154
- addECToUserMsg: true,
155
- message: `${this.depKey} is missing! (${this.dataParams.dataName})`,
156
- userMessage: this.defaultErrorUserMsg
157
- });
158
- }
159
- } else {
154
+ if (!this.depKey) {
160
155
  throw new Dynamo_Error({
161
156
  status: 417,
162
- errorCode: 'NTS-DS0-GD2',
157
+ errorCode: 'NTS-DS0-GD1',
163
158
  addECToUserMsg: true,
164
159
  message: `'dependencyDataIdKey is missing from service! (${this.dataParams.dataName})`,
165
160
  userMessage: this.defaultErrorUserMsg
166
161
  });
167
162
  }
168
- } catch (error) {
169
- throw new Dynamo_Error({
170
- status: 417,
171
- errorCode: 'NTS-DS0-GD0',
172
- addECToUserMsg: true,
173
- message: `getDataByDependencyId was unsuccessful (${this.dataParams.dataName})`,
174
- userMessage: this.defaultErrorUserMsg,
175
- error: error
163
+
164
+ if (!dependencyId && !this.data[this.depKey]) {
165
+ throw new Dynamo_Error({
166
+ status: 417,
167
+ errorCode: 'NTS-DS0-GD2',
168
+ addECToUserMsg: true,
169
+ message: `${this.depKey} is missing! (${this.dataParams.dataName})`,
170
+ userMessage: this.defaultErrorUserMsg
171
+ });
172
+ }
173
+
174
+ const dataExists: T = await this.dataDBService.getDataByDependencyId(dependencyId ?? this.data[this.depKey]).catch(error => {
175
+ if (error?.errorCodes?.includes('NTS-DBS-GD2')) {
176
+ Dynamo_Log.logWarning(`getDataByDependencyId ${this.dataParams.dataName} (${this.depKey}: ${dependencyId ?? this.data[this.depKey]}) didn't found any.`);
177
+ return null;
178
+ } else {
179
+ throw error;
180
+ }
176
181
  });
182
+ if (!dontSetToService) {
183
+ this.data = dataExists;
184
+ }
185
+
186
+ return dataExists;
187
+ } catch (error) {
188
+ if (['NTS-DS0-GD1', 'NTS-DS0-GD2'].includes(error?.errorCode)) {
189
+ throw error;
190
+ } else {
191
+ throw new Dynamo_Error({
192
+ status: 417,
193
+ errorCode: 'NTS-DS0-GD0',
194
+ addECToUserMsg: true,
195
+ message: `getDataByDependencyId was unsuccessful (${this.dataParams.dataName})`,
196
+ userMessage: this.defaultErrorUserMsg,
197
+ error: error
198
+ });
199
+ }
177
200
  }
178
201
  }
179
202
 
@@ -181,45 +204,54 @@ export class DynamoNTS_DataService<T extends Dynamo_Metadata> {
181
204
  * returns dataList from database by dependencyId to the service
182
205
  * @param dependencyId
183
206
  */
184
- async getDataListByDependencyId(dependencyId?: string): Promise<void> {
207
+ async getDataListByDependencyId(dependencyId?: string, dontSetToService?: boolean): Promise<T[]> {
185
208
  try {
186
- if (this.depKey) {
187
- if (dependencyId || this.data[this.depKey]) {
188
- this.dataList = await this.dataDBService.getDataListByDependencyId(dependencyId ? dependencyId : this.data[this.depKey]).catch(error => {
189
- if (error?.errorCodes?.includes('NTS-DBS-GLD2')) {
190
- console.error(error);
191
- return [];
192
- } else {
193
- throw error;
194
- }
195
- });
196
- } else {
197
- throw new Dynamo_Error({
198
- status: 417,
199
- errorCode: 'NTS-DS0-GLD3',
200
- addECToUserMsg: true,
201
- message: `${this.depKey} is missing (${this.dataParams.dataName})`,
202
- userMessage: this.defaultErrorUserMsg
203
- });
204
- }
205
- } else {
209
+ if (!this.depKey) {
206
210
  throw new Dynamo_Error({
207
211
  status: 417,
208
- errorCode: 'NTS-DS0-GLD2',
212
+ errorCode: 'NTS-DS0-GLD1',
209
213
  addECToUserMsg: true,
210
214
  message: `dependencyDataIdKey is missing from service! (${this.dataParams.dataName})`,
211
215
  userMessage: this.defaultErrorUserMsg
212
216
  });
213
217
  }
214
- } catch (error) {
215
- throw new Dynamo_Error({
216
- status: 417,
217
- errorCode: 'NTS-DS0-GLD0',
218
- addECToUserMsg: true,
219
- message: `getDataListByDependencyId was unsuccessful (${this.dataParams.dataName})`,
220
- userMessage: this.defaultErrorUserMsg,
221
- error: error
218
+
219
+ if (!dependencyId && !this.data[this.depKey]) {
220
+ throw new Dynamo_Error({
221
+ status: 417,
222
+ errorCode: 'NTS-DS0-GLD2',
223
+ addECToUserMsg: true,
224
+ message: `${this.depKey} is missing (${this.dataParams.dataName})`,
225
+ userMessage: this.defaultErrorUserMsg
226
+ });
227
+ }
228
+
229
+ const dataListExists: T[] = await this.dataDBService.getDataListByDependencyId(dependencyId ?? this.data[this.depKey]).catch(error => {
230
+ if (error?.errorCodes?.includes('NTS-DBS-GLD2')) {
231
+ Dynamo_Log.logWarning(`getDataListByDependencyId ${this.dataParams.dataName} (${this.depKey}: ${dependencyId ?? this.data[this.depKey]}) didn't found any.`);
232
+ return [];
233
+ } else {
234
+ throw error;
235
+ }
222
236
  });
237
+ if (!dontSetToService) {
238
+ this.dataList = dataListExists;
239
+ }
240
+
241
+ return dataListExists;
242
+ } catch (error) {
243
+ if (['NTS-DS0-GLD1', 'NTS-DS0-GLD2'].includes(error?.errorCode)) {
244
+ throw error;
245
+ } else {
246
+ throw new Dynamo_Error({
247
+ status: 417,
248
+ errorCode: 'NTS-DS0-GLD0',
249
+ addECToUserMsg: true,
250
+ message: `getDataListByDependencyId was unsuccessful (${this.dataParams.dataName})`,
251
+ userMessage: this.defaultErrorUserMsg,
252
+ error: error
253
+ });
254
+ }
223
255
  }
224
256
  }
225
257
 
@@ -257,7 +289,7 @@ export class DynamoNTS_DataService<T extends Dynamo_Metadata> {
257
289
  try {
258
290
  const dataExists: T = await this.dataDBService.findOne(findBy).catch(error => {
259
291
  if (error?.errorCodes?.includes('NTS-DBS-FO1')) {
260
- console.error(error);
292
+ Dynamo_Log.logWarning(`findData ${this.dataParams.dataName} didn't found any.`);
261
293
  return null;
262
294
  } else {
263
295
  throw error;
@@ -266,6 +298,7 @@ export class DynamoNTS_DataService<T extends Dynamo_Metadata> {
266
298
  if (!dontSetToService) {
267
299
  this.data = dataExists;
268
300
  }
301
+
269
302
  return dataExists;
270
303
  } catch (error) {
271
304
  throw new Dynamo_Error({
@@ -313,7 +346,7 @@ export class DynamoNTS_DataService<T extends Dynamo_Metadata> {
313
346
  try {
314
347
  const dataListExists: T[] = await this.dataDBService.find(findBy).catch(error => {
315
348
  if (error?.errorCodes?.includes('NTS-DBS-F1')) {
316
- console.error(error);
349
+ Dynamo_Log.logWarning(`findDatas ${this.dataParams.dataName} didn't found any.`);
317
350
  return [];
318
351
  } else {
319
352
  throw error;
@@ -322,6 +355,7 @@ export class DynamoNTS_DataService<T extends Dynamo_Metadata> {
322
355
  if (!dontSetToService) {
323
356
  this.dataList = dataListExists;
324
357
  }
358
+
325
359
  return dataListExists;
326
360
  } catch (error) {
327
361
  throw new Dynamo_Error({
@@ -409,14 +443,18 @@ export class DynamoNTS_DataService<T extends Dynamo_Metadata> {
409
443
  });
410
444
  }
411
445
  } catch (error) {
412
- throw new Dynamo_Error({
413
- status: 417,
414
- errorCode: 'NTS-DS0-UD0',
415
- addECToUserMsg: true,
416
- message: `updateData was unsuccessful (${this.dataParams.dataName})`,
417
- userMessage: this.defaultErrorUserMsg,
418
- error: error
419
- });
446
+ if (error?.errorCode == 'NTS-DS0-UD1') {
447
+ throw error;
448
+ } else {
449
+ throw new Dynamo_Error({
450
+ status: 417,
451
+ errorCode: 'NTS-DS0-UD0',
452
+ addECToUserMsg: true,
453
+ message: `updateData was unsuccessful (${this.dataParams.dataName})`,
454
+ userMessage: this.defaultErrorUserMsg,
455
+ error: error
456
+ });
457
+ }
420
458
  }
421
459
  }
422
460
 
@@ -452,15 +490,21 @@ export class DynamoNTS_DataService<T extends Dynamo_Metadata> {
452
490
  });
453
491
  }
454
492
 
455
- let dependencyExists = await this.getDependencyDataDBService().getDataById(this.data[this.depKey]).catch(error => {
493
+ /* const dependencyExists = */
494
+ await this.getDependencyDataDBService().getDataById(this.data[this.depKey]).catch(error => {
456
495
  if (error?.errorCodes?.includes('NTS-DBS-GI1')) {
457
- console.error(error);
458
- return null;
496
+ throw new Dynamo_Error({
497
+ status: 417,
498
+ errorCode: 'NTS-DS0-SD2',
499
+ addECToUserMsg: true,
500
+ message: `saveData was unsuccessful: dependency data not exists (key: ${this.depKey}, id: ${this.data[this.depKey]})`,
501
+ userMessage: this.defaultErrorUserMsg
502
+ });
459
503
  } else {
460
504
  throw error;
461
505
  }
462
506
  });
463
- if (!dependencyExists) {
507
+ /* if (!dependencyExists) {
464
508
  throw new Dynamo_Error({
465
509
  status: 417,
466
510
  errorCode: 'NTS-DS0-SD2',
@@ -468,8 +512,9 @@ export class DynamoNTS_DataService<T extends Dynamo_Metadata> {
468
512
  message: `saveData was unsuccessful: dependency data not exists (key: ${this.depKey}, id: ${this.data[this.depKey]})`,
469
513
  userMessage: this.defaultErrorUserMsg
470
514
  });
471
- }
515
+ } */
472
516
  }
517
+
473
518
  // if data not exists create new data
474
519
  this.data = await this.dataDBService.createData(this.data, this.issuer);
475
520
  }
@@ -478,14 +523,18 @@ export class DynamoNTS_DataService<T extends Dynamo_Metadata> {
478
523
  this.data = await this.dataDBService.createData(this.data, this.issuer);
479
524
  }
480
525
  } catch (error) {
481
- throw new Dynamo_Error({
482
- status: 417,
483
- errorCode: 'NTS-DS0-SD0',
484
- addECToUserMsg: true,
485
- message: `modifyData was unsuccessful (${this.dataParams.dataName})`,
486
- userMessage: this.defaultErrorUserMsg,
487
- error: error
488
- });
526
+ if (['NTS-DS0-SD1', 'NTS-DS0-SD2'].includes(error?.errorCode)) {
527
+ throw error;
528
+ } else {
529
+ throw new Dynamo_Error({
530
+ status: 417,
531
+ errorCode: 'NTS-DS0-SD0',
532
+ addECToUserMsg: true,
533
+ message: `modifyData was unsuccessful (${this.dataParams.dataName})`,
534
+ userMessage: this.defaultErrorUserMsg,
535
+ error: error
536
+ });
537
+ }
489
538
  }
490
539
  }
491
540
 
@@ -506,14 +555,18 @@ export class DynamoNTS_DataService<T extends Dynamo_Metadata> {
506
555
 
507
556
  await this.dataDBService.deleteDataById(this.data._id);
508
557
  } catch (error) {
509
- throw new Dynamo_Error({
510
- status: 417,
511
- errorCode: 'NTS-DS0-DD0',
512
- addECToUserMsg: true,
513
- message: `deleteData was unsuccessful (${this.dataParams.dataName})`,
514
- userMessage: this.defaultErrorUserMsg,
515
- error: error
516
- });
558
+ if (error?.errorCode == 'NTS-DS0-DD1') {
559
+ throw error;
560
+ } else {
561
+ throw new Dynamo_Error({
562
+ status: 417,
563
+ errorCode: 'NTS-DS0-DD0',
564
+ addECToUserMsg: true,
565
+ message: `deleteData was unsuccessful (${this.dataParams.dataName})`,
566
+ userMessage: this.defaultErrorUserMsg,
567
+ error: error
568
+ });
569
+ }
517
570
  }
518
571
  }
519
572
 
@@ -524,8 +577,17 @@ export class DynamoNTS_DataService<T extends Dynamo_Metadata> {
524
577
  try {
525
578
  for (let i = 0; i < this.dataParams.modelParams.length; i++) {
526
579
  // basic required validations
527
- if ((this.dataParams.modelParams[i].required && (this.data[this.dataParams.modelParams[i].key] === null || this.data[this.dataParams.modelParams[i].key] === undefined)) ||
528
- (this.dataParams.modelParams[i].index && (this.data[this.dataParams.modelParams[i].key] === null || this.data[this.dataParams.modelParams[i].key] === undefined))) {
580
+ if ((this.dataParams.modelParams[i].required &&
581
+ (this.data[this.dataParams.modelParams[i].key] === null ||
582
+ this.data[this.dataParams.modelParams[i].key] === undefined
583
+ )
584
+ ) ||
585
+ (this.dataParams.modelParams[i].index &&
586
+ (this.data[this.dataParams.modelParams[i].key] === null ||
587
+ this.data[this.dataParams.modelParams[i].key] === undefined
588
+ )
589
+ )
590
+ ) {
529
591
  throw new Dynamo_Error({
530
592
  status: 422,
531
593
  errorCode: 'NTS-DS0-VD1',
@@ -536,7 +598,9 @@ export class DynamoNTS_DataService<T extends Dynamo_Metadata> {
536
598
  }
537
599
 
538
600
  // specific Date validation
539
- if (this.dataParams.modelParams[i].type === 'Date' && !(new Date(this.data[this.dataParams.modelParams[i].key]) instanceof Date)) {
601
+ if (this.dataParams.modelParams[i].type === 'Date' &&
602
+ !(new Date(this.data[this.dataParams.modelParams[i].key]) instanceof Date)
603
+ ) {
540
604
  throw new Dynamo_Error({
541
605
  status: 422,
542
606
  errorCode: 'NTS-DS0-VD2',
@@ -554,14 +618,18 @@ export class DynamoNTS_DataService<T extends Dynamo_Metadata> {
554
618
  }
555
619
  }
556
620
  } catch (error) {
557
- throw new Dynamo_Error({
558
- status: 422,
559
- errorCode: 'NTS-DS0-VD0',
560
- addECToUserMsg: true,
561
- message: `validateForSave was unsuccessful (${this.dataParams.dataName})`,
562
- userMessage: this.defaultErrorUserMsg,
563
- error: error
564
- });
621
+ if (['NTS-DS0-VD1', 'NTS-DS0-VD2'].includes(error?.errorCode)) {
622
+ throw error;
623
+ } else {
624
+ throw new Dynamo_Error({
625
+ status: 422,
626
+ errorCode: 'NTS-DS0-VD0',
627
+ addECToUserMsg: true,
628
+ message: `validateForSave was unsuccessful (${this.dataParams.dataName})`,
629
+ userMessage: this.defaultErrorUserMsg,
630
+ error: error
631
+ });
632
+ }
565
633
  }
566
634
  }
567
635