@futdevpro/nts-dynamo 1.6.58 → 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 (99) 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/_enums/http/socket-event-type.enum.d.ts +1 -0
  18. package/lib/_enums/http/socket-event-type.enum.d.ts.map +1 -1
  19. package/lib/_enums/http/socket-event-type.enum.js +1 -0
  20. package/lib/_enums/http/socket-event-type.enum.js.map +1 -1
  21. package/lib/_models/control-models/api-call-params.control-model.js +32 -0
  22. package/lib/_models/control-models/api-call-params.control-model.js.map +1 -1
  23. package/lib/_models/control-models/app-params.control-model.js +31 -4
  24. package/lib/_models/control-models/app-params.control-model.js.map +1 -1
  25. package/lib/_models/control-models/app-system-controls.control-model copy.js +3 -5
  26. package/lib/_models/control-models/app-system-controls.control-model copy.js.map +1 -1
  27. package/lib/_models/control-models/app-system-controls.control-model.js +4 -6
  28. package/lib/_models/control-models/app-system-controls.control-model.js.map +1 -1
  29. package/lib/_models/control-models/endpoint-params.control-model.js +91 -88
  30. package/lib/_models/control-models/endpoint-params.control-model.js.map +1 -1
  31. package/lib/_models/control-models/socket-client-service-params.control-model.js +8 -5
  32. package/lib/_models/control-models/socket-client-service-params.control-model.js.map +1 -1
  33. package/lib/_models/control-models/socket-event.control-model.js +35 -34
  34. package/lib/_models/control-models/socket-event.control-model.js.map +1 -1
  35. package/lib/_models/control-models/socket-presence.control-model.d.ts.map +1 -1
  36. package/lib/_models/control-models/socket-presence.control-model.js +14 -11
  37. package/lib/_models/control-models/socket-presence.control-model.js.map +1 -1
  38. package/lib/_models/control-models/socket-server-service-params.control-model.js +3 -0
  39. package/lib/_models/control-models/socket-server-service-params.control-model.js.map +1 -1
  40. package/lib/_models/control-models/system-control.control-model.js +3 -5
  41. package/lib/_models/control-models/system-control.control-model.js.map +1 -1
  42. package/lib/_modules/custom-data/custom-data.controller.js +6 -7
  43. package/lib/_modules/custom-data/custom-data.controller.js.map +1 -1
  44. package/lib/_modules/test/test.controller.js +12 -13
  45. package/lib/_modules/test/test.controller.js.map +1 -1
  46. package/lib/_modules/usage/usage.controller.js +15 -14
  47. package/lib/_modules/usage/usage.controller.js.map +1 -1
  48. package/lib/_modules/usage/usage.data-service.js +88 -96
  49. package/lib/_modules/usage/usage.data-service.js.map +1 -1
  50. package/lib/_services/base/data.service.d.ts +2 -0
  51. package/lib/_services/base/data.service.d.ts.map +1 -1
  52. package/lib/_services/base/data.service.js +376 -253
  53. package/lib/_services/base/data.service.js.map +1 -1
  54. package/lib/_services/base/db.service.d.ts +1 -0
  55. package/lib/_services/base/db.service.d.ts.map +1 -1
  56. package/lib/_services/base/db.service.js +321 -247
  57. package/lib/_services/base/db.service.js.map +1 -1
  58. package/lib/_services/base/singleton.service.js +2 -0
  59. package/lib/_services/base/singleton.service.js.map +1 -1
  60. package/lib/_services/core/api.service.js +185 -188
  61. package/lib/_services/core/api.service.js.map +1 -1
  62. package/lib/_services/core/auth.service.js +3 -3
  63. package/lib/_services/core/auth.service.js.map +1 -1
  64. package/lib/_services/core/email.service.js +103 -88
  65. package/lib/_services/core/email.service.js.map +1 -1
  66. package/lib/_services/core/global.service.d.ts +1 -1
  67. package/lib/_services/core/global.service.d.ts.map +1 -1
  68. package/lib/_services/core/global.service.js +41 -41
  69. package/lib/_services/core/global.service.js.map +1 -1
  70. package/lib/_services/route/controller.service.js +28 -0
  71. package/lib/_services/route/controller.service.js.map +1 -1
  72. package/lib/_services/route/routing-module.service.js +11 -8
  73. package/lib/_services/route/routing-module.service.js.map +1 -1
  74. package/lib/_services/server/app-extended.server.js +241 -247
  75. package/lib/_services/server/app-extended.server.js.map +1 -1
  76. package/lib/_services/server/app-extended.server.spec.js +18 -19
  77. package/lib/_services/server/app-extended.server.spec.js.map +1 -1
  78. package/lib/_services/server/app.server.d.ts +2 -1
  79. package/lib/_services/server/app.server.d.ts.map +1 -1
  80. package/lib/_services/server/app.server.js +413 -410
  81. package/lib/_services/server/app.server.js.map +1 -1
  82. package/lib/_services/server/app.server.spec.js +12 -13
  83. package/lib/_services/server/app.server.spec.js.map +1 -1
  84. package/lib/_services/shared.static-service.js +15 -17
  85. package/lib/_services/shared.static-service.js.map +1 -1
  86. package/lib/_services/socket/socket-client.service.js +134 -145
  87. package/lib/_services/socket/socket-client.service.js.map +1 -1
  88. package/lib/_services/socket/socket-server.service.js +294 -263
  89. package/lib/_services/socket/socket-server.service.js.map +1 -1
  90. package/lib/tsconfig.tsbuildinfo +1 -1
  91. package/package.json +19 -21
  92. package/src/_enums/http/socket-event-type.enum.ts +2 -0
  93. package/src/_models/control-models/socket-presence.control-model.ts +8 -2
  94. package/src/_services/base/data.service.ts +79 -0
  95. package/src/_services/base/db.service.ts +47 -28
  96. package/src/_services/core/global.service.ts +4 -2
  97. package/src/_services/server/app-extended.server.ts +2 -2
  98. package/src/_services/server/app.server.ts +18 -4
  99. 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,24 +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
- if (0 < dataList.length) {
159
- dataList.forEach((data) => {
160
- data = this.stringifyDataId(data, 'getDataListByDependencyId');
161
- });
162
- }
163
- return dataList;
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)`,
191
+ });
192
+ });
193
+ dataList.forEach((data) => {
194
+ data = this.stringifyDataId(data, 'getDataListByDependencyId');
195
+ });
196
+ return dataList;
197
+ }
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',
204
+ });
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)`,
213
+ });
214
+ });
215
+ dataList.forEach((data) => {
216
+ data = this.stringifyDataId(data, 'getDatasByDependencyIds');
164
217
  });
218
+ return dataList;
165
219
  }
166
220
  /**
167
221
  * get multiple data objects by a list of DependencyIDs,
@@ -170,24 +224,27 @@ class DynamoNTS_DBService {
170
224
  * @param ids ids
171
225
  * @returns dataList
172
226
  */
173
- getDataListByDependencyIds(ids) {
174
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
175
- if (!this.depDataName) {
176
- 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' }));
177
- }
178
- let dataList = yield this.dataModel.find({ [this.depDataName]: { $in: ids } }).then(res => {
179
- var _a;
180
- return (_a = res) !== null && _a !== void 0 ? _a : [];
181
- }).catch(error => {
182
- 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',
233
+ });
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)`,
183
242
  });
184
- if (0 < dataList.length) {
185
- dataList.forEach((data) => {
186
- data = this.stringifyDataId(data, 'getDataListByDependencyIds');
187
- });
188
- }
189
- return dataList;
190
243
  });
244
+ dataList.forEach((data) => {
245
+ data = this.stringifyDataId(data, 'getDataListByDependencyIds');
246
+ });
247
+ return dataList;
191
248
  }
192
249
  /**
193
250
  * returns all data from database,
@@ -195,31 +252,32 @@ class DynamoNTS_DBService {
195
252
  *
196
253
  * @returns dataList
197
254
  */
198
- getAll() {
199
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
200
- let dataList = yield this.dataModel.find({})
201
- .then(res => {
202
- var _a;
203
- return (_a = res) !== null && _a !== void 0 ? _a : [];
204
- }).catch(error => {
205
- 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)`,
206
264
  });
207
- if (0 < dataList.length && typeof dataList[0]._id === 'object') {
208
- dataList.forEach((data) => {
209
- data = this.stringifyDataId(data, 'getAll');
210
- });
211
- }
212
- return dataList;
213
265
  });
266
+ dataList.forEach((data) => {
267
+ data = this.stringifyDataId(data, 'getAll');
268
+ });
269
+ return dataList;
214
270
  }
215
271
  /**
216
272
  * deleted data by id
217
273
  * @param id id
218
274
  */
219
- deleteDataById(id) {
220
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
221
- yield this.dataModel.findByIdAndDelete(id).catch(error => {
222
- 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)`,
223
281
  });
224
282
  });
225
283
  }
@@ -227,13 +285,19 @@ class DynamoNTS_DBService {
227
285
  * deleted data by id
228
286
  * @param dependencyId id
229
287
  */
230
- deleteDataByDependencyId(dependencyId) {
231
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
232
- if (!this.depDataName) {
233
- 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' }));
234
- }
235
- yield this.dataModel.deleteMany({ [this.depDataName]: dependencyId }).catch(error => {
236
- 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)`,
237
301
  });
238
302
  });
239
303
  }
@@ -245,71 +309,75 @@ class DynamoNTS_DBService {
245
309
  * @param narrowByDependencyIds id
246
310
  * @returns dataList
247
311
  */
248
- searchData(filterBy, narrowByDependencyIds) {
249
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
250
- const filter = {};
251
- if (0 < narrowByDependencyIds.length) {
252
- if (!this.depDataName) {
253
- 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' }));
254
- }
255
- 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
+ });
256
321
  }
257
- yield this.dataParams.modelParams.forEach((modelParam) => {
258
- if ((filterBy[modelParam.key] !== null && filterBy[modelParam.key] !== undefined) ||
259
- filterBy[modelParam.key + 'Range']) {
260
- if (modelParam.key.includes('Range') || modelParam.type.includes('[]')) {
261
- // inverz search filter (for Range and Array functions)
262
- if (modelParam.key.includes('Range')) {
263
- const searchParamKeyWithoutRange = modelParam.key.split('Range')[0];
264
- if (filterBy[searchParamKeyWithoutRange] !== null &&
265
- filterBy[searchParamKeyWithoutRange] !== undefined) {
266
- filter[modelParam.key] = {
267
- from: { $lte: filterBy[searchParamKeyWithoutRange] },
268
- to: { $gte: filterBy[searchParamKeyWithoutRange] }
269
- };
270
- }
271
- }
272
- else {
273
- if (filterBy[modelParam.key] !== null &&
274
- filterBy[modelParam.key] !== undefined) {
275
- filter[modelParam.key] = { $in: filterBy[modelParam.key] };
276
- }
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
+ };
277
337
  }
278
338
  }
279
339
  else {
280
- // basic search filter
281
- if (filterBy[modelParam.key + 'Range']) {
282
- if (filterBy[modelParam.key + 'Range'].from || filterBy[modelParam.key + 'Range'].to) {
283
- filter[modelParam.key] = {};
284
- if (filterBy[modelParam.key + 'Range'].from) {
285
- filter[modelParam.key].$gte = filterBy[modelParam.key + 'Range'].from;
286
- }
287
- if (filterBy[modelParam.key + 'Range'].to) {
288
- filter[modelParam.key].$lte = filterBy[modelParam.key + 'Range'].to;
289
- }
290
- }
340
+ if (filterBy[modelParam.key] !== null &&
341
+ filterBy[modelParam.key] !== undefined) {
342
+ filter[modelParam.key] = { $in: filterBy[modelParam.key] };
291
343
  }
292
- else if (filterBy[modelParam.key] !== null && filterBy[modelParam.key] !== undefined) {
293
- if (filterBy[modelParam.key].lenght > 0) {
294
- 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;
295
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] };
296
362
  }
297
363
  }
298
364
  }
299
- });
300
- let dataList = yield this.dataModel
301
- .find(filter)
302
- .then(res => res !== null && res !== void 0 ? res : [])
303
- .catch(error => {
304
- 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)` }));
305
- });
306
- if (0 < dataList.length) {
307
- dataList.forEach((data) => {
308
- data = this.stringifyDataId(data, 'searchData');
309
- });
310
365
  }
311
- return dataList;
312
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)`,
375
+ });
376
+ });
377
+ dataList.forEach((data) => {
378
+ data = this.stringifyDataId(data, 'searchData');
379
+ });
380
+ return dataList;
313
381
  }
314
382
  // ----------------------------------------------------------------------------------
315
383
  // ----------------------------------------------------------------------------------
@@ -341,17 +409,18 @@ class DynamoNTS_DBService {
341
409
  * //
342
410
  * @returns {T} data: T
343
411
  */
344
- findOne(filterBy) {
345
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
346
- let data = yield this.dataModel.findOne(filterBy).then(res => {
347
- var _a;
348
- return (_a = res) !== null && _a !== void 0 ? _a : null;
349
- }).catch(error => {
350
- 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}`,
351
420
  });
352
- data = this.stringifyDataId(data, 'findOne');
353
- return data;
354
421
  });
422
+ data = this.stringifyDataId(data, 'findOne');
423
+ return data;
355
424
  }
356
425
  /**
357
426
  * #MONGOOSE FUNCTION
@@ -380,22 +449,21 @@ class DynamoNTS_DBService {
380
449
  * //
381
450
  * @returns {T[]} dataList: T[]
382
451
  */
383
- find(filterBy) {
384
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
385
- let dataList = yield this.dataModel.find(filterBy)
386
- .then(res => {
387
- var _a;
388
- return (_a = res) !== null && _a !== void 0 ? _a : [];
389
- }).catch(error => {
390
- 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)`,
391
461
  });
392
- if (0 < dataList.length) {
393
- dataList.forEach((data) => {
394
- data = this.stringifyDataId(data, 'find');
395
- });
396
- }
397
- return dataList;
398
462
  });
463
+ dataList.forEach((data) => {
464
+ data = this.stringifyDataId(data, 'find');
465
+ });
466
+ return dataList;
399
467
  }
400
468
  /**
401
469
  * #MONGOOSE FUNCTION
@@ -430,23 +498,23 @@ class DynamoNTS_DBService {
430
498
  * //
431
499
  * @returns {T[]} dataList: T[]
432
500
  */
433
- findWithPaging(filterBy, page, pageSize, sort) {
434
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
435
- let dataList = yield this.dataModel.find(filterBy)
436
- .sort(sort)
437
- .skip(page * pageSize)
438
- .limit(pageSize)
439
- .then(res => res !== null && res !== void 0 ? res : [])
440
- .catch(error => {
441
- 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)`,
442
512
  });
443
- if (0 < dataList.length) {
444
- dataList.forEach((data) => {
445
- data = this.stringifyDataId(data, 'findWithPaging');
446
- });
447
- }
448
- return dataList;
449
513
  });
514
+ dataList.forEach((data) => {
515
+ data = this.stringifyDataId(data, 'findWithPaging');
516
+ });
517
+ return dataList;
450
518
  }
451
519
  /**
452
520
  * #MONGOOSE FUNCTION
@@ -457,19 +525,21 @@ class DynamoNTS_DBService {
457
525
  * @param update update
458
526
  * @returns data
459
527
  */
460
- findByIdAndUpdate(id, update, issuer) {
461
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
462
- update.__lastModified = new Date();
463
- update.__lastModifiedBy = issuer;
464
- let newData = yield this.dataModel.findByIdAndUpdate(id, update).then(res => {
465
- var _a;
466
- return (_a = res === null || res === void 0 ? void 0 : res.toObject()) !== null && _a !== void 0 ? _a : null;
467
- }).catch(error => {
468
- 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,
469
539
  });
470
- newData = this.stringifyDataId(newData, 'findByIdAndUpdate');
471
- return newData;
472
540
  });
541
+ newData = this.stringifyDataId(newData, 'findByIdAndUpdate');
542
+ return newData;
473
543
  }
474
544
  /**
475
545
  * #MONGOOSE FUNCTION
@@ -523,12 +593,15 @@ class DynamoNTS_DBService {
523
593
  * $unset: // Removes the specified field from a document. (set: "" to value)
524
594
  * //
525
595
  */
526
- updateOne(filterBy, update, issuer) {
527
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
528
- update.__lastModified = new Date();
529
- update.__lastModifiedBy = issuer;
530
- yield this.dataModel.updateOne(filterBy, update).catch(error => {
531
- 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,
532
605
  });
533
606
  });
534
607
  }
@@ -583,12 +656,15 @@ class DynamoNTS_DBService {
583
656
  * $unset: // Removes the specified field from a document. (set: "" to value)
584
657
  * //
585
658
  */
586
- updateMany(filterBy, update, issuer) {
587
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
588
- update.__lastModified = new Date();
589
- update.__lastModifiedBy = issuer;
590
- yield this.dataModel.updateMany(filterBy, update).catch(error => {
591
- 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,
592
668
  });
593
669
  });
594
670
  }
@@ -597,7 +673,7 @@ class DynamoNTS_DBService {
597
673
  // ----------------------------------------------------------------------------------
598
674
  // PRIVATE FUNCTIONS
599
675
  stringifyDataId(data, fnName) {
600
- 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')) {
601
677
  data._id = `${data._id}`;
602
678
  if (typeof data._id !== 'string' || typeof data._id === 'object') {
603
679
  data = JSON.parse(JSON.stringify(data));
@@ -609,10 +685,9 @@ class DynamoNTS_DBService {
609
685
  return data;
610
686
  }
611
687
  _getDefaultErrorSettings(fnName, error, issuer) {
612
- var _a, _b;
613
688
  return {
614
- status: (_a = error === null || error === void 0 ? void 0 : error.___status) !== null && _a !== void 0 ? _a : 500,
615
- 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)`,
616
691
  addECToUserMsg: true,
617
692
  userMessage: this.defaultErrorUserMsg,
618
693
  issuer: issuer,
@@ -647,9 +722,8 @@ class DynamoNTS_DBService {
647
722
  params = this.dataParams.modelParams;
648
723
  }
649
724
  params.forEach((property) => {
650
- var _a;
651
725
  const beType = this.getBEType(property.type);
652
- 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) {
653
727
  schemaSettingsObj[property.key] = {
654
728
  type: beType
655
729
  };