@futdevpro/nts-dynamo 1.10.8 → 1.10.10

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 (49) hide show
  1. package/build/_models/control-models/app-params.control-model.d.ts.map +1 -1
  2. package/build/_models/control-models/app-params.control-model.js +11 -0
  3. package/build/_models/control-models/app-params.control-model.js.map +1 -1
  4. package/build/_modules/mock/data-model.mock.js +2 -2
  5. package/build/_modules/mock/data-model.mock.js.map +1 -1
  6. package/build/_modules/mock/socket-client.mock.js +1 -1
  7. package/build/_modules/mock/socket-client.mock.js.map +1 -1
  8. package/build/_modules/mock/socket-client.mock.spec.js +1 -1
  9. package/build/_modules/mock/socket-client.mock.spec.js.map +1 -1
  10. package/build/_modules/socket/_models/socket-client-service-params.control-model.d.ts.map +1 -1
  11. package/build/_modules/socket/_models/socket-client-service-params.control-model.js +1 -1
  12. package/build/_modules/socket/_models/socket-client-service-params.control-model.js.map +1 -1
  13. package/build/_modules/socket/_models/socket-client-service-params.control-model.spec.js +1 -1
  14. package/build/_modules/socket/_models/socket-client-service-params.control-model.spec.js.map +1 -1
  15. package/build/_modules/socket/_services/socket-client.service.d.ts +1 -1
  16. package/build/_modules/socket/_services/socket-client.service.d.ts.map +1 -1
  17. package/build/_modules/socket/_services/socket-client.service.js +7 -2
  18. package/build/_modules/socket/_services/socket-client.service.js.map +1 -1
  19. package/build/_modules/socket/_services/socket-server.service.d.ts +9 -11
  20. package/build/_modules/socket/_services/socket-server.service.d.ts.map +1 -1
  21. package/build/_modules/socket/_services/socket-server.service.js +198 -100
  22. package/build/_modules/socket/_services/socket-server.service.js.map +1 -1
  23. package/build/_services/base/data.service.d.ts +17 -10
  24. package/build/_services/base/data.service.d.ts.map +1 -1
  25. package/build/_services/base/data.service.js +137 -107
  26. package/build/_services/base/data.service.js.map +1 -1
  27. package/build/_services/base/db.service.d.ts +20 -10
  28. package/build/_services/base/db.service.d.ts.map +1 -1
  29. package/build/_services/base/db.service.js +66 -47
  30. package/build/_services/base/db.service.js.map +1 -1
  31. package/build/_services/core/api.service.d.ts.map +1 -1
  32. package/build/_services/core/api.service.js +18 -2
  33. package/build/_services/core/api.service.js.map +1 -1
  34. package/build/_services/server/app.server.d.ts.map +1 -1
  35. package/build/_services/server/app.server.js +8 -1
  36. package/build/_services/server/app.server.js.map +1 -1
  37. package/package.json +3 -3
  38. package/src/_models/control-models/app-params.control-model.ts +17 -0
  39. package/src/_modules/mock/data-model.mock.ts +2 -2
  40. package/src/_modules/mock/socket-client.mock.spec.ts +1 -1
  41. package/src/_modules/mock/socket-client.mock.ts +1 -1
  42. package/src/_modules/socket/_models/socket-client-service-params.control-model.spec.ts +1 -2
  43. package/src/_modules/socket/_models/socket-client-service-params.control-model.ts +2 -1
  44. package/src/_modules/socket/_services/socket-client.service.ts +7 -3
  45. package/src/_modules/socket/_services/socket-server.service.ts +271 -125
  46. package/src/_services/base/data.service.ts +216 -165
  47. package/src/_services/base/db.service.ts +86 -60
  48. package/src/_services/core/api.service.ts +23 -2
  49. package/src/_services/server/app.server.ts +13 -4
@@ -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,57 @@ 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) {
202
- try {
203
- if (!this.depKey) {
197
+ getDependencyIdsFilter(dependencyIds) {
198
+ if (!this.depSettings.length) {
199
+ throw new fsm_dynamo_1.DyFM_Error({
200
+ ...this._getDefaultErrorSettings('getDataByDependencyId', new Error(`getDataByDependencyId failed, dependencyKey is missing from service! ` +
201
+ `(${this.dataParams.dataName})`)),
202
+ errorCode: 'NTS-DS0-GD1',
203
+ });
204
+ }
205
+ if (typeof dependencyIds === 'string') {
206
+ if (this.depSettings.length === 1) {
207
+ dependencyIds = { [this.depSettings[0].key]: dependencyIds };
208
+ }
209
+ else if (this.depSettings.length > 1) {
204
210
  throw new fsm_dynamo_1.DyFM_Error({
205
- ...this._getDefaultErrorSettings('getDataByDependencyId', new Error(`getDataByDependencyId failed, dependencyKey is missing from service! ` +
211
+ ...this._getDefaultErrorSettings('getDataByDependencyId', new Error(`getDataByDependencyId failed, there are multiple dependencyKeys, ` +
212
+ `so you need to provide a map of dependencyKeys! ` +
206
213
  `(${this.dataParams.dataName})`)),
207
- errorCode: 'NTS-DS0-GD1',
214
+ errorCode: 'NTS-DS0-GD2',
208
215
  });
209
216
  }
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
- });
217
+ }
218
+ else if (!dependencyIds) {
219
+ dependencyIds = {};
220
+ this.depSettings.forEach((depSetting) => {
221
+ if (this.data?.[depSetting.key]) {
222
+ dependencyIds[depSetting.key] = this.data?.[depSetting.key];
221
223
  }
222
- }
223
- const dataExists = await this.dataDBService.getDataByDependencyId(dependencyId).catch((error) => {
224
+ });
225
+ }
226
+ if (!dependencyIds ||
227
+ this.depSettings.every((depSetting) => !dependencyIds[depSetting.key])) {
228
+ throw new fsm_dynamo_1.DyFM_Error({
229
+ ...this._getDefaultErrorSettings('getDataByDependencyId', new Error(`getDataByDependencyId failed, dependencyId is missing! ` +
230
+ `(${this.dataParams.dataName})`)),
231
+ errorCode: 'NTS-DS0-GD3',
232
+ });
233
+ }
234
+ return dependencyIds;
235
+ }
236
+ /**
237
+ * returns data from database by dependencyId to the service
238
+ * (using id from service.data, if not provided)
239
+ * @param dependencyIds
240
+ */
241
+ async getDataByDependencyId(dependencyIds, dontSetToService) {
242
+ try {
243
+ const dependencyIdsFilter = this.getDependencyIdsFilter(dependencyIds);
244
+ const dataExists = await this.dataDBService.getDataByDependencyId(dependencyIdsFilter).catch((error) => {
224
245
  if (error?.errorCode === 'NTS-DBS-GD2') {
225
246
  fsm_dynamo_1.DyFM_Log.warn(`getDataByDependencyId failed; "${this.dataParams.dataName}" ` +
226
- `(${this.depKey}: ${dependencyId ?? this.data[this.depKey]}) didn't found any.`);
247
+ `(${JSON.stringify(dependencyIds)}) didn't found any.`);
227
248
  return null;
228
249
  }
229
250
  else {
@@ -247,26 +268,39 @@ class DyNTS_DataService {
247
268
  }
248
269
  }
249
270
  }
250
- async getDataListByDependencyIds(dependencyIds, dontSetToService) {
271
+ async getDataListByDependencyIds(dependencyIds, dontSetToService, dependencyKey) {
251
272
  try {
252
- if (!this.depKey) {
273
+ if (!this.depSettings.length) {
253
274
  throw new fsm_dynamo_1.DyFM_Error({
254
275
  ...this._getDefaultErrorSettings('getDataListByDependencyIds', new Error(`getDataListByDependencyIds failed, dependencyKey is missing from service! ` +
255
276
  `(${this.dataParams.dataName})`)),
256
277
  errorCode: 'NTS-DS0-GDS1',
257
278
  });
258
279
  }
280
+ if (!dependencyKey) {
281
+ if (this.depSettings.length === 1) {
282
+ dependencyKey = this.depSettings[0].key;
283
+ }
284
+ else {
285
+ throw new fsm_dynamo_1.DyFM_Error({
286
+ ...this._getDefaultErrorSettings('getDataListByDependencyIds', new Error(`getDataListByDependencyIds failed, dependencyKey is missing! ` +
287
+ `since there are multiple dependencyKeys, you need to provide one! ` +
288
+ `(${this.dataParams.dataName})`)),
289
+ errorCode: 'NTS-DS0-GDS2',
290
+ });
291
+ }
292
+ }
259
293
  if (!dependencyIds) {
260
294
  throw new fsm_dynamo_1.DyFM_Error({
261
295
  ...this._getDefaultErrorSettings('getDataListByDependencyIds', new Error(`getDataListByDependencyIds failed, dependencyIds is missing! ` +
262
296
  `(${this.dataParams.dataName})`)),
263
- errorCode: 'NTS-DS0-GDS2',
297
+ errorCode: 'NTS-DS0-GDS3',
264
298
  });
265
299
  }
266
300
  if (dependencyIds.length === 0) {
267
301
  return [];
268
302
  }
269
- const dataList = await this.dataDBService.getDataListByDependencyIds(dependencyIds);
303
+ const dataList = await this.dataDBService.getDataListByDependencyIds(dependencyKey, dependencyIds);
270
304
  if (!dontSetToService) {
271
305
  this.dataList = dataList;
272
306
  }
@@ -286,31 +320,15 @@ class DyNTS_DataService {
286
320
  }
287
321
  /**
288
322
  * returns dataList from database by dependencyId to the service
289
- * @param dependencyId
323
+ * @param dependencyIds
290
324
  */
291
- async getDataListByDependencyId(dependencyId, dontSetToService) {
325
+ async getDataListByDependencyId(dependencyIds, dontSetToService) {
292
326
  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) => {
327
+ const dependencyIdsFilter = this.getDependencyIdsFilter(dependencyIds);
328
+ const dataListExists = await this.dataDBService.getDataListByDependencyId(dependencyIdsFilter).catch((error) => {
311
329
  if (error?.errorCode === 'NTS-DBS-GLD2') {
312
330
  fsm_dynamo_1.DyFM_Log.warn(`getDataListByDependencyId "${this.dataParams.dataName}" ` +
313
- `(${this.depKey}: "${dependencyId ?? this.data[this.depKey]}") didn't found any.`);
331
+ `(${JSON.stringify(dependencyIdsFilter)}) didn't found any.`);
314
332
  return [];
315
333
  }
316
334
  else {
@@ -504,8 +522,15 @@ class DyNTS_DataService {
504
522
  else if (this.data._id) {
505
523
  await this.dataDBService.updateOne({ _id: this.data._id }, set.update, this.issuer, dontUpdateModified);
506
524
  }
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);
525
+ else if (this.depSettings.length &&
526
+ this.depSettings.some((depSetting) => this.data[depSetting.key])) {
527
+ const dependencyIdsFilter = {};
528
+ this.depSettings.forEach((depSetting) => {
529
+ if (this.data[depSetting.key]) {
530
+ dependencyIdsFilter[depSetting.key] = this.data[depSetting.key];
531
+ }
532
+ });
533
+ await this.dataDBService.updateOne(dependencyIdsFilter, set.update, this.issuer, dontUpdateModified);
509
534
  }
510
535
  else {
511
536
  throw new fsm_dynamo_1.DyFM_Error({
@@ -559,10 +584,12 @@ class DyNTS_DataService {
559
584
  data = this.ensureData(data);
560
585
  await this.validateForSave(data);
561
586
  if (!data._id) {
562
- if (this.depKey && !data[this.depKey]) {
587
+ if (this.depSettings.length &&
588
+ this.depSettings.some((depSetting) => !data[depSetting.key])) {
563
589
  throw new fsm_dynamo_1.DyFM_Error({
564
590
  ...this._getDefaultErrorSettings('saveData', new Error(`saveData was unsuccessful: dependency data id missing from data ` +
565
- `(key: ${this.depKey}, ${this.dataParams.dataName})`)),
591
+ `(key: ${this.depSettings.map((depSetting) => depSetting.key).join(', ')}, ` +
592
+ `${this.dataParams.dataName})`)),
566
593
  errorCode: 'NTS-DS0-SD1',
567
594
  additionalContent: {
568
595
  data: data,
@@ -597,42 +624,58 @@ class DyNTS_DataService {
597
624
  }
598
625
  return data;
599
626
  }
600
- if (this.depKey) {
601
- if (!data[this.depKey]) {
627
+ if (this.depSettings.length) {
628
+ if (this.depSettings.some((depSetting) => !data[depSetting.key])) {
602
629
  throw new fsm_dynamo_1.DyFM_Error({
603
630
  ...this._getDefaultErrorSettings('saveData', new Error(`saveData was unsuccessful: dependency data id missing from data ` +
604
- `(key: ${this.depKey}, ${this.dataParams.dataName})`)),
631
+ `(key: ${this.depSettings.map((depSetting) => depSetting.key).join(', ')}, ` +
632
+ `${this.dataParams.dataName})`)),
605
633
  errorCode: 'NTS-DS0-SD3',
606
634
  additionalContent: {
607
635
  data: data,
608
636
  },
609
637
  });
610
638
  }
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
- });
639
+ if (this.depSettings.some((depSetting) => depSetting.keyIsRequired)) {
640
+ await fsm_dynamo_1.DyFM_Array.asyncForEach(this.depSettings, async (depSetting) => {
641
+ if (depSetting.keyIsRequired) {
642
+ if (!data[depSetting.key]) {
643
+ throw new fsm_dynamo_1.DyFM_Error({
644
+ ...this._getDefaultErrorSettings('saveData', new Error(`saveData was unsuccessful: dependency data id missing from data ` +
645
+ `(key: ${depSetting.key}, ${this.dataParams.dataName})`)),
646
+ errorCode: 'NTS-DS0-SD4',
647
+ });
648
+ }
649
+ const dependencyExists = await this.getDependencyDataDBService(depSetting.dbServiceKey)
650
+ .getDataById(data[depSetting.key])
651
+ .catch();
652
+ if (!dependencyExists) {
653
+ throw new fsm_dynamo_1.DyFM_Error({
654
+ ...this._getDefaultErrorSettings('saveData', new Error(`saveData was unsuccessful: dependency data not exists ` +
655
+ `(key: ${depSetting.key}, id: "${data[depSetting.key]}", ` +
656
+ `${this.dataParams.dataName})`)),
657
+ errorCode: 'NTS-DS0-SD4',
658
+ });
659
+ }
633
660
  }
634
- }
661
+ });
635
662
  }
663
+ /* the db is handling the unique key, so no need to check it here
664
+ if (this.depKeyIsUnique) {
665
+ dataExists = await this.getDataByDependencyId(data[this.depKeys], true);
666
+
667
+ if (dataExists) {
668
+ // if data exists do modify
669
+ data = await this.dataDBService.modifyData(data, this.issuer, dontUpdateModified);
670
+
671
+ if (!dontSetToService) {
672
+ this.data = data;
673
+ }
674
+
675
+ return data;
676
+
677
+ }
678
+ } */
636
679
  }
637
680
  // if data not exists create new data
638
681
  data = await this.dataDBService.createData(data, this.issuer);
@@ -1311,36 +1354,23 @@ class DyNTS_DataService {
1311
1354
  * setting up dependency dataHook by DynamoBEDataModelParams
1312
1355
  */
1313
1356
  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
- }
1357
+ const dependencyParams = Object.values(this.dataParams.properties).filter((modelParams) => Boolean(modelParams.dependencyDataName));
1358
+ this.depSettings.push(...dependencyParams.map((dependencyParams) => ({
1359
+ key: dependencyParams.key,
1360
+ dbServiceKey: dependencyParams.dependencyDataName,
1361
+ keyIsUnique: dependencyParams.unique,
1362
+ keyIsRequired: dependencyParams.required,
1363
+ })));
1335
1364
  }
1336
1365
  /**
1337
1366
  *
1338
1367
  * @returns
1339
1368
  */
1340
- getDependencyDataDBService() {
1341
- if (!this.depDBServiceKey) {
1369
+ getDependencyDataDBService(dBServiceKey) {
1370
+ if (!dBServiceKey) {
1342
1371
  throw new fsm_dynamo_1.DyFM_Error({
1343
1372
  ...this._getDefaultErrorSettings('getDependencyDataDBService', new Error(`getDependencyDataDBService was unsuccessful, service key not setted up! ` +
1373
+ `(key: ${this.depSettings.map((depSetting) => depSetting.key).join(', ')}, ` +
1344
1374
  `(${this.dataParams.dataName})`)),
1345
1375
  status: 500,
1346
1376
  errorCode: 'NTS-DS0-GDDB0',
@@ -1350,7 +1380,7 @@ class DyNTS_DataService {
1350
1380
  return this.depDataDBService;
1351
1381
  }
1352
1382
  else {
1353
- this.depDataDBService = global_service_1.DyNTS_GlobalService.getDBServiceByKey(this.depDBServiceKey);
1383
+ this.depDataDBService = global_service_1.DyNTS_GlobalService.getDBServiceByKey(dBServiceKey);
1354
1384
  return this.depDataDBService;
1355
1385
  }
1356
1386
  }
@@ -1 +1 @@
1
- {"version":3,"file":"data.service.js","sourceRoot":"","sources":["../../../src/_services/base/data.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data.service.js","sourceRoot":"","sources":["../../../src/_services/base/data.service.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ export declare class DyNTS_DBService<T extends DyFM_Metadata> {
7
7
  dataParams: DyFM_DataModel_Params<T>;
8
8
  serviceName: string;
9
9
  dataModel: any;
10
- private depDataName;
10
+ private readonly depKeys;
11
11
  defaultErrorUserMsg: string;
12
12
  /**
13
13
  * @param dataName name the model
@@ -38,18 +38,22 @@ export declare class DyNTS_DBService<T extends DyFM_Metadata> {
38
38
  * get data by dependency data id,
39
39
  * !!!: throws error if not found (errorCode on not found: NTS-DBS-GD2)
40
40
  *
41
- * @param dependencyId id
41
+ * @param dependencyIdsFilter id
42
42
  * @returns data
43
43
  */
44
- getDataByDependencyId(dependencyId: string): Promise<T>;
44
+ getDataByDependencyId(dependencyIdsFilter: {
45
+ [key: string]: string;
46
+ }): Promise<T>;
45
47
  /**
46
48
  * get data by dependency data id,
47
49
  * !!!: throws error if not found (errorCode on not found: NTS-DBS-GLD2)
48
50
  *
49
- * @param dependencyId id
51
+ * @param dependencyIdsFilter id
50
52
  * @returns dataList
51
53
  */
52
- getDataListByDependencyId(dependencyId: string): Promise<T[]>;
54
+ getDataListByDependencyId(dependencyIdsFilter: {
55
+ [key: string]: string;
56
+ }): Promise<T[]>;
53
57
  /**
54
58
  * get multiple data objects by a list of DependencyIDs,
55
59
  * !!!: throws error if not found (errorCode on not found: NTS-DBS-GLDS2)
@@ -57,7 +61,7 @@ export declare class DyNTS_DBService<T extends DyFM_Metadata> {
57
61
  * @param ids ids
58
62
  * @returns dataList
59
63
  */
60
- getDataListByDependencyIds(dependencyIds: string[]): Promise<T[]>;
64
+ getDataListByDependencyIds(dependencyKey: string, dependencyIds: string[]): Promise<T[]>;
61
65
  /**
62
66
  * returns all data from database,
63
67
  * !!!: throws error if not found (errorCode on not found: NTS-DBS-GA1)
@@ -66,9 +70,13 @@ export declare class DyNTS_DBService<T extends DyFM_Metadata> {
66
70
  */
67
71
  getAll(): Promise<T[]>;
68
72
  markDeletedById(id: string, issuer: string): Promise<void>;
69
- markDeletedByDependencyId(dependencyId: string, issuer: string): Promise<void>;
73
+ markDeletedByDependencyId(dependencyIdsFilter: {
74
+ [key: string]: string;
75
+ }, issuer: string): Promise<void>;
70
76
  restoreDeletedById(id: string, issuer: string): Promise<void>;
71
- restoreDeletedByDependencyId(dependencyId: string, issuer: string): Promise<void>;
77
+ restoreDeletedByDependencyId(dependencyIdsFilter: {
78
+ [key: string]: string;
79
+ }, issuer: string): Promise<void>;
72
80
  getDeletedDataList(): Promise<T[]>;
73
81
  /**
74
82
  * deleted data by id
@@ -79,7 +87,9 @@ export declare class DyNTS_DBService<T extends DyFM_Metadata> {
79
87
  * deleted data by id
80
88
  * @param dependencyId id
81
89
  */
82
- deleteDataByDependencyId(dependencyId: string): Promise<void>;
90
+ deleteDataByDependencyId(dependencyIdsFilter: {
91
+ [key: string]: string;
92
+ }): Promise<void>;
83
93
  deleteAllData(): Promise<void>;
84
94
  /**
85
95
  * returns search result for searchBy object params
@@ -89,7 +99,7 @@ export declare class DyNTS_DBService<T extends DyFM_Metadata> {
89
99
  * @param narrowByDependencyIds id
90
100
  * @returns dataList
91
101
  */
92
- searchData(filterBy: DyFM_DBFilter<T>, narrowByDependencyIds?: string[]): Promise<T[]>;
102
+ searchData(filterBy: DyFM_DBFilter<T>, narrowByDependencyIds?: string[], narrowByDependencyKey?: string): Promise<T[]>;
93
103
  /**
94
104
  * Find the data first by any of its parameters,
95
105
  * !!!: throws error if not found (errorCode on not found: NTS-DBS-FO1)
@@ -1 +1 @@
1
- {"version":3,"file":"db.service.d.ts","sourceRoot":"","sources":["../../../src/_services/base/db.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db.service.d.ts","sourceRoot":"","sources":["../../../src/_services/base/db.service.ts"],"names":[],"mappings":"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"}