@futdevpro/nts-dynamo 1.10.9 → 1.10.11

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 (95) hide show
  1. package/build/_collections/global-settings.const.d.ts.map +1 -1
  2. package/build/_collections/global-settings.const.js +1 -0
  3. package/build/_collections/global-settings.const.js.map +1 -1
  4. package/build/_models/control-models/api-call-params.control-model.d.ts.map +1 -1
  5. package/build/_models/control-models/api-call-params.control-model.js +1 -2
  6. package/build/_models/control-models/api-call-params.control-model.js.map +1 -1
  7. package/build/_models/control-models/app-params.control-model.d.ts.map +1 -1
  8. package/build/_models/control-models/app-params.control-model.js +16 -0
  9. package/build/_models/control-models/app-params.control-model.js.map +1 -1
  10. package/build/_models/control-models/endpoint-params.control-model.d.ts.map +1 -1
  11. package/build/_models/control-models/endpoint-params.control-model.js +1 -2
  12. package/build/_models/control-models/endpoint-params.control-model.js.map +1 -1
  13. package/build/_models/interfaces/global-settings.interface.d.ts +4 -0
  14. package/build/_models/interfaces/global-settings.interface.d.ts.map +1 -1
  15. package/build/_modules/mock/data-model.mock.spec.js +2 -2
  16. package/build/_modules/mock/data-model.mock.spec.js.map +1 -1
  17. package/build/_modules/server/error/error.controller.d.ts +13 -0
  18. package/build/_modules/server/error/error.controller.d.ts.map +1 -0
  19. package/build/_modules/server/error/error.controller.js +155 -0
  20. package/build/_modules/server/error/error.controller.js.map +1 -0
  21. package/build/_modules/server/error/error.data-service.d.ts +13 -0
  22. package/build/_modules/server/error/error.data-service.d.ts.map +1 -0
  23. package/build/_modules/server/error/error.data-service.js +249 -0
  24. package/build/_modules/server/error/error.data-service.js.map +1 -0
  25. package/build/_modules/server/index.d.ts +5 -0
  26. package/build/_modules/server/index.d.ts.map +1 -0
  27. package/build/_modules/server/index.js +10 -0
  28. package/build/_modules/server/index.js.map +1 -0
  29. package/build/_modules/server/server-status/server-status.control-service.d.ts +24 -0
  30. package/build/_modules/server/server-status/server-status.control-service.d.ts.map +1 -0
  31. package/build/_modules/server/server-status/server-status.control-service.js +102 -0
  32. package/build/_modules/server/server-status/server-status.control-service.js.map +1 -0
  33. package/build/_modules/server/server-status/server-status.controller.d.ts +9 -0
  34. package/build/_modules/server/server-status/server-status.controller.d.ts.map +1 -0
  35. package/build/_modules/server/server-status/server-status.controller.js +61 -0
  36. package/build/_modules/server/server-status/server-status.controller.js.map +1 -0
  37. package/build/_modules/socket/_services/socket-server.service.d.ts.map +1 -1
  38. package/build/_modules/socket/_services/socket-server.service.js.map +1 -1
  39. package/build/_modules/socket/index.d.ts +1 -0
  40. package/build/_modules/socket/index.d.ts.map +1 -1
  41. package/build/_modules/socket/index.js +1 -0
  42. package/build/_modules/socket/index.js.map +1 -1
  43. package/build/_services/base/data.service.d.ts +18 -10
  44. package/build/_services/base/data.service.d.ts.map +1 -1
  45. package/build/_services/base/data.service.js +151 -106
  46. package/build/_services/base/data.service.js.map +1 -1
  47. package/build/_services/base/db.service.d.ts +21 -10
  48. package/build/_services/base/db.service.d.ts.map +1 -1
  49. package/build/_services/base/db.service.js +79 -47
  50. package/build/_services/base/db.service.js.map +1 -1
  51. package/build/_services/core/api.service.d.ts.map +1 -1
  52. package/build/_services/core/api.service.js +18 -2
  53. package/build/_services/core/api.service.js.map +1 -1
  54. package/build/_services/core/global.service.d.ts.map +1 -1
  55. package/build/_services/core/global.service.js +8 -2
  56. package/build/_services/core/global.service.js.map +1 -1
  57. package/build/_services/server/app.server.d.ts.map +1 -1
  58. package/build/_services/server/app.server.js +13 -1
  59. package/build/_services/server/app.server.js.map +1 -1
  60. package/build/index.d.ts +0 -1
  61. package/build/index.d.ts.map +1 -1
  62. package/build/index.js +0 -1
  63. package/build/index.js.map +1 -1
  64. package/nodemon.json +2 -0
  65. package/package.json +11 -4
  66. package/src/_collections/global-settings.const.ts +1 -0
  67. package/src/_models/control-models/api-call-params.control-model.ts +2 -3
  68. package/src/_models/control-models/app-params.control-model.ts +25 -0
  69. package/src/_models/control-models/endpoint-params.control-model.ts +3 -3
  70. package/src/_models/interfaces/global-settings.interface.ts +5 -0
  71. package/src/_modules/mock/data-model.mock.spec.ts +2 -2
  72. package/src/_modules/server/error/error.controller.ts +210 -0
  73. package/src/_modules/server/error/error.data-service.ts +337 -0
  74. package/src/_modules/server/index.ts +11 -0
  75. package/src/_modules/server/server-status/server-status.control-service.ts +217 -0
  76. package/src/_modules/server/server-status/server-status.controller.ts +90 -0
  77. package/src/_modules/socket/_services/socket-server.service.ts +0 -1
  78. package/src/_modules/socket/index.ts +1 -1
  79. package/src/_services/base/data.service.ts +233 -164
  80. package/src/_services/base/db.service.ts +105 -60
  81. package/src/_services/core/api.service.ts +23 -2
  82. package/src/_services/core/global.service.ts +12 -5
  83. package/src/_services/server/app.server.ts +17 -4
  84. package/src/index.ts +0 -1
  85. package/tsconfig.json +1 -1
  86. package/build/_collections/stack.util.d.ts +0 -7
  87. package/build/_collections/stack.util.d.ts.map +0 -1
  88. package/build/_collections/stack.util.js +0 -31
  89. package/build/_collections/stack.util.js.map +0 -1
  90. package/build/_collections/stack.util.test.d.ts +0 -2
  91. package/build/_collections/stack.util.test.d.ts.map +0 -1
  92. package/build/_collections/stack.util.test.js +0 -96
  93. package/build/_collections/stack.util.test.js.map +0 -1
  94. package/src/_collections/stack.util.test.ts +0 -111
  95. package/src/_collections/stack.util.ts +0 -33
@@ -5,4 +5,5 @@ export * from './_models/socket-server-service-params.control-model';
5
5
  export * from './_services/socket-client.service';
6
6
  export * from './_services/socket-server.service';
7
7
  export * from './app-extended.server';
8
+ export * from '@futdevpro/fsm-dynamo/socket';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/_modules/socket/index.ts"],"names":[],"mappings":"AAIA,cAAc,+BAA+B,CAAC;AAI9C,cAAc,sDAAsD,CAAC;AACrE,cAAc,yCAAyC,CAAC;AACxD,cAAc,sDAAsD,CAAC;AAIrE,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAClD,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/_modules/socket/index.ts"],"names":[],"mappings":"AAIA,cAAc,+BAA+B,CAAC;AAI9C,cAAc,sDAAsD,CAAC;AACrE,cAAc,yCAAyC,CAAC;AACxD,cAAc,sDAAsD,CAAC;AAIrE,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAClD,cAAc,uBAAuB,CAAC;AAEtC,cAAc,8BAA8B,CAAC"}
@@ -11,4 +11,5 @@ tslib_1.__exportStar(require("./_models/socket-server-service-params.control-mod
11
11
  tslib_1.__exportStar(require("./_services/socket-client.service"), exports);
12
12
  tslib_1.__exportStar(require("./_services/socket-server.service"), exports);
13
13
  tslib_1.__exportStar(require("./app-extended.server"), exports);
14
+ tslib_1.__exportStar(require("@futdevpro/fsm-dynamo/socket"), exports);
14
15
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/_modules/socket/index.ts"],"names":[],"mappings":";;;AAGA,QAAQ;AACR,wEAA8C;AAG9C,SAAS;AACT,+FAAqE;AACrE,kFAAwD;AACxD,+FAAqE;AAGrE,WAAW;AACX,4EAAkD;AAClD,4EAAkD;AAClD,gEAAsC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/_modules/socket/index.ts"],"names":[],"mappings":";;;AAGA,QAAQ;AACR,wEAA8C;AAG9C,SAAS;AACT,+FAAqE;AACrE,kFAAwD;AACxD,+FAAqE;AAGrE,WAAW;AACX,4EAAkD;AAClD,4EAAkD;AAClD,gEAAsC;AAEtC,uEAA6C"}
@@ -28,10 +28,12 @@ export declare class DyNTS_DataService<T extends DyFM_Metadata> {
28
28
  data: T;
29
29
  dataList: T[];
30
30
  issuer: string;
31
- depKey?: string;
32
- depDBServiceKey?: string;
33
- depKeyIsUnique?: boolean;
34
- depKeyIsRequired?: boolean;
31
+ readonly depSettings: {
32
+ key: string;
33
+ dbServiceKey: string;
34
+ keyIsUnique: boolean;
35
+ keyIsRequired: boolean;
36
+ }[];
35
37
  private depDataDBService;
36
38
  dataParams: DyFM_DataModel_Params<T>;
37
39
  readonly defaultErrorUserMsg: string;
@@ -75,18 +77,24 @@ export declare class DyNTS_DataService<T extends DyFM_Metadata> {
75
77
  */
76
78
  getDataById(id?: string, dontSetToService?: boolean, skipArchiveLoad?: boolean): Promise<T>;
77
79
  getDataByIds(ids: string[], dontSetToService?: boolean): Promise<T[]>;
80
+ getDataListByIds(ids: string[], dontSetToService?: boolean): Promise<T[]>;
81
+ private getDependencyIdsFilter;
78
82
  /**
79
83
  * returns data from database by dependencyId to the service
80
84
  * (using id from service.data, if not provided)
81
- * @param dependencyId
85
+ * @param dependencyIds
82
86
  */
83
- getDataByDependencyId(dependencyId?: string, dontSetToService?: boolean): Promise<T>;
84
- getDataListByDependencyIds(dependencyIds: string[], dontSetToService?: boolean): Promise<T[]>;
87
+ getDataByDependencyId(dependencyIds?: string | {
88
+ [key: string]: string;
89
+ }, dontSetToService?: boolean): Promise<T>;
90
+ getDataListByDependencyIds(dependencyIds: string[], dontSetToService?: boolean, dependencyKey?: string): Promise<T[]>;
85
91
  /**
86
92
  * returns dataList from database by dependencyId to the service
87
- * @param dependencyId
93
+ * @param dependencyIds
88
94
  */
89
- getDataListByDependencyId(dependencyId?: string, dontSetToService?: boolean): Promise<T[]>;
95
+ getDataListByDependencyId(dependencyIds?: string | {
96
+ [key: string]: string;
97
+ }, dontSetToService?: boolean): Promise<T[]>;
90
98
  /**
91
99
  *
92
100
  * // findOne desc:
@@ -246,7 +254,7 @@ export declare class DyNTS_DataService<T extends DyFM_Metadata> {
246
254
  *
247
255
  * @returns
248
256
  */
249
- getDependencyDataDBService(): DyNTS_DBService<any>;
257
+ getDependencyDataDBService(dBServiceKey: string): DyNTS_DBService<any>;
250
258
  private _getDefaultErrorSettings;
251
259
  protected getDefaultErrorSettings(fnName: string, error: DyFM_AnyError): DyFM_Error_Settings;
252
260
  }
@@ -1 +1 @@
1
- {"version":3,"file":"data.service.d.ts","sourceRoot":"","sources":["../../../src/_services/base/data.service.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,EAEb,uBAAuB,EACvB,gBAAgB,EAChB,qBAAqB,EAErB,aAAa,EAGb,YAAY,EAEZ,mBAAmB,EAGnB,aAAa,EAEb,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAI/C;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,iBAAiB,CAAC,CAAC,SAAS,aAAa;IAEpD,WAAW,EAAE,MAAM,CAAC;IAEpB,aAAa,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IAClC,sBAAsB,EAAE,OAAO,CAAC;IAEhC,IAAI,EAAE,CAAC,CAAC;IACR,QAAQ,EAAE,CAAC,EAAE,CAAM;IACnB,MAAM,EAAE,MAAM,CAAC;IAEf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,OAAO,CAAC,gBAAgB,CAAuB;IAE/C,UAAU,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAErC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAEmB;IACvD,QAAQ,CAAC,6BAA6B,EAAE,MAAM,CAES;;IAGrD;;OAEG;IACH,IAAI,EAAE,CAAC;IACP;;OAEG;IAEH,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAC/B;;OAEG;IACH,MAAM,EAAE,MAAM;IAiChB,qBAAqB,IAAI,wBAAwB,CAAC,CAAC,CAAC;IAWpD;;OAEG;IACG,MAAM,CAAC,gBAAgB,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IA0BtD;;;;;;;;;;;;;;;;;;OAkBG;IACG,WAAW,CACf,EAAE,CAAC,EAAE,MAAM,EACX,gBAAgB,CAAC,EAAE,OAAO,EAC1B,eAAe,CAAC,EAAE,OAAO,GACxB,OAAO,CAAC,CAAC,CAAC;IA4CP,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,gBAAgB,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAiC3E;;;;OAIG;IACG,qBAAqB,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAsEpF,0BAA0B,CAC9B,aAAa,EAAE,MAAM,EAAE,EACvB,gBAAgB,CAAC,EAAE,OAAO,GACzB,OAAO,CAAC,CAAC,EAAE,CAAC;IAsDf;;;OAGG;IACG,yBAAyB,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAmEhG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACG,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IA0BlF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACG,YAAY,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IA0BxF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuDG;IACG,UAAU,CACd,GAAG,EAAE;QAAE,QAAQ,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;QAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,CAAA;KAAE,EAC/D,kBAAkB,CAAC,EAAE,OAAO,GAC3B,OAAO,CAAC,IAAI,CAAC;IAwDhB,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC;IAmBjC;;;;;;;;;;OAUG;IACG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,gBAAgB,CAAC,EAAE,OAAO,EAAE,kBAAkB,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAwK9F;;;OAGG;IACG,UAAU,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IA8D1D,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IA4CtD,kBAAkB,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsD9C;;OAEG;IACG,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAmFxC,UAAU,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAqBtF,qBAAqB,CACzB,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAC1B,QAAQ,CAAC,EAAE,CAAC,EAAE,GACb,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IA+HhC,SAAS,CAAC,uBAAuB,CAAC,CAAC,EAAE,CAAC,EACpC,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,EACjE,YAAY,CAAC,EAAE,uBAAuB,GACrC,CAAC,YAAY,KAAA,KAAK,OAAO;IA6P5B,OAAO,CAAC,cAAc;IAoCtB,SAAS,CAAC,qBAAqB,CAAC,CAAC,EAAE,YAAY,EAAE,YAAY,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM;IAqMtF;;OAEG;IACH,OAAO,CAAC,6BAA6B;IA2CrC;;;OAGG;IACH,0BAA0B,IAAI,eAAe,CAAC,GAAG,CAAC;IAyBlD,OAAO,CAAC,wBAAwB;IAiBhC,SAAS,CAAC,uBAAuB,CAC/B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,aAAa,GACnB,mBAAmB;CAavB"}
1
+ {"version":3,"file":"data.service.d.ts","sourceRoot":"","sources":["../../../src/_services/base/data.service.ts"],"names":[],"mappings":"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"}
@@ -32,10 +32,11 @@ class DyNTS_DataService {
32
32
  data;
33
33
  dataList = [];
34
34
  issuer;
35
- depKey;
36
- depDBServiceKey;
37
- depKeyIsUnique;
38
- depKeyIsRequired;
35
+ depSettings = [];
36
+ /* depKeys: string[] = [];
37
+ depDBServiceKeys: string[] = [];
38
+ depKeyIsUnique: boolean[] = [];
39
+ depKeyIsRequired: boolean[] = []; */
39
40
  depDataDBService;
40
41
  dataParams;
41
42
  defaultErrorUserMsg = `We encountered an unhandled Data Service Error, ` +
@@ -193,37 +194,72 @@ class DyNTS_DataService {
193
194
  });
194
195
  }
195
196
  }
196
- /**
197
- * returns data from database by dependencyId to the service
198
- * (using id from service.data, if not provided)
199
- * @param dependencyId
200
- */
201
- async getDataByDependencyId(dependencyId, dontSetToService) {
197
+ async getDataListByIds(ids, dontSetToService) {
202
198
  try {
203
- if (!this.depKey) {
199
+ const dataList = await this.dataDBService.getDataListByIds(ids);
200
+ if (!dontSetToService) {
201
+ this.dataList = dataList;
202
+ }
203
+ return dataList;
204
+ }
205
+ catch (error) {
206
+ throw new fsm_dynamo_1.DyFM_Error({
207
+ ...this._getDefaultErrorSettings('getDataListByIds', error),
208
+ errorCode: 'NTS-DS0-GIL0',
209
+ });
210
+ }
211
+ }
212
+ getDependencyIdsFilter(dependencyIds) {
213
+ if (!this.depSettings.length) {
214
+ throw new fsm_dynamo_1.DyFM_Error({
215
+ ...this._getDefaultErrorSettings('getDataByDependencyId', new Error(`getDataByDependencyId failed, dependencyKey is missing from service! ` +
216
+ `(${this.dataParams.dataName})`)),
217
+ errorCode: 'NTS-DS0-GD1',
218
+ });
219
+ }
220
+ if (typeof dependencyIds === 'string') {
221
+ if (this.depSettings.length === 1) {
222
+ dependencyIds = { [this.depSettings[0].key]: dependencyIds };
223
+ }
224
+ else if (this.depSettings.length > 1) {
204
225
  throw new fsm_dynamo_1.DyFM_Error({
205
- ...this._getDefaultErrorSettings('getDataByDependencyId', new Error(`getDataByDependencyId failed, dependencyKey is missing from service! ` +
226
+ ...this._getDefaultErrorSettings('getDataByDependencyId', new Error(`getDataByDependencyId failed, there are multiple dependencyKeys, ` +
227
+ `so you need to provide a map of dependencyKeys! ` +
206
228
  `(${this.dataParams.dataName})`)),
207
- errorCode: 'NTS-DS0-GD1',
229
+ errorCode: 'NTS-DS0-GD2',
208
230
  });
209
231
  }
210
- if (!dependencyId) {
211
- dependencyId = this.data?.[this.depKey];
212
- if (!dependencyId) {
213
- throw new fsm_dynamo_1.DyFM_Error({
214
- ...this._getDefaultErrorSettings('getDataByDependencyId', new Error(`getDataByDependencyId failed, "${this.depKey}" is missing! ` +
215
- `(${this.dataParams.dataName})`)),
216
- errorCode: 'NTS-DS0-GD2',
217
- additionalContent: {
218
- data: this.data,
219
- },
220
- });
232
+ }
233
+ else if (!dependencyIds) {
234
+ dependencyIds = {};
235
+ this.depSettings.forEach((depSetting) => {
236
+ if (this.data?.[depSetting.key]) {
237
+ dependencyIds[depSetting.key] = this.data?.[depSetting.key];
221
238
  }
222
- }
223
- const dataExists = await this.dataDBService.getDataByDependencyId(dependencyId).catch((error) => {
239
+ });
240
+ }
241
+ if (!dependencyIds ||
242
+ this.depSettings.every((depSetting) => !dependencyIds[depSetting.key])) {
243
+ throw new fsm_dynamo_1.DyFM_Error({
244
+ ...this._getDefaultErrorSettings('getDataByDependencyId', new Error(`getDataByDependencyId failed, dependencyId is missing! ` +
245
+ `(${this.dataParams.dataName})`)),
246
+ errorCode: 'NTS-DS0-GD3',
247
+ });
248
+ }
249
+ return dependencyIds;
250
+ }
251
+ /**
252
+ * returns data from database by dependencyId to the service
253
+ * (using id from service.data, if not provided)
254
+ * @param dependencyIds
255
+ */
256
+ async getDataByDependencyId(dependencyIds, dontSetToService) {
257
+ try {
258
+ const dependencyIdsFilter = this.getDependencyIdsFilter(dependencyIds);
259
+ const dataExists = await this.dataDBService.getDataByDependencyId(dependencyIdsFilter).catch((error) => {
224
260
  if (error?.errorCode === 'NTS-DBS-GD2') {
225
261
  fsm_dynamo_1.DyFM_Log.warn(`getDataByDependencyId failed; "${this.dataParams.dataName}" ` +
226
- `(${this.depKey}: ${dependencyId ?? this.data[this.depKey]}) didn't found any.`);
262
+ `(${JSON.stringify(dependencyIds)}) didn't found any.`);
227
263
  return null;
228
264
  }
229
265
  else {
@@ -247,26 +283,39 @@ class DyNTS_DataService {
247
283
  }
248
284
  }
249
285
  }
250
- async getDataListByDependencyIds(dependencyIds, dontSetToService) {
286
+ async getDataListByDependencyIds(dependencyIds, dontSetToService, dependencyKey) {
251
287
  try {
252
- if (!this.depKey) {
288
+ if (!this.depSettings.length) {
253
289
  throw new fsm_dynamo_1.DyFM_Error({
254
290
  ...this._getDefaultErrorSettings('getDataListByDependencyIds', new Error(`getDataListByDependencyIds failed, dependencyKey is missing from service! ` +
255
291
  `(${this.dataParams.dataName})`)),
256
292
  errorCode: 'NTS-DS0-GDS1',
257
293
  });
258
294
  }
295
+ if (!dependencyKey) {
296
+ if (this.depSettings.length === 1) {
297
+ dependencyKey = this.depSettings[0].key;
298
+ }
299
+ else {
300
+ throw new fsm_dynamo_1.DyFM_Error({
301
+ ...this._getDefaultErrorSettings('getDataListByDependencyIds', new Error(`getDataListByDependencyIds failed, dependencyKey is missing! ` +
302
+ `since there are multiple dependencyKeys, you need to provide one! ` +
303
+ `(${this.dataParams.dataName})`)),
304
+ errorCode: 'NTS-DS0-GDS2',
305
+ });
306
+ }
307
+ }
259
308
  if (!dependencyIds) {
260
309
  throw new fsm_dynamo_1.DyFM_Error({
261
310
  ...this._getDefaultErrorSettings('getDataListByDependencyIds', new Error(`getDataListByDependencyIds failed, dependencyIds is missing! ` +
262
311
  `(${this.dataParams.dataName})`)),
263
- errorCode: 'NTS-DS0-GDS2',
312
+ errorCode: 'NTS-DS0-GDS3',
264
313
  });
265
314
  }
266
315
  if (dependencyIds.length === 0) {
267
316
  return [];
268
317
  }
269
- const dataList = await this.dataDBService.getDataListByDependencyIds(dependencyIds);
318
+ const dataList = await this.dataDBService.getDataListByDependencyIds(dependencyKey, dependencyIds);
270
319
  if (!dontSetToService) {
271
320
  this.dataList = dataList;
272
321
  }
@@ -286,31 +335,15 @@ class DyNTS_DataService {
286
335
  }
287
336
  /**
288
337
  * returns dataList from database by dependencyId to the service
289
- * @param dependencyId
338
+ * @param dependencyIds
290
339
  */
291
- async getDataListByDependencyId(dependencyId, dontSetToService) {
340
+ async getDataListByDependencyId(dependencyIds, dontSetToService) {
292
341
  try {
293
- if (!this.depKey) {
294
- throw new fsm_dynamo_1.DyFM_Error({
295
- ...this._getDefaultErrorSettings('getDataListByDependencyId', new Error(`getDataListByDependencyId failed, dependencyKey is missing from service! ` +
296
- `(${this.dataParams.dataName})`)),
297
- errorCode: 'NTS-DS0-GLD1',
298
- });
299
- }
300
- if (!dependencyId && !this.data[this.depKey]) {
301
- throw new fsm_dynamo_1.DyFM_Error({
302
- ...this._getDefaultErrorSettings('getDataListByDependencyId', new Error(`getDataListByDependencyId failed, "${this.depKey}" is missing! ` +
303
- `(${this.dataParams.dataName})`)),
304
- errorCode: 'NTS-DS0-GLD2',
305
- additionalContent: {
306
- data: this.data,
307
- },
308
- });
309
- }
310
- const dataListExists = await this.dataDBService.getDataListByDependencyId(dependencyId ?? this.data[this.depKey]).catch((error) => {
342
+ const dependencyIdsFilter = this.getDependencyIdsFilter(dependencyIds);
343
+ const dataListExists = await this.dataDBService.getDataListByDependencyId(dependencyIdsFilter).catch((error) => {
311
344
  if (error?.errorCode === 'NTS-DBS-GLD2') {
312
345
  fsm_dynamo_1.DyFM_Log.warn(`getDataListByDependencyId "${this.dataParams.dataName}" ` +
313
- `(${this.depKey}: "${dependencyId ?? this.data[this.depKey]}") didn't found any.`);
346
+ `(${JSON.stringify(dependencyIdsFilter)}) didn't found any.`);
314
347
  return [];
315
348
  }
316
349
  else {
@@ -504,8 +537,15 @@ class DyNTS_DataService {
504
537
  else if (this.data._id) {
505
538
  await this.dataDBService.updateOne({ _id: this.data._id }, set.update, this.issuer, dontUpdateModified);
506
539
  }
507
- else if (this.depKey && this.data[this.depKey]) {
508
- await this.dataDBService.updateOne({ [this.depKey]: this.data[this.depKey] }, set.update, this.issuer, dontUpdateModified);
540
+ else if (this.depSettings.length &&
541
+ this.depSettings.some((depSetting) => this.data[depSetting.key])) {
542
+ const dependencyIdsFilter = {};
543
+ this.depSettings.forEach((depSetting) => {
544
+ if (this.data[depSetting.key]) {
545
+ dependencyIdsFilter[depSetting.key] = this.data[depSetting.key];
546
+ }
547
+ });
548
+ await this.dataDBService.updateOne(dependencyIdsFilter, set.update, this.issuer, dontUpdateModified);
509
549
  }
510
550
  else {
511
551
  throw new fsm_dynamo_1.DyFM_Error({
@@ -559,10 +599,12 @@ class DyNTS_DataService {
559
599
  data = this.ensureData(data);
560
600
  await this.validateForSave(data);
561
601
  if (!data._id) {
562
- if (this.depKey && !data[this.depKey]) {
602
+ if (this.depSettings.length &&
603
+ this.depSettings.some((depSetting) => !data[depSetting.key])) {
563
604
  throw new fsm_dynamo_1.DyFM_Error({
564
605
  ...this._getDefaultErrorSettings('saveData', new Error(`saveData was unsuccessful: dependency data id missing from data ` +
565
- `(key: ${this.depKey}, ${this.dataParams.dataName})`)),
606
+ `(key: ${this.depSettings.map((depSetting) => depSetting.key).join(', ')}, ` +
607
+ `${this.dataParams.dataName})`)),
566
608
  errorCode: 'NTS-DS0-SD1',
567
609
  additionalContent: {
568
610
  data: data,
@@ -597,42 +639,58 @@ class DyNTS_DataService {
597
639
  }
598
640
  return data;
599
641
  }
600
- if (this.depKey) {
601
- if (!data[this.depKey]) {
642
+ if (this.depSettings.length) {
643
+ if (this.depSettings.some((depSetting) => !data[depSetting.key])) {
602
644
  throw new fsm_dynamo_1.DyFM_Error({
603
645
  ...this._getDefaultErrorSettings('saveData', new Error(`saveData was unsuccessful: dependency data id missing from data ` +
604
- `(key: ${this.depKey}, ${this.dataParams.dataName})`)),
646
+ `(key: ${this.depSettings.map((depSetting) => depSetting.key).join(', ')}, ` +
647
+ `${this.dataParams.dataName})`)),
605
648
  errorCode: 'NTS-DS0-SD3',
606
649
  additionalContent: {
607
650
  data: data,
608
651
  },
609
652
  });
610
653
  }
611
- if (this.depKeyIsUnique) {
612
- dataExists = await this.getDataByDependencyId(data[this.depKey], true);
613
- if (dataExists) {
614
- // if data exists do modify
615
- data = await this.dataDBService.modifyData(data, this.issuer, dontUpdateModified);
616
- if (!dontSetToService) {
617
- this.data = data;
618
- }
619
- return data;
620
- }
621
- else if (this.depKeyIsRequired) {
622
- // if data not exists check that dependency already exists for this
623
- const dependencyExists = await this.getDependencyDataDBService()
624
- .getDataById(data[this.depKey])
625
- .catch();
626
- if (!dependencyExists) {
627
- throw new fsm_dynamo_1.DyFM_Error({
628
- ...this._getDefaultErrorSettings('saveData', new Error(`saveData was unsuccessful: dependency data not exists ` +
629
- `(key: ${this.depKey}, id: "${data[this.depKey]}", ` +
630
- `${this.dataParams.dataName})`)),
631
- errorCode: 'NTS-DS0-SD4',
632
- });
654
+ if (this.depSettings.some((depSetting) => depSetting.keyIsRequired)) {
655
+ await fsm_dynamo_1.DyFM_Array.asyncForEach(this.depSettings, async (depSetting) => {
656
+ if (depSetting.keyIsRequired) {
657
+ if (!data[depSetting.key]) {
658
+ throw new fsm_dynamo_1.DyFM_Error({
659
+ ...this._getDefaultErrorSettings('saveData', new Error(`saveData was unsuccessful: dependency data id missing from data ` +
660
+ `(key: ${depSetting.key}, ${this.dataParams.dataName})`)),
661
+ errorCode: 'NTS-DS0-SD4',
662
+ });
663
+ }
664
+ const dependencyExists = await this.getDependencyDataDBService(depSetting.dbServiceKey)
665
+ .getDataById(data[depSetting.key])
666
+ .catch();
667
+ if (!dependencyExists) {
668
+ throw new fsm_dynamo_1.DyFM_Error({
669
+ ...this._getDefaultErrorSettings('saveData', new Error(`saveData was unsuccessful: dependency data not exists ` +
670
+ `(key: ${depSetting.key}, id: "${data[depSetting.key]}", ` +
671
+ `${this.dataParams.dataName})`)),
672
+ errorCode: 'NTS-DS0-SD4',
673
+ });
674
+ }
633
675
  }
634
- }
676
+ });
635
677
  }
678
+ /* the db is handling the unique key, so no need to check it here
679
+ if (this.depKeyIsUnique) {
680
+ dataExists = await this.getDataByDependencyId(data[this.depKeys], true);
681
+
682
+ if (dataExists) {
683
+ // if data exists do modify
684
+ data = await this.dataDBService.modifyData(data, this.issuer, dontUpdateModified);
685
+
686
+ if (!dontSetToService) {
687
+ this.data = data;
688
+ }
689
+
690
+ return data;
691
+
692
+ }
693
+ } */
636
694
  }
637
695
  // if data not exists create new data
638
696
  data = await this.dataDBService.createData(data, this.issuer);
@@ -1311,36 +1369,23 @@ class DyNTS_DataService {
1311
1369
  * setting up dependency dataHook by DynamoBEDataModelParams
1312
1370
  */
1313
1371
  lookForDependencyDataSettings() {
1314
- const dependencyParam = Object.values(this.dataParams.properties).find((modelParams) => Boolean(modelParams.dependencyDataName));
1315
- if (Object.values(this.dataParams.properties).filter((modelParams) => Boolean(modelParams.dependencyDataName)).length > 1) {
1316
- throw new fsm_dynamo_1.DyFM_Error({
1317
- ...this._getDefaultErrorSettings('lookForDependencyDataSettings', new Error(`Multiple "dependencyDataName" found for this dataModel (${this.dataParams.dataName}) ` +
1318
- `(NTS DataService)` +
1319
- `\nSorry, but this is not supported yet! (Donate to Dynamo to get this feature!)`)),
1320
- errorCode: 'NTS-DS0-LFDD0',
1321
- });
1322
- }
1323
- if (dependencyParam) {
1324
- this.depKey = dependencyParam.key;
1325
- if (dependencyParam.dependencyDataName) {
1326
- this.depDBServiceKey = dependencyParam.dependencyDataName;
1327
- }
1328
- if (dependencyParam.unique) {
1329
- this.depKeyIsUnique = true;
1330
- }
1331
- if (dependencyParam.required) {
1332
- this.depKeyIsRequired = true;
1333
- }
1334
- }
1372
+ const dependencyParams = Object.values(this.dataParams.properties).filter((modelParams) => Boolean(modelParams.dependencyDataName));
1373
+ this.depSettings.push(...dependencyParams.map((dependencyParams) => ({
1374
+ key: dependencyParams.key,
1375
+ dbServiceKey: dependencyParams.dependencyDataName,
1376
+ keyIsUnique: dependencyParams.unique,
1377
+ keyIsRequired: dependencyParams.required,
1378
+ })));
1335
1379
  }
1336
1380
  /**
1337
1381
  *
1338
1382
  * @returns
1339
1383
  */
1340
- getDependencyDataDBService() {
1341
- if (!this.depDBServiceKey) {
1384
+ getDependencyDataDBService(dBServiceKey) {
1385
+ if (!dBServiceKey) {
1342
1386
  throw new fsm_dynamo_1.DyFM_Error({
1343
1387
  ...this._getDefaultErrorSettings('getDependencyDataDBService', new Error(`getDependencyDataDBService was unsuccessful, service key not setted up! ` +
1388
+ `(key: ${this.depSettings.map((depSetting) => depSetting.key).join(', ')}, ` +
1344
1389
  `(${this.dataParams.dataName})`)),
1345
1390
  status: 500,
1346
1391
  errorCode: 'NTS-DS0-GDDB0',
@@ -1350,7 +1395,7 @@ class DyNTS_DataService {
1350
1395
  return this.depDataDBService;
1351
1396
  }
1352
1397
  else {
1353
- this.depDataDBService = global_service_1.DyNTS_GlobalService.getDBServiceByKey(this.depDBServiceKey);
1398
+ this.depDataDBService = global_service_1.DyNTS_GlobalService.getDBServiceByKey(dBServiceKey);
1354
1399
  return this.depDataDBService;
1355
1400
  }
1356
1401
  }