@futdevpro/nts-dynamo 1.10.5 → 1.10.7

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 (79) hide show
  1. package/.github/workflows/main.yml +1 -2
  2. package/build/_collections/archive.util.d.ts +1 -1
  3. package/build/_collections/archive.util.js +2 -2
  4. package/build/_collections/archive.util.js.map +1 -1
  5. package/build/_collections/archive.util.spec.js +3 -3
  6. package/build/_collections/archive.util.spec.js.map +1 -1
  7. package/build/_models/control-models/api-call-params.control-model.d.ts +3 -30
  8. package/build/_models/control-models/api-call-params.control-model.d.ts.map +1 -1
  9. package/build/_models/control-models/api-call-params.control-model.js +26 -13
  10. package/build/_models/control-models/api-call-params.control-model.js.map +1 -1
  11. package/build/_models/control-models/api-call-params.control-model.spec.js +6 -6
  12. package/build/_models/control-models/app-params.control-model.d.ts +1 -1
  13. package/build/_models/control-models/app-params.control-model.d.ts.map +1 -1
  14. package/build/_models/control-models/app-params.control-model.js.map +1 -1
  15. package/build/_models/control-models/endpoint-params.control-model.d.ts +2 -5
  16. package/build/_models/control-models/endpoint-params.control-model.d.ts.map +1 -1
  17. package/build/_models/control-models/endpoint-params.control-model.js +13 -12
  18. package/build/_models/control-models/endpoint-params.control-model.js.map +1 -1
  19. package/build/_modules/socket/_models/socket-presence.control-model.d.ts.map +1 -1
  20. package/build/_modules/socket/_models/socket-presence.control-model.js +3 -1
  21. package/build/_modules/socket/_models/socket-presence.control-model.js.map +1 -1
  22. package/build/_modules/socket/_services/socket-server.service.d.ts.map +1 -1
  23. package/build/_modules/socket/_services/socket-server.service.js +3 -1
  24. package/build/_modules/socket/_services/socket-server.service.js.map +1 -1
  25. package/build/_modules/socket/app-extended.server.d.ts.map +1 -1
  26. package/build/_modules/socket/app-extended.server.js +3 -1
  27. package/build/_modules/socket/app-extended.server.js.map +1 -1
  28. package/build/_services/base/data.service.d.ts +4 -3
  29. package/build/_services/base/data.service.d.ts.map +1 -1
  30. package/build/_services/base/data.service.js +374 -76
  31. package/build/_services/base/data.service.js.map +1 -1
  32. package/build/_services/base/db.service.d.ts.map +1 -1
  33. package/build/_services/base/db.service.js +3 -1
  34. package/build/_services/base/db.service.js.map +1 -1
  35. package/build/_services/base/singleton.service.d.ts.map +1 -1
  36. package/build/_services/base/singleton.service.js +1 -0
  37. package/build/_services/base/singleton.service.js.map +1 -1
  38. package/build/_services/core/api.service.d.ts +1 -1
  39. package/build/_services/core/api.service.d.ts.map +1 -1
  40. package/build/_services/core/api.service.js +19 -7
  41. package/build/_services/core/api.service.js.map +1 -1
  42. package/build/_services/core/api.service.spec.js +4 -3
  43. package/build/_services/core/api.service.spec.js.map +1 -1
  44. package/build/_services/core/auth.service.d.ts +1 -0
  45. package/build/_services/core/auth.service.d.ts.map +1 -1
  46. package/build/_services/core/auth.service.js.map +1 -1
  47. package/build/_services/core/email.service.d.ts.map +1 -1
  48. package/build/_services/core/email.service.js +4 -1
  49. package/build/_services/core/email.service.js.map +1 -1
  50. package/build/_services/core/global.service.d.ts.map +1 -1
  51. package/build/_services/core/global.service.js +1 -0
  52. package/build/_services/core/global.service.js.map +1 -1
  53. package/build/_services/route/routing-module.service.d.ts.map +1 -1
  54. package/build/_services/route/routing-module.service.js +3 -1
  55. package/build/_services/route/routing-module.service.js.map +1 -1
  56. package/build/_services/server/app.server.d.ts.map +1 -1
  57. package/build/_services/server/app.server.js +3 -1
  58. package/build/_services/server/app.server.js.map +1 -1
  59. package/nodemon.json +1 -1
  60. package/package.json +5 -4
  61. package/src/_collections/archive.util.spec.ts +3 -4
  62. package/src/_collections/archive.util.ts +2 -2
  63. package/src/_models/control-models/api-call-params.control-model.spec.ts +6 -6
  64. package/src/_models/control-models/api-call-params.control-model.ts +30 -43
  65. package/src/_models/control-models/app-params.control-model.ts +1 -1
  66. package/src/_models/control-models/endpoint-params.control-model.ts +19 -13
  67. package/src/_modules/socket/_models/socket-presence.control-model.ts +5 -3
  68. package/src/_modules/socket/_services/socket-server.service.ts +3 -1
  69. package/src/_modules/socket/app-extended.server.ts +3 -1
  70. package/src/_services/base/data.service.ts +512 -119
  71. package/src/_services/base/db.service.ts +3 -1
  72. package/src/_services/base/singleton.service.ts +1 -0
  73. package/src/_services/core/api.service.spec.ts +3 -3
  74. package/src/_services/core/api.service.ts +24 -8
  75. package/src/_services/core/auth.service.ts +1 -0
  76. package/src/_services/core/email.service.ts +4 -1
  77. package/src/_services/core/global.service.ts +1 -0
  78. package/src/_services/route/routing-module.service.ts +3 -1
  79. package/src/_services/server/app.server.ts +3 -1
@@ -991,7 +991,9 @@ export class DyNTS_DBService<T extends DyFM_Metadata> {
991
991
  ): DyFM_Error_Settings {
992
992
  return {
993
993
  status: (error as DyFM_Error)?.___status ?? 500,
994
- message: (error as Error)?.message ?? `${fnName} was UNSUCCESSFUL (NTS-DB)`,
994
+ message: (error as Error)?.message ??
995
+ (error as DyFM_Error)?._message ??
996
+ `${fnName} was UNSUCCESSFUL (NTS-DB)`,
995
997
  addECToUserMsg: !(error as DyFM_Error)?.__userMessage,
996
998
  userMessage: (error as DyFM_Error)?.__userMessage ?? this.defaultErrorUserMsg,
997
999
  issuer: issuer,
@@ -20,6 +20,7 @@ export class DyNTS_SingletonService extends DyNTS_SingletonServiceBase {
20
20
  return {
21
21
  status: (error as DyFM_Error)?.___status ?? 500,
22
22
  message: (error as Error)?.message ??
23
+ (error as DyFM_Error)?._message ??
23
24
  `${fnName} was UNSUCCESSFUL (${DyNTS_global_settings.systemShortCodeName})`,
24
25
  addECToUserMsg: !(error as DyFM_Error)?.__userMessage,
25
26
  userMessage: (error as DyFM_Error)?.__userMessage ?? this.defaultErrorUserMsg,
@@ -11,9 +11,9 @@ describe('DyNTS_ApiService', () => {
11
11
  let inputParams: DyNTS_ApiCallInput_Params;
12
12
 
13
13
  beforeEach(() => {
14
- callParams = {
14
+ callParams = new DyNTS_ApiCall_Params({
15
15
  baseUrl: 'http://example.com',
16
- endPoint: '/api/test',
16
+ endpoint: '/api/test',
17
17
  type: DyFM_HttpCallType.get,
18
18
  httpOptions: {
19
19
  headers: {},
@@ -21,7 +21,7 @@ describe('DyNTS_ApiService', () => {
21
21
  },
22
22
  name: 'Test API Call',
23
23
  getFullResponse: false,
24
- };
24
+ });
25
25
 
26
26
  inputParams = {
27
27
  pathParams: { id: '123' },
@@ -30,7 +30,7 @@ export interface DyNTS_ApiCallInput_Params<T_Body = any> {
30
30
  */
31
31
  export class DyNTS_ApiService {
32
32
 
33
- static defaultErrorUserMsg =
33
+ static readonly defaultErrorUserMsg =
34
34
  `We encountered a BackEnd API Error, ` +
35
35
  `\nplease contact the responsible development team.\n` +
36
36
  `\n(Internal BE to BE error)`;
@@ -56,9 +56,23 @@ export class DyNTS_ApiService {
56
56
  ): Promise<T_Response /* | Axios.AxiosResponse */> {
57
57
  try {
58
58
  let a: T_Response;
59
- let url: string = callParams.baseUrl + callParams.endPoint;
59
+ let url: string = callParams.baseUrl + callParams.endpoint;
60
60
  const axios = Axios.default.create();
61
61
 
62
+ if (callParams.pathParamKeys.length) {
63
+ callParams.pathParamKeys.forEach(key => {
64
+ if (!inputParams?.pathParams?.[key]) {
65
+ throw new DyFM_Error({
66
+ ...this._getDefaultErrorSettings(
67
+ 'startApiCall',
68
+ new Error(`missing pathParam: "${key}"`)
69
+ ),
70
+ errorCode: 'NTS-API-SAC1',
71
+ });
72
+ }
73
+ });
74
+ }
75
+
62
76
  if (callParams?.httpOptions?.headers) {
63
77
  this.setupHeaders(callParams, axios);
64
78
  }
@@ -169,7 +183,7 @@ export class DyNTS_ApiService {
169
183
  ): void {
170
184
  DyFM_Log.error(
171
185
  `\n---> API ERROR: '${callParams?.name}' failed...` +
172
- `\n${callParams?.baseUrl}${callParams?.endPoint}`
186
+ `\n${callParams?.baseUrl}${callParams?.endpoint}`
173
187
  );
174
188
 
175
189
  if (DyNTS_global_settings.log_settings.detailedErrors) {
@@ -189,7 +203,7 @@ export class DyNTS_ApiService {
189
203
  error.response.data
190
204
  ),
191
205
 
192
- errorCode: 'NTS-API-SAC1',
206
+ errorCode: 'NTS-API-HE1',
193
207
  message: 'API call failed on the other end! error response found...',
194
208
  additionalContent: {
195
209
  callParams,
@@ -207,7 +221,7 @@ export class DyNTS_ApiService {
207
221
  ),
208
222
 
209
223
  status: 404,
210
- errorCode: 'NTS-API-SAC2',
224
+ errorCode: 'NTS-API-HE2',
211
225
  message: 'DNS error; address cannot be resolved!',
212
226
  additionalContent: {
213
227
  callParams,
@@ -225,7 +239,7 @@ export class DyNTS_ApiService {
225
239
  ),
226
240
 
227
241
  status: 404,
228
- errorCode: 'NTS-API-SAC3',
242
+ errorCode: 'NTS-API-HE3',
229
243
  message: `Can't connect to the endpoint!`,
230
244
  additionalContent: {
231
245
  callParams,
@@ -242,7 +256,7 @@ export class DyNTS_ApiService {
242
256
  ),
243
257
 
244
258
  status: +error.message.substring(error.message.length - 4, 3),
245
- errorCode: 'NTS-API-SAC4',
259
+ errorCode: 'NTS-API-HE4',
246
260
  additionalContent: {
247
261
  callParams,
248
262
  inputParams,
@@ -448,7 +462,9 @@ export class DyNTS_ApiService {
448
462
  ): DyFM_Error_Settings {
449
463
  return {
450
464
  status: (error as DyFM_Error)?.___status ?? 500,
451
- message: (error as Error)?.message ?? `${fnName} was UNSUCCESSFUL (NTS)`,
465
+ message: (error as Error)?.message ??
466
+ (error as DyFM_Error)?._message ??
467
+ `${fnName} was UNSUCCESSFUL (NTS)`,
452
468
  addECToUserMsg: !(error as DyFM_Error)?.__userMessage,
453
469
  userMessage: (error as DyFM_Error)?.__userMessage ?? this.defaultErrorUserMsg,
454
470
  issuerService: `${this?.constructor?.name}-${this?.name}-DyNTS_ApiService`,
@@ -150,6 +150,7 @@ export abstract class DyNTS_AuthService extends DyNTS_SingletonService {
150
150
 
151
151
  /**
152
152
  * The DynamoBE System is using this to get issuer, that will be set on DBServices
153
+ * Don't throw error in this function, since it will be used in every request
153
154
  * @param req
154
155
  *
155
156
  * @example
@@ -679,7 +679,9 @@ export class DyNTS_EmailService /* extends DyNTS_SingletonService */ {
679
679
  ): DyFM_Error_Settings {
680
680
  return {
681
681
  status: (error as DyFM_Error)?.___status ?? 500,
682
- message: (error as Error)?.message ?? `${fnName} was UNSUCCESSFUL (NTS; ${this.serviceName})`,
682
+ message: (error as Error)?.message ??
683
+ (error as DyFM_Error)?._message ??
684
+ `${fnName} was UNSUCCESSFUL (NTS; ${this.serviceName})`,
683
685
  addECToUserMsg: !(error as DyFM_Error)?.__userMessage,
684
686
  userMessage: (error as DyFM_Error)?.__userMessage ?? this.defaultErrorUserMsg,
685
687
  issuer: issuer,
@@ -696,6 +698,7 @@ export class DyNTS_EmailService /* extends DyNTS_SingletonService */ {
696
698
  return {
697
699
  status: (error as DyFM_Error)?.___status ?? 500,
698
700
  message: (error as Error)?.message ??
701
+ (error as DyFM_Error)?._message ??
699
702
  `${fnName} was UNSUCCESSFUL (${DyNTS_global_settings.systemShortCodeName})`,
700
703
  addECToUserMsg: !(error as DyFM_Error)?.__userMessage,
701
704
  userMessage: (error as DyFM_Error)?.__userMessage ?? this.defaultErrorUserMsg,
@@ -396,6 +396,7 @@ export class DyNTS_GlobalService extends DyNTS_SingletonService {
396
396
  return {
397
397
  status: (error as DyFM_Error)?.___status ?? 500,
398
398
  message: (error as Error)?.message ??
399
+ (error as DyFM_Error)?._message ??
399
400
  `${fnName} was UNSUCCESSFUL (${DyNTS_global_settings.systemShortCodeName})`,
400
401
  addECToUserMsg: !(error as DyFM_Error)?.__userMessage,
401
402
  userMessage: (error as DyFM_Error)?.__userMessage ?? this.defaultErrorUserMsg,
@@ -307,7 +307,9 @@ export class DyNTS_RoutingModule {
307
307
  ): DyFM_Error_Settings {
308
308
  return {
309
309
  status: 500,
310
- message: (error as Error)?.message ?? `${fnName} was UNSUCCESSFUL (NTS)`,
310
+ message: (error as Error)?.message ??
311
+ (error as DyFM_Error)?._message ??
312
+ `${fnName} was UNSUCCESSFUL (NTS)`,
311
313
  issuerService: this.constructor?.name,
312
314
  userMessage: (error as DyFM_Error)?.__userMessage ?? this.defaultErrorUserMsg,
313
315
  addECToUserMsg: true,
@@ -1234,7 +1234,9 @@ export abstract class DyNTS_App extends DyNTS_SingletonService {
1234
1234
  ): DyFM_Error_Settings {
1235
1235
  return {
1236
1236
  status: (error as DyFM_Error)?.___status ?? 500,
1237
- message: (error as Error)?.message ?? `${fnName} was UNSUCCESSFUL (NTS)`,
1237
+ message: (error as Error)?.message ??
1238
+ (error as DyFM_Error)?._message ??
1239
+ `${fnName} was UNSUCCESSFUL (NTS)`,
1238
1240
  userMessage: (error as DyFM_Error)?.__userMessage ?? this.defaultErrorUserMsg,
1239
1241
  addECToUserMsg: !(error as DyFM_Error)?.__userMessage,
1240
1242
  issuerService: `${this?.constructor?.name}-DyNTS_App`,