@futdevpro/nts-dynamo 1.6.59 → 1.6.71

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/lib/_constants/mocks/app-extended-server.mock.js +8 -13
  2. package/lib/_constants/mocks/app-extended-server.mock.js.map +1 -1
  3. package/lib/_constants/mocks/app-server.mock.js +4 -9
  4. package/lib/_constants/mocks/app-server.mock.js.map +1 -1
  5. package/lib/_constants/mocks/auth-service.mock.js +3 -10
  6. package/lib/_constants/mocks/auth-service.mock.js.map +1 -1
  7. package/lib/_constants/mocks/data-model.mock.js +17 -0
  8. package/lib/_constants/mocks/data-model.mock.js.map +1 -1
  9. package/lib/_constants/mocks/email-service-collection.mock.js +1 -4
  10. package/lib/_constants/mocks/email-service-collection.mock.js.map +1 -1
  11. package/lib/_constants/mocks/endpoint.mock.js +12 -13
  12. package/lib/_constants/mocks/endpoint.mock.js.map +1 -1
  13. package/lib/_constants/mocks/socket-client.mock.js +2 -3
  14. package/lib/_constants/mocks/socket-client.mock.js.map +1 -1
  15. package/lib/_constants/mocks/socket-server.mock.js +2 -5
  16. package/lib/_constants/mocks/socket-server.mock.js.map +1 -1
  17. package/lib/_models/control-models/api-call-params.control-model.js +32 -0
  18. package/lib/_models/control-models/api-call-params.control-model.js.map +1 -1
  19. package/lib/_models/control-models/app-params.control-model.js +31 -4
  20. package/lib/_models/control-models/app-params.control-model.js.map +1 -1
  21. package/lib/_models/control-models/app-system-controls.control-model copy.js +3 -5
  22. package/lib/_models/control-models/app-system-controls.control-model copy.js.map +1 -1
  23. package/lib/_models/control-models/app-system-controls.control-model.js +4 -6
  24. package/lib/_models/control-models/app-system-controls.control-model.js.map +1 -1
  25. package/lib/_models/control-models/endpoint-params.control-model.js +91 -88
  26. package/lib/_models/control-models/endpoint-params.control-model.js.map +1 -1
  27. package/lib/_models/control-models/socket-client-service-params.control-model.js +8 -5
  28. package/lib/_models/control-models/socket-client-service-params.control-model.js.map +1 -1
  29. package/lib/_models/control-models/socket-event.control-model.js +35 -34
  30. package/lib/_models/control-models/socket-event.control-model.js.map +1 -1
  31. package/lib/_models/control-models/socket-presence.control-model.js +10 -9
  32. package/lib/_models/control-models/socket-presence.control-model.js.map +1 -1
  33. package/lib/_models/control-models/socket-server-service-params.control-model.js +3 -0
  34. package/lib/_models/control-models/socket-server-service-params.control-model.js.map +1 -1
  35. package/lib/_models/control-models/system-control.control-model.js +3 -5
  36. package/lib/_models/control-models/system-control.control-model.js.map +1 -1
  37. package/lib/_modules/custom-data/custom-data.controller.js +6 -7
  38. package/lib/_modules/custom-data/custom-data.controller.js.map +1 -1
  39. package/lib/_modules/test/test.controller.js +12 -13
  40. package/lib/_modules/test/test.controller.js.map +1 -1
  41. package/lib/_modules/usage/usage.controller.js +15 -14
  42. package/lib/_modules/usage/usage.controller.js.map +1 -1
  43. package/lib/_modules/usage/usage.data-service.js +88 -96
  44. package/lib/_modules/usage/usage.data-service.js.map +1 -1
  45. package/lib/_services/base/data.service.js +370 -295
  46. package/lib/_services/base/data.service.js.map +1 -1
  47. package/lib/_services/base/db.service.js +315 -246
  48. package/lib/_services/base/db.service.js.map +1 -1
  49. package/lib/_services/base/singleton.service.js +2 -0
  50. package/lib/_services/base/singleton.service.js.map +1 -1
  51. package/lib/_services/core/api.service.js +185 -188
  52. package/lib/_services/core/api.service.js.map +1 -1
  53. package/lib/_services/core/auth.service.js +3 -3
  54. package/lib/_services/core/auth.service.js.map +1 -1
  55. package/lib/_services/core/email.service.js +103 -88
  56. package/lib/_services/core/email.service.js.map +1 -1
  57. package/lib/_services/core/global.service.js +38 -40
  58. package/lib/_services/core/global.service.js.map +1 -1
  59. package/lib/_services/route/controller.service.js +28 -0
  60. package/lib/_services/route/controller.service.js.map +1 -1
  61. package/lib/_services/route/routing-module.service.js +11 -8
  62. package/lib/_services/route/routing-module.service.js.map +1 -1
  63. package/lib/_services/server/app-extended.server.js +241 -247
  64. package/lib/_services/server/app-extended.server.js.map +1 -1
  65. package/lib/_services/server/app-extended.server.spec.js +18 -19
  66. package/lib/_services/server/app-extended.server.spec.js.map +1 -1
  67. package/lib/_services/server/app.server.js +404 -412
  68. package/lib/_services/server/app.server.js.map +1 -1
  69. package/lib/_services/server/app.server.spec.js +12 -13
  70. package/lib/_services/server/app.server.spec.js.map +1 -1
  71. package/lib/_services/shared.static-service.js +15 -17
  72. package/lib/_services/shared.static-service.js.map +1 -1
  73. package/lib/_services/socket/socket-client.service.js +134 -145
  74. package/lib/_services/socket/socket-client.service.js.map +1 -1
  75. package/lib/_services/socket/socket-server.service.js +294 -263
  76. package/lib/_services/socket/socket-server.service.js.map +1 -1
  77. package/lib/tsconfig.tsbuildinfo +1 -1
  78. package/package.json +19 -21
  79. package/tsconfig.json +2 -2
@@ -9,6 +9,12 @@ const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
9
9
  * DB Service for MongoDB
10
10
  */
11
11
  class DynamoNTS_DBService {
12
+ dataParams;
13
+ serviceName;
14
+ dataModel; // = mongoose.model(this.dataParams.dbName, this.getSchema());
15
+ depDataName;
16
+ defaultErrorUserMsg = `We encountered an unhandled DB Error, ` +
17
+ `\nplease contact the responsible development team.`;
12
18
  /**
13
19
  * @param dataName name the model
14
20
  * @param typeSample sample data for scheme creation (dont include Dynamo_Metadata!)
@@ -16,12 +22,9 @@ class DynamoNTS_DBService {
16
22
  * schemaSettings also MUST contain specific types that differs from the listed above (Array, Date)
17
23
  */
18
24
  constructor(dataParams) {
19
- var _a;
20
25
  this.dataParams = dataParams;
21
- this.defaultErrorUserMsg = `We encountered an unhandled DB Error, ` +
22
- `\nplease contact the responsible development team.`;
23
26
  try {
24
- this.serviceName = (_a = this.constructor) === null || _a === void 0 ? void 0 : _a.name;
27
+ this.serviceName = this.constructor?.name;
25
28
  try {
26
29
  this.dataModel = mongoose.model(this.dataParams.dbName, this.getSchema());
27
30
  }
@@ -44,76 +47,97 @@ class DynamoNTS_DBService {
44
47
  * @param data data
45
48
  * @returns data
46
49
  */
47
- createData(data, issuer) {
48
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
49
- data.__created = new Date();
50
- data.__lastModified = new Date();
51
- data.__createdBy = issuer;
52
- data.__lastModifiedBy = issuer;
53
- const dataModel = new this.dataModel(data);
54
- let newData = yield dataModel.save().then(res => {
55
- if (res) {
56
- return res === null || res === void 0 ? void 0 : res.toObject();
57
- }
58
- else {
59
- throw new fsm_dynamo_1.Dynamo_Error(Object.assign(Object.assign({}, this._getDefaultErrorSettings('createData', new Error(`createData failed, save ${this.dataParams.dbName} result not found! (NTS DB)`), issuer)), { status: 204, errorCode: 'NTS-DBS-CD1', issuer }));
60
- }
61
- }).catch(error => {
62
- var _a;
63
- if ((_a = error === null || error === void 0 ? void 0 : error.flag) === null || _a === void 0 ? void 0 : _a.includes('DYNAMO')) {
64
- throw error;
65
- }
66
- else {
67
- throw new fsm_dynamo_1.Dynamo_Error(Object.assign(Object.assign({}, this._getDefaultErrorSettings('createData', error, issuer)), { status: 422, errorCode: 'NTS-DBS-CD0', message: `createData failed, Create new ${this.dataParams.dbName} was unsuccessful (NTS DB)`, issuer }));
68
- }
69
- });
70
- data = this.stringifyDataId(newData, 'createData');
71
- return data;
50
+ async createData(data, issuer) {
51
+ data.__created = new Date();
52
+ data.__lastModified = new Date();
53
+ data.__createdBy = issuer;
54
+ data.__lastModifiedBy = issuer;
55
+ const dataModel = new this.dataModel(data);
56
+ let newData = await dataModel.save().then(res => {
57
+ if (res) {
58
+ return res?.toObject();
59
+ }
60
+ else {
61
+ throw new fsm_dynamo_1.Dynamo_Error({
62
+ ...this._getDefaultErrorSettings('createData', new Error(`createData failed, save ${this.dataParams.dbName} result not found! (NTS DB)`), issuer),
63
+ status: 204,
64
+ errorCode: 'NTS-DBS-CD1',
65
+ issuer,
66
+ });
67
+ }
68
+ }).catch(error => {
69
+ if (error?.flag?.includes('DYNAMO')) {
70
+ throw error;
71
+ }
72
+ else {
73
+ throw new fsm_dynamo_1.Dynamo_Error({
74
+ ...this._getDefaultErrorSettings('createData', error, issuer),
75
+ status: 422,
76
+ errorCode: 'NTS-DBS-CD0',
77
+ message: `createData failed, Create new ${this.dataParams.dbName} was unsuccessful (NTS DB)`,
78
+ issuer,
79
+ });
80
+ }
72
81
  });
82
+ data = this.stringifyDataId(newData, 'createData');
83
+ return data;
73
84
  }
74
85
  /**
75
86
  * Find data by _id and update
76
87
  * @param data data
77
88
  * @returns data
78
89
  */
79
- modifyData(data, issuer) {
80
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
81
- data.__lastModified = new Date();
82
- data.__lastModifiedBy = issuer;
83
- const dataModel = new this.dataModel(data);
84
- let newData = yield this.dataModel.findByIdAndUpdate(data._id, dataModel).then(res => {
85
- if (res) {
86
- return res === null || res === void 0 ? void 0 : res.toObject();
87
- }
88
- else {
89
- throw new fsm_dynamo_1.Dynamo_Error(Object.assign(Object.assign({}, this._getDefaultErrorSettings('modifyData', new Error(`modifyData failed, modify ${this.dataParams.dbName} result not found! (NTS DB)`), issuer)), { status: 204, errorCode: 'NTS-DBS-FU1', issuer }));
90
- }
91
- }).catch(error => {
92
- throw new fsm_dynamo_1.Dynamo_Error(Object.assign(Object.assign({}, this._getDefaultErrorSettings('modifyData', error, issuer)), { errorCode: 'NTS-DBS-FU0', message: `modifyData ${this.dataParams.dbName} was unsuccessful (NTS DB)`, issuer }));
90
+ async modifyData(data, issuer) {
91
+ data.__lastModified = new Date();
92
+ data.__lastModifiedBy = issuer;
93
+ const dataModel = new this.dataModel(data);
94
+ let newData = await this.dataModel.findByIdAndUpdate(data._id, dataModel).then(res => {
95
+ if (res) {
96
+ return res?.toObject();
97
+ }
98
+ else {
99
+ throw new fsm_dynamo_1.Dynamo_Error({
100
+ ...this._getDefaultErrorSettings('modifyData', new Error(`modifyData failed, modify ${this.dataParams.dbName} result not found! (NTS DB)`), issuer),
101
+ status: 204,
102
+ errorCode: 'NTS-DBS-FU1',
103
+ issuer,
104
+ });
105
+ }
106
+ }).catch(error => {
107
+ throw new fsm_dynamo_1.Dynamo_Error({
108
+ ...this._getDefaultErrorSettings('modifyData', error, issuer),
109
+ errorCode: 'NTS-DBS-FU0',
110
+ message: `modifyData ${this.dataParams.dbName} was unsuccessful (NTS DB)`,
111
+ issuer,
93
112
  });
94
- data = this.stringifyDataId(newData, 'modifyData');
95
- return data;
96
113
  });
114
+ data = this.stringifyDataId(newData, 'modifyData');
115
+ return data;
97
116
  }
98
117
  /**
99
118
  * returns data by _id,
100
119
  * @param id id
101
120
  * @returns data
102
121
  */
103
- getDataById(id) {
104
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
105
- if (!id) {
106
- throw new fsm_dynamo_1.Dynamo_Error(Object.assign(Object.assign({}, this._getDefaultErrorSettings('getDataById', new Error(`No ID provided! (NTS DB)`))), { errorCode: 'NTS-DBS-GI1', message: `get ${this.dataParams.dbName} by ID was unsuccessful (NTS DB)` }));
107
- }
108
- let data = yield this.dataModel.findById(id).then(res => {
109
- var _a;
110
- return (_a = res === null || res === void 0 ? void 0 : res.toObject()) !== null && _a !== void 0 ? _a : null;
111
- }).catch(error => {
112
- throw new fsm_dynamo_1.Dynamo_Error(Object.assign(Object.assign({}, this._getDefaultErrorSettings('getDataById', error)), { errorCode: 'NTS-DBS-GI0', message: `get ${this.dataParams.dbName} by ID was unsuccessful (NTS DB)` }));
122
+ async getDataById(id) {
123
+ if (!id) {
124
+ throw new fsm_dynamo_1.Dynamo_Error({
125
+ ...this._getDefaultErrorSettings('getDataById', new Error(`No ID provided! (NTS DB)`)),
126
+ errorCode: 'NTS-DBS-GI1',
127
+ message: `get ${this.dataParams.dbName} by ID was unsuccessful (NTS DB)`,
128
+ });
129
+ }
130
+ let data = await this.dataModel.findById(id).then(res => {
131
+ return res?.toObject() ?? null;
132
+ }).catch(error => {
133
+ throw new fsm_dynamo_1.Dynamo_Error({
134
+ ...this._getDefaultErrorSettings('getDataById', error),
135
+ errorCode: 'NTS-DBS-GI0',
136
+ message: `get ${this.dataParams.dbName} by ID was unsuccessful (NTS DB)`,
113
137
  });
114
- data = this.stringifyDataId(data, 'getDataById');
115
- return data;
116
138
  });
139
+ data = this.stringifyDataId(data, 'getDataById');
140
+ return data;
117
141
  }
118
142
  /**
119
143
  * get data by dependency data id,
@@ -122,20 +146,25 @@ class DynamoNTS_DBService {
122
146
  * @param dependencyId id
123
147
  * @returns data
124
148
  */
125
- getDataByDependencyId(dependencyId) {
126
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
127
- if (!this.depDataName) {
128
- throw new fsm_dynamo_1.Dynamo_Error(Object.assign(Object.assign({}, this._getDefaultErrorSettings('getDataByDependencyId', new Error(`dependencyDataIdKey not setted up for this db-service (${this.dataParams.dbName}) (NTS DB)`))), { status: 501, errorCode: 'NTS-DBS-GD0' }));
129
- }
130
- let data = yield this.dataModel.findOne({ [this.depDataName]: dependencyId }).then(res => {
131
- var _a;
132
- return (_a = res === null || res === void 0 ? void 0 : res.toObject()) !== null && _a !== void 0 ? _a : null;
133
- }).catch(error => {
134
- throw new fsm_dynamo_1.Dynamo_Error(Object.assign(Object.assign({}, this._getDefaultErrorSettings('getDataByDependencyId', error)), { errorCode: 'NTS-DBS-GD1', message: `get ${this.dataParams.dbName} by ${this.depDataName} was unsuccessful (NTS DB)` }));
149
+ async getDataByDependencyId(dependencyId) {
150
+ if (!this.depDataName) {
151
+ throw new fsm_dynamo_1.Dynamo_Error({
152
+ ...this._getDefaultErrorSettings('getDataByDependencyId', new Error(`dependencyDataIdKey not setted up for this db-service (${this.dataParams.dbName}) (NTS DB)`)),
153
+ status: 501,
154
+ errorCode: 'NTS-DBS-GD0',
155
+ });
156
+ }
157
+ let data = await this.dataModel.findOne({ [this.depDataName]: dependencyId }).then(res => {
158
+ return res?.toObject() ?? null;
159
+ }).catch(error => {
160
+ throw new fsm_dynamo_1.Dynamo_Error({
161
+ ...this._getDefaultErrorSettings('getDataByDependencyId', error),
162
+ errorCode: 'NTS-DBS-GD1',
163
+ message: `get ${this.dataParams.dbName} by ${this.depDataName} was unsuccessful (NTS DB)`,
135
164
  });
136
- data = this.stringifyDataId(data, 'getDataByDependencyId');
137
- return data;
138
165
  });
166
+ data = this.stringifyDataId(data, 'getDataByDependencyId');
167
+ return data;
139
168
  }
140
169
  /**
141
170
  * get data by dependency data id,
@@ -144,39 +173,49 @@ class DynamoNTS_DBService {
144
173
  * @param dependencyId id
145
174
  * @returns dataList
146
175
  */
147
- getDataListByDependencyId(dependencyId) {
148
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
149
- if (!this.depDataName) {
150
- throw new fsm_dynamo_1.Dynamo_Error(Object.assign(Object.assign({}, this._getDefaultErrorSettings('getDataListByDependencyId', new Error(`dependencyDataIdKey not setted up for this db-service (${this.dataParams.dbName}) (NTS DB)`))), { status: 501, errorCode: 'NTS-DBS-GLD0' }));
151
- }
152
- let dataList = yield this.dataModel.find({ [this.depDataName]: dependencyId }).then(res => {
153
- var _a;
154
- return (_a = res) !== null && _a !== void 0 ? _a : [];
155
- }).catch(error => {
156
- throw new fsm_dynamo_1.Dynamo_Error(Object.assign(Object.assign({}, this._getDefaultErrorSettings('getDataListByDependencyId', error)), { errorCode: 'NTS-DBS-GLD1', message: `get ${this.dataParams.dbName} by ${this.depDataName} was unsuccessful (NTS DB)` }));
176
+ async getDataListByDependencyId(dependencyId) {
177
+ if (!this.depDataName) {
178
+ throw new fsm_dynamo_1.Dynamo_Error({
179
+ ...this._getDefaultErrorSettings('getDataListByDependencyId', new Error(`dependencyDataIdKey not setted up for this db-service (${this.dataParams.dbName}) (NTS DB)`)),
180
+ status: 501,
181
+ errorCode: 'NTS-DBS-GLD0',
157
182
  });
158
- dataList.forEach((data) => {
159
- data = this.stringifyDataId(data, 'getDataListByDependencyId');
183
+ }
184
+ let dataList = await this.dataModel.find({ [this.depDataName]: dependencyId }).then(res => {
185
+ return res ?? [];
186
+ }).catch(error => {
187
+ throw new fsm_dynamo_1.Dynamo_Error({
188
+ ...this._getDefaultErrorSettings('getDataListByDependencyId', error),
189
+ errorCode: 'NTS-DBS-GLD1',
190
+ message: `get ${this.dataParams.dbName} by ${this.depDataName} was unsuccessful (NTS DB)`,
160
191
  });
161
- return dataList;
162
192
  });
193
+ dataList.forEach((data) => {
194
+ data = this.stringifyDataId(data, 'getDataListByDependencyId');
195
+ });
196
+ return dataList;
163
197
  }
164
- getDatasByDependencyIds(dependencyIds) {
165
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
166
- if (!this.depDataName) {
167
- throw new fsm_dynamo_1.Dynamo_Error(Object.assign(Object.assign({}, this._getDefaultErrorSettings('getDatasByDependencyIds', new Error(`dependencyDataIdKey not setted up for this db-service (${this.dataParams.dbName}) (NTS DB)`))), { status: 501, errorCode: 'NTS-DBS-GLDS0' }));
168
- }
169
- let dataList = yield this.dataModel.find({ [this.depDataName]: { $in: dependencyIds } }).then(res => {
170
- var _a;
171
- return (_a = res) !== null && _a !== void 0 ? _a : [];
172
- }).catch(error => {
173
- throw new fsm_dynamo_1.Dynamo_Error(Object.assign(Object.assign({}, this._getDefaultErrorSettings('getDatasByDependencyIds', error)), { errorCode: 'NTS-DBS-GLDS1', message: `get ${this.dataParams.dbName} by ${this.depDataName} was unsuccessful (NTS DB)` }));
198
+ async getDatasByDependencyIds(dependencyIds) {
199
+ if (!this.depDataName) {
200
+ throw new fsm_dynamo_1.Dynamo_Error({
201
+ ...this._getDefaultErrorSettings('getDatasByDependencyIds', new Error(`dependencyDataIdKey not setted up for this db-service (${this.dataParams.dbName}) (NTS DB)`)),
202
+ status: 501,
203
+ errorCode: 'NTS-DBS-GLDS0',
174
204
  });
175
- dataList.forEach((data) => {
176
- data = this.stringifyDataId(data, 'getDatasByDependencyIds');
205
+ }
206
+ let dataList = await this.dataModel.find({ [this.depDataName]: { $in: dependencyIds } }).then(res => {
207
+ return res ?? [];
208
+ }).catch(error => {
209
+ throw new fsm_dynamo_1.Dynamo_Error({
210
+ ...this._getDefaultErrorSettings('getDatasByDependencyIds', error),
211
+ errorCode: 'NTS-DBS-GLDS1',
212
+ message: `get ${this.dataParams.dbName} by ${this.depDataName} was unsuccessful (NTS DB)`,
177
213
  });
178
- return dataList;
179
214
  });
215
+ dataList.forEach((data) => {
216
+ data = this.stringifyDataId(data, 'getDatasByDependencyIds');
217
+ });
218
+ return dataList;
180
219
  }
181
220
  /**
182
221
  * get multiple data objects by a list of DependencyIDs,
@@ -185,22 +224,27 @@ class DynamoNTS_DBService {
185
224
  * @param ids ids
186
225
  * @returns dataList
187
226
  */
188
- getDataListByDependencyIds(ids) {
189
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
190
- if (!this.depDataName) {
191
- throw new fsm_dynamo_1.Dynamo_Error(Object.assign(Object.assign({}, this._getDefaultErrorSettings('getDataListByDependencyIds', new Error(`dependencyDataIdKey not setted up for this db-service (${this.dataParams.dbName}) (NTS DB)`))), { status: 501, errorCode: 'NTS-DBS-GLDS0' }));
192
- }
193
- let dataList = yield this.dataModel.find({ [this.depDataName]: { $in: ids } }).then(res => {
194
- var _a;
195
- return (_a = res) !== null && _a !== void 0 ? _a : [];
196
- }).catch(error => {
197
- throw new fsm_dynamo_1.Dynamo_Error(Object.assign(Object.assign({}, this._getDefaultErrorSettings('getDataListByDependencyIds', error)), { errorCode: 'NTS-DBS-GLDS1', message: `get ${this.dataParams.dbName}s by ${this.depDataName}s was unsuccessful (NTS DB)` }));
227
+ async getDataListByDependencyIds(ids) {
228
+ if (!this.depDataName) {
229
+ throw new fsm_dynamo_1.Dynamo_Error({
230
+ ...this._getDefaultErrorSettings('getDataListByDependencyIds', new Error(`dependencyDataIdKey not setted up for this db-service (${this.dataParams.dbName}) (NTS DB)`)),
231
+ status: 501,
232
+ errorCode: 'NTS-DBS-GLDS0',
198
233
  });
199
- dataList.forEach((data) => {
200
- data = this.stringifyDataId(data, 'getDataListByDependencyIds');
234
+ }
235
+ let dataList = await this.dataModel.find({ [this.depDataName]: { $in: ids } }).then(res => {
236
+ return res ?? [];
237
+ }).catch(error => {
238
+ throw new fsm_dynamo_1.Dynamo_Error({
239
+ ...this._getDefaultErrorSettings('getDataListByDependencyIds', error),
240
+ errorCode: 'NTS-DBS-GLDS1',
241
+ message: `get ${this.dataParams.dbName}s by ${this.depDataName}s was unsuccessful (NTS DB)`,
201
242
  });
202
- return dataList;
203
243
  });
244
+ dataList.forEach((data) => {
245
+ data = this.stringifyDataId(data, 'getDataListByDependencyIds');
246
+ });
247
+ return dataList;
204
248
  }
205
249
  /**
206
250
  * returns all data from database,
@@ -208,29 +252,32 @@ class DynamoNTS_DBService {
208
252
  *
209
253
  * @returns dataList
210
254
  */
211
- getAll() {
212
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
213
- let dataList = yield this.dataModel.find({})
214
- .then(res => {
215
- var _a;
216
- return (_a = res) !== null && _a !== void 0 ? _a : [];
217
- }).catch(error => {
218
- throw new fsm_dynamo_1.Dynamo_Error(Object.assign(Object.assign({}, this._getDefaultErrorSettings('getAll', error)), { errorCode: 'NTS-DBS-GA0', message: `get all ${this.dataParams.dbName} was unsuccessful (NTS DB)` }));
255
+ async getAll() {
256
+ let dataList = await this.dataModel.find({})
257
+ .then(res => {
258
+ return res ?? [];
259
+ }).catch(error => {
260
+ throw new fsm_dynamo_1.Dynamo_Error({
261
+ ...this._getDefaultErrorSettings('getAll', error),
262
+ errorCode: 'NTS-DBS-GA0',
263
+ message: `get all ${this.dataParams.dbName} was unsuccessful (NTS DB)`,
219
264
  });
220
- dataList.forEach((data) => {
221
- data = this.stringifyDataId(data, 'getAll');
222
- });
223
- return dataList;
224
265
  });
266
+ dataList.forEach((data) => {
267
+ data = this.stringifyDataId(data, 'getAll');
268
+ });
269
+ return dataList;
225
270
  }
226
271
  /**
227
272
  * deleted data by id
228
273
  * @param id id
229
274
  */
230
- deleteDataById(id) {
231
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
232
- yield this.dataModel.findByIdAndDelete(id).catch(error => {
233
- throw new fsm_dynamo_1.Dynamo_Error(Object.assign(Object.assign({}, this._getDefaultErrorSettings('deleteDataById', error)), { errorCode: 'NTS-DBS-DD0', message: `delete ${this.dataParams.dbName} was unsuccessful (NTS DB)` }));
275
+ async deleteDataById(id) {
276
+ await this.dataModel.findByIdAndDelete(id).catch(error => {
277
+ throw new fsm_dynamo_1.Dynamo_Error({
278
+ ...this._getDefaultErrorSettings('deleteDataById', error),
279
+ errorCode: 'NTS-DBS-DD0',
280
+ message: `delete ${this.dataParams.dbName} was unsuccessful (NTS DB)`,
234
281
  });
235
282
  });
236
283
  }
@@ -238,13 +285,19 @@ class DynamoNTS_DBService {
238
285
  * deleted data by id
239
286
  * @param dependencyId id
240
287
  */
241
- deleteDataByDependencyId(dependencyId) {
242
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
243
- if (!this.depDataName) {
244
- throw new fsm_dynamo_1.Dynamo_Error(Object.assign(Object.assign({}, this._getDefaultErrorSettings('deleteDataByDependencyId', new Error(`dependencyDataIdKey not setted up for this db-service (${this.dataParams.dbName}) (NTS DB)`))), { status: 501, errorCode: 'NTS-DBS-DDD0' }));
245
- }
246
- yield this.dataModel.deleteMany({ [this.depDataName]: dependencyId }).catch(error => {
247
- throw new fsm_dynamo_1.Dynamo_Error(Object.assign(Object.assign({}, this._getDefaultErrorSettings('deleteDataByDependencyId', error)), { errorCode: 'NTS-DBS-DDD1', message: `delete ${this.dataParams.dbName} by ${this.depDataName} was unsuccessful (NTS DB)` }));
288
+ async deleteDataByDependencyId(dependencyId) {
289
+ if (!this.depDataName) {
290
+ throw new fsm_dynamo_1.Dynamo_Error({
291
+ ...this._getDefaultErrorSettings('deleteDataByDependencyId', new Error(`dependencyDataIdKey not setted up for this db-service (${this.dataParams.dbName}) (NTS DB)`)),
292
+ status: 501,
293
+ errorCode: 'NTS-DBS-DDD0',
294
+ });
295
+ }
296
+ await this.dataModel.deleteMany({ [this.depDataName]: dependencyId }).catch(error => {
297
+ throw new fsm_dynamo_1.Dynamo_Error({
298
+ ...this._getDefaultErrorSettings('deleteDataByDependencyId', error),
299
+ errorCode: 'NTS-DBS-DDD1',
300
+ message: `delete ${this.dataParams.dbName} by ${this.depDataName} was unsuccessful (NTS DB)`,
248
301
  });
249
302
  });
250
303
  }
@@ -256,69 +309,75 @@ class DynamoNTS_DBService {
256
309
  * @param narrowByDependencyIds id
257
310
  * @returns dataList
258
311
  */
259
- searchData(filterBy, narrowByDependencyIds) {
260
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
261
- const filter = {};
262
- if (0 < narrowByDependencyIds.length) {
263
- if (!this.depDataName) {
264
- throw new fsm_dynamo_1.Dynamo_Error(Object.assign(Object.assign({}, this._getDefaultErrorSettings('searchData', new Error(`dependencyDataIdKey not setted up for this db-service (${this.dataParams.dbName}) (NTS DB)`))), { status: 501, errorCode: 'NTS-DBS-SD0' }));
265
- }
266
- filter[this.depDataName] = { $in: narrowByDependencyIds };
312
+ async searchData(filterBy, narrowByDependencyIds) {
313
+ const filter = {};
314
+ if (0 < narrowByDependencyIds.length) {
315
+ if (!this.depDataName) {
316
+ throw new fsm_dynamo_1.Dynamo_Error({
317
+ ...this._getDefaultErrorSettings('searchData', new Error(`dependencyDataIdKey not setted up for this db-service (${this.dataParams.dbName}) (NTS DB)`)),
318
+ status: 501,
319
+ errorCode: 'NTS-DBS-SD0',
320
+ });
267
321
  }
268
- yield this.dataParams.modelParams.forEach((modelParam) => {
269
- if ((filterBy[modelParam.key] !== null && filterBy[modelParam.key] !== undefined) ||
270
- filterBy[modelParam.key + 'Range']) {
271
- if (modelParam.key.includes('Range') || modelParam.type.includes('[]')) {
272
- // inverz search filter (for Range and Array functions)
273
- if (modelParam.key.includes('Range')) {
274
- const searchParamKeyWithoutRange = modelParam.key.split('Range')[0];
275
- if (filterBy[searchParamKeyWithoutRange] !== null &&
276
- filterBy[searchParamKeyWithoutRange] !== undefined) {
277
- filter[modelParam.key] = {
278
- from: { $lte: filterBy[searchParamKeyWithoutRange] },
279
- to: { $gte: filterBy[searchParamKeyWithoutRange] }
280
- };
281
- }
282
- }
283
- else {
284
- if (filterBy[modelParam.key] !== null &&
285
- filterBy[modelParam.key] !== undefined) {
286
- filter[modelParam.key] = { $in: filterBy[modelParam.key] };
287
- }
322
+ filter[this.depDataName] = { $in: narrowByDependencyIds };
323
+ }
324
+ await this.dataParams.modelParams.forEach((modelParam) => {
325
+ if ((filterBy[modelParam.key] !== null && filterBy[modelParam.key] !== undefined) ||
326
+ filterBy[modelParam.key + 'Range']) {
327
+ if (modelParam.key.includes('Range') || modelParam.type.includes('[]')) {
328
+ // inverz search filter (for Range and Array functions)
329
+ if (modelParam.key.includes('Range')) {
330
+ const searchParamKeyWithoutRange = modelParam.key.split('Range')[0];
331
+ if (filterBy[searchParamKeyWithoutRange] !== null &&
332
+ filterBy[searchParamKeyWithoutRange] !== undefined) {
333
+ filter[modelParam.key] = {
334
+ from: { $lte: filterBy[searchParamKeyWithoutRange] },
335
+ to: { $gte: filterBy[searchParamKeyWithoutRange] }
336
+ };
288
337
  }
289
338
  }
290
339
  else {
291
- // basic search filter
292
- if (filterBy[modelParam.key + 'Range']) {
293
- if (filterBy[modelParam.key + 'Range'].from || filterBy[modelParam.key + 'Range'].to) {
294
- filter[modelParam.key] = {};
295
- if (filterBy[modelParam.key + 'Range'].from) {
296
- filter[modelParam.key].$gte = filterBy[modelParam.key + 'Range'].from;
297
- }
298
- if (filterBy[modelParam.key + 'Range'].to) {
299
- filter[modelParam.key].$lte = filterBy[modelParam.key + 'Range'].to;
300
- }
301
- }
340
+ if (filterBy[modelParam.key] !== null &&
341
+ filterBy[modelParam.key] !== undefined) {
342
+ filter[modelParam.key] = { $in: filterBy[modelParam.key] };
302
343
  }
303
- else if (filterBy[modelParam.key] !== null && filterBy[modelParam.key] !== undefined) {
304
- if (filterBy[modelParam.key].lenght > 0) {
305
- filter[modelParam.key] = { $in: filterBy[modelParam.key] };
344
+ }
345
+ }
346
+ else {
347
+ // basic search filter
348
+ if (filterBy[modelParam.key + 'Range']) {
349
+ if (filterBy[modelParam.key + 'Range'].from || filterBy[modelParam.key + 'Range'].to) {
350
+ filter[modelParam.key] = {};
351
+ if (filterBy[modelParam.key + 'Range'].from) {
352
+ filter[modelParam.key].$gte = filterBy[modelParam.key + 'Range'].from;
306
353
  }
354
+ if (filterBy[modelParam.key + 'Range'].to) {
355
+ filter[modelParam.key].$lte = filterBy[modelParam.key + 'Range'].to;
356
+ }
357
+ }
358
+ }
359
+ else if (filterBy[modelParam.key] !== null && filterBy[modelParam.key] !== undefined) {
360
+ if (filterBy[modelParam.key].lenght > 0) {
361
+ filter[modelParam.key] = { $in: filterBy[modelParam.key] };
307
362
  }
308
363
  }
309
364
  }
365
+ }
366
+ });
367
+ let dataList = await this.dataModel
368
+ .find(filter)
369
+ .then(res => res ?? [])
370
+ .catch(error => {
371
+ throw new fsm_dynamo_1.Dynamo_Error({
372
+ ...this._getDefaultErrorSettings('searchData', error),
373
+ errorCode: 'NTS-DBS-SD1',
374
+ message: `search ${this.dataParams.dbName} was unsuccessful (NTS DB)`,
310
375
  });
311
- let dataList = yield this.dataModel
312
- .find(filter)
313
- .then(res => res !== null && res !== void 0 ? res : [])
314
- .catch(error => {
315
- throw new fsm_dynamo_1.Dynamo_Error(Object.assign(Object.assign({}, this._getDefaultErrorSettings('searchData', error)), { errorCode: 'NTS-DBS-SD1', message: `search ${this.dataParams.dbName} was unsuccessful (NTS DB)` }));
316
- });
317
- dataList.forEach((data) => {
318
- data = this.stringifyDataId(data, 'searchData');
319
- });
320
- return dataList;
321
376
  });
377
+ dataList.forEach((data) => {
378
+ data = this.stringifyDataId(data, 'searchData');
379
+ });
380
+ return dataList;
322
381
  }
323
382
  // ----------------------------------------------------------------------------------
324
383
  // ----------------------------------------------------------------------------------
@@ -350,17 +409,18 @@ class DynamoNTS_DBService {
350
409
  * //
351
410
  * @returns {T} data: T
352
411
  */
353
- findOne(filterBy) {
354
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
355
- let data = yield this.dataModel.findOne(filterBy).then(res => {
356
- var _a;
357
- return (_a = res) !== null && _a !== void 0 ? _a : null;
358
- }).catch(error => {
359
- throw new fsm_dynamo_1.Dynamo_Error(Object.assign(Object.assign({}, this._getDefaultErrorSettings('findOne', error)), { errorCode: 'NTS-DBS-FO0', message: `findOne ${this.dataParams.dbName} was unsuccessful (NTS DB) fliter: ${filterBy}` }));
412
+ async findOne(filterBy) {
413
+ let data = await this.dataModel.findOne(filterBy).then(res => {
414
+ return res ?? null;
415
+ }).catch(error => {
416
+ throw new fsm_dynamo_1.Dynamo_Error({
417
+ ...this._getDefaultErrorSettings('findOne', error),
418
+ errorCode: 'NTS-DBS-FO0',
419
+ message: `findOne ${this.dataParams.dbName} was unsuccessful (NTS DB) fliter: ${filterBy}`,
360
420
  });
361
- data = this.stringifyDataId(data, 'findOne');
362
- return data;
363
421
  });
422
+ data = this.stringifyDataId(data, 'findOne');
423
+ return data;
364
424
  }
365
425
  /**
366
426
  * #MONGOOSE FUNCTION
@@ -389,20 +449,21 @@ class DynamoNTS_DBService {
389
449
  * //
390
450
  * @returns {T[]} dataList: T[]
391
451
  */
392
- find(filterBy) {
393
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
394
- let dataList = yield this.dataModel.find(filterBy)
395
- .then(res => {
396
- var _a;
397
- return (_a = res) !== null && _a !== void 0 ? _a : [];
398
- }).catch(error => {
399
- throw new fsm_dynamo_1.Dynamo_Error(Object.assign(Object.assign({}, this._getDefaultErrorSettings('find', error)), { errorCode: 'NTS-DBS-F0', message: `find ${this.dataParams.dbName} was unsuccessful (NTS DB)` }));
452
+ async find(filterBy) {
453
+ let dataList = await this.dataModel.find(filterBy)
454
+ .then(res => {
455
+ return res ?? [];
456
+ }).catch(error => {
457
+ throw new fsm_dynamo_1.Dynamo_Error({
458
+ ...this._getDefaultErrorSettings('find', error),
459
+ errorCode: 'NTS-DBS-F0',
460
+ message: `find ${this.dataParams.dbName} was unsuccessful (NTS DB)`,
400
461
  });
401
- dataList.forEach((data) => {
402
- data = this.stringifyDataId(data, 'find');
403
- });
404
- return dataList;
405
462
  });
463
+ dataList.forEach((data) => {
464
+ data = this.stringifyDataId(data, 'find');
465
+ });
466
+ return dataList;
406
467
  }
407
468
  /**
408
469
  * #MONGOOSE FUNCTION
@@ -437,21 +498,23 @@ class DynamoNTS_DBService {
437
498
  * //
438
499
  * @returns {T[]} dataList: T[]
439
500
  */
440
- findWithPaging(filterBy, page, pageSize, sort) {
441
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
442
- let dataList = yield this.dataModel.find(filterBy)
443
- .sort(sort)
444
- .skip(page * pageSize)
445
- .limit(pageSize)
446
- .then(res => res !== null && res !== void 0 ? res : [])
447
- .catch(error => {
448
- throw new fsm_dynamo_1.Dynamo_Error(Object.assign(Object.assign({}, this._getDefaultErrorSettings('findWithPaging', error)), { errorCode: 'NTS-DBS-WP0', message: `findWithPaging ${this.dataParams.dbName} was unsuccessful (NTS DB)` }));
501
+ async findWithPaging(filterBy, page, pageSize, sort) {
502
+ let dataList = await this.dataModel.find(filterBy)
503
+ .sort(sort)
504
+ .skip(page * pageSize)
505
+ .limit(pageSize)
506
+ .then(res => res ?? [])
507
+ .catch(error => {
508
+ throw new fsm_dynamo_1.Dynamo_Error({
509
+ ...this._getDefaultErrorSettings('findWithPaging', error),
510
+ errorCode: 'NTS-DBS-WP0',
511
+ message: `findWithPaging ${this.dataParams.dbName} was unsuccessful (NTS DB)`,
449
512
  });
450
- dataList.forEach((data) => {
451
- data = this.stringifyDataId(data, 'findWithPaging');
452
- });
453
- return dataList;
454
513
  });
514
+ dataList.forEach((data) => {
515
+ data = this.stringifyDataId(data, 'findWithPaging');
516
+ });
517
+ return dataList;
455
518
  }
456
519
  /**
457
520
  * #MONGOOSE FUNCTION
@@ -462,19 +525,21 @@ class DynamoNTS_DBService {
462
525
  * @param update update
463
526
  * @returns data
464
527
  */
465
- findByIdAndUpdate(id, update, issuer) {
466
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
467
- update.__lastModified = new Date();
468
- update.__lastModifiedBy = issuer;
469
- let newData = yield this.dataModel.findByIdAndUpdate(id, update).then(res => {
470
- var _a;
471
- return (_a = res === null || res === void 0 ? void 0 : res.toObject()) !== null && _a !== void 0 ? _a : null;
472
- }).catch(error => {
473
- throw new fsm_dynamo_1.Dynamo_Error(Object.assign(Object.assign({}, this._getDefaultErrorSettings('findByIdAndUpdate', error, issuer)), { errorCode: 'NTS-DBS-FIU0', message: `findByIdAndUpdate ${this.dataParams.dbName} was unsuccessful (NTS DB)`, issuer }));
528
+ async findByIdAndUpdate(id, update, issuer) {
529
+ update.__lastModified = new Date();
530
+ update.__lastModifiedBy = issuer;
531
+ let newData = await this.dataModel.findByIdAndUpdate(id, update).then(res => {
532
+ return res?.toObject() ?? null;
533
+ }).catch(error => {
534
+ throw new fsm_dynamo_1.Dynamo_Error({
535
+ ...this._getDefaultErrorSettings('findByIdAndUpdate', error, issuer),
536
+ errorCode: 'NTS-DBS-FIU0',
537
+ message: `findByIdAndUpdate ${this.dataParams.dbName} was unsuccessful (NTS DB)`,
538
+ issuer,
474
539
  });
475
- newData = this.stringifyDataId(newData, 'findByIdAndUpdate');
476
- return newData;
477
540
  });
541
+ newData = this.stringifyDataId(newData, 'findByIdAndUpdate');
542
+ return newData;
478
543
  }
479
544
  /**
480
545
  * #MONGOOSE FUNCTION
@@ -528,12 +593,15 @@ class DynamoNTS_DBService {
528
593
  * $unset: // Removes the specified field from a document. (set: "" to value)
529
594
  * //
530
595
  */
531
- updateOne(filterBy, update, issuer) {
532
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
533
- update.__lastModified = new Date();
534
- update.__lastModifiedBy = issuer;
535
- yield this.dataModel.updateOne(filterBy, update).catch(error => {
536
- throw new fsm_dynamo_1.Dynamo_Error(Object.assign(Object.assign({}, this._getDefaultErrorSettings('updateOne', error, issuer)), { errorCode: 'NTS-DBS-UO0', message: `updateOne ${this.dataParams.dbName} was unsuccessful (NTS DB)`, issuer }));
596
+ async updateOne(filterBy, update, issuer) {
597
+ update.__lastModified = new Date();
598
+ update.__lastModifiedBy = issuer;
599
+ await this.dataModel.updateOne(filterBy, update).catch(error => {
600
+ throw new fsm_dynamo_1.Dynamo_Error({
601
+ ...this._getDefaultErrorSettings('updateOne', error, issuer),
602
+ errorCode: 'NTS-DBS-UO0',
603
+ message: `updateOne ${this.dataParams.dbName} was unsuccessful (NTS DB)`,
604
+ issuer,
537
605
  });
538
606
  });
539
607
  }
@@ -588,12 +656,15 @@ class DynamoNTS_DBService {
588
656
  * $unset: // Removes the specified field from a document. (set: "" to value)
589
657
  * //
590
658
  */
591
- updateMany(filterBy, update, issuer) {
592
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
593
- update.__lastModified = new Date();
594
- update.__lastModifiedBy = issuer;
595
- yield this.dataModel.updateMany(filterBy, update).catch(error => {
596
- throw new fsm_dynamo_1.Dynamo_Error(Object.assign(Object.assign({}, this._getDefaultErrorSettings('updateMany', error, issuer)), { errorCode: 'NTS-DBS-UM0', message: `updateMany ${this.dataParams.dbName} was unsuccessful (NTS DB)`, issuer }));
659
+ async updateMany(filterBy, update, issuer) {
660
+ update.__lastModified = new Date();
661
+ update.__lastModifiedBy = issuer;
662
+ await this.dataModel.updateMany(filterBy, update).catch(error => {
663
+ throw new fsm_dynamo_1.Dynamo_Error({
664
+ ...this._getDefaultErrorSettings('updateMany', error, issuer),
665
+ errorCode: 'NTS-DBS-UM0',
666
+ message: `updateMany ${this.dataParams.dbName} was unsuccessful (NTS DB)`,
667
+ issuer,
597
668
  });
598
669
  });
599
670
  }
@@ -602,7 +673,7 @@ class DynamoNTS_DBService {
602
673
  // ----------------------------------------------------------------------------------
603
674
  // PRIVATE FUNCTIONS
604
675
  stringifyDataId(data, fnName) {
605
- if ((data === null || data === void 0 ? void 0 : data._id) && (typeof data._id !== 'string' || typeof data._id === 'object')) {
676
+ if (data?._id && (typeof data._id !== 'string' || typeof data._id === 'object')) {
606
677
  data._id = `${data._id}`;
607
678
  if (typeof data._id !== 'string' || typeof data._id === 'object') {
608
679
  data = JSON.parse(JSON.stringify(data));
@@ -614,10 +685,9 @@ class DynamoNTS_DBService {
614
685
  return data;
615
686
  }
616
687
  _getDefaultErrorSettings(fnName, error, issuer) {
617
- var _a, _b;
618
688
  return {
619
- status: (_a = error === null || error === void 0 ? void 0 : error.___status) !== null && _a !== void 0 ? _a : 500,
620
- message: (_b = error === null || error === void 0 ? void 0 : error.message) !== null && _b !== void 0 ? _b : `${fnName} was UNSUCCESFUL (NTS-DB)`,
689
+ status: error?.___status ?? 500,
690
+ message: error?.message ?? `${fnName} was UNSUCCESFUL (NTS-DB)`,
621
691
  addECToUserMsg: true,
622
692
  userMessage: this.defaultErrorUserMsg,
623
693
  issuer: issuer,
@@ -652,9 +722,8 @@ class DynamoNTS_DBService {
652
722
  params = this.dataParams.modelParams;
653
723
  }
654
724
  params.forEach((property) => {
655
- var _a;
656
725
  const beType = this.getBEType(property.type);
657
- if (beType !== Object || !(property === null || property === void 0 ? void 0 : property.subObjectParams) || ((_a = property === null || property === void 0 ? void 0 : property.subObjectParams) === null || _a === void 0 ? void 0 : _a.length) == 0) {
726
+ if (beType !== Object || !property?.subObjectParams || property?.subObjectParams?.length == 0) {
658
727
  schemaSettingsObj[property.key] = {
659
728
  type: beType
660
729
  };