ismx-nexo-node-app 0.4.60 → 0.4.62

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.
@@ -72,7 +72,9 @@ class ServiceRestFormalTemplate {
72
72
  return { maxResults, pageNumber };
73
73
  }
74
74
  extendEntity(entity) {
75
- return entity;
75
+ return __awaiter(this, void 0, void 0, function* () {
76
+ return entity;
77
+ });
76
78
  }
77
79
  /**
78
80
  * Handles GET requests by retrieving a single record from the database based on the provided request.
@@ -84,7 +86,7 @@ class ServiceRestFormalTemplate {
84
86
  return __awaiter(this, void 0, void 0, function* () {
85
87
  let id = this.getFormalId(request);
86
88
  let entity = yield this.database.one(this.tableName, id);
87
- let result = this.extendEntity(entity);
89
+ let result = yield this.extendEntity(entity);
88
90
  return Service_1.HttpResponse.ok(result);
89
91
  });
90
92
  }
@@ -97,7 +99,7 @@ class ServiceRestFormalTemplate {
97
99
  serveGetList(request) {
98
100
  return __awaiter(this, void 0, void 0, function* () {
99
101
  let entities = yield this.database.find(this.tableName, Object.assign({}, request.query));
100
- let result = entities.map(this.extendEntity);
102
+ let result = yield Promise.all(entities.map((entity) => this.extendEntity(entity)));
101
103
  return Service_1.HttpResponse.ok(result);
102
104
  });
103
105
  }
@@ -111,7 +113,7 @@ class ServiceRestFormalTemplate {
111
113
  return __awaiter(this, void 0, void 0, function* () {
112
114
  let { maxResults, pageNumber } = this.getFormalPage(request);
113
115
  let result = yield this.database.page(this.tableName, "timestamp", maxResults, pageNumber);
114
- result.elements = result.elements.map(this.extendEntity);
116
+ result.elements = yield Promise.all(result.elements.map((entity) => this.extendEntity(entity)));
115
117
  return Service_1.HttpResponse.ok(result);
116
118
  });
117
119
  }
@@ -132,6 +134,7 @@ class ServiceRestFormalTemplate {
132
134
  else
133
135
  response[key] = this.extendEntity(result);
134
136
  }
137
+ yield Promise.all(Object.values(response));
135
138
  return Service_1.HttpResponse.ok(response);
136
139
  });
137
140
  }
@@ -165,8 +168,9 @@ class ServiceRestFormalTemplate {
165
168
  var _a;
166
169
  let id = this.getFormalId(request);
167
170
  (_a = request.body) === null || _a === void 0 ? true : delete _a[this.indexer];
168
- let result = yield this.database.update(this.tableName, id, request.body);
169
- return Service_1.HttpResponse.ok((yield this.serveGet({ query: { [this.indexer]: id } })).content);
171
+ let entity = yield this.database.update(this.tableName, id, request.body);
172
+ let result = (yield this.serveGet({ query: { [this.indexer]: id } })).content;
173
+ return Service_1.HttpResponse.ok(result);
170
174
  });
171
175
  }
172
176
  /**
@@ -178,9 +182,10 @@ class ServiceRestFormalTemplate {
178
182
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
179
183
  servePost(request) {
180
184
  return __awaiter(this, void 0, void 0, function* () {
181
- let result = yield this.database.add(this.tableName, request.body);
182
- let id = result[this.indexer];
183
- return Service_1.HttpResponse.ok((yield this.serveGet({ query: { [this.indexer]: id } })).content);
185
+ let entity = yield this.database.add(this.tableName, request.body);
186
+ let id = entity[this.indexer];
187
+ let result = (yield this.serveGet({ query: { [this.indexer]: id } })).content;
188
+ return Service_1.HttpResponse.ok(result);
184
189
  });
185
190
  }
186
191
  servePostList(request) {
@@ -36,7 +36,7 @@ export default class ServiceRestFormalTemplate<Model = any> {
36
36
  maxResults: number;
37
37
  pageNumber: number;
38
38
  };
39
- extendEntity<T extends Model>(entity: Model): T;
39
+ extendEntity<T extends Model = Model>(entity: Model): Promise<T>;
40
40
  /**
41
41
  * Handles GET requests by retrieving a single record from the database based on the provided request.
42
42
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ismx-nexo-node-app",
3
- "version": "0.4.60",
3
+ "version": "0.4.62",
4
4
  "description": "",
5
5
  "scripts": {
6
6
  "build": "rm -rf ./dist && npx tsc",
@@ -84,7 +84,7 @@ export default class ServiceRestFormalTemplate<Model=any>
84
84
  return { maxResults, pageNumber }
85
85
  }
86
86
 
87
- extendEntity<T extends Model>(entity : Model) : T {
87
+ async extendEntity<T extends Model = Model>(entity : Model) : Promise<T> {
88
88
  return entity as T;
89
89
  }
90
90
 
@@ -97,7 +97,7 @@ export default class ServiceRestFormalTemplate<Model=any>
97
97
  protected async serveGet(request: HttpRequest): Promise<HttpResponse<Model>> {
98
98
  let id = this.getFormalId(request);
99
99
  let entity = await this.database.one<Model>(this.tableName, id);
100
- let result = this.extendEntity(entity);
100
+ let result = await this.extendEntity(entity);
101
101
  return HttpResponse.ok(result);
102
102
  }
103
103
 
@@ -109,7 +109,7 @@ export default class ServiceRestFormalTemplate<Model=any>
109
109
  */
110
110
  protected async serveGetList(request: HttpRequest): Promise<HttpResponse<Model[]>> {
111
111
  let entities = await this.database.find<Model>(this.tableName, { ...request.query });
112
- let result = entities.map(this.extendEntity);
112
+ let result = await Promise.all(entities.map((entity) => this.extendEntity(entity)));
113
113
  return HttpResponse.ok(result);
114
114
  }
115
115
 
@@ -122,7 +122,7 @@ export default class ServiceRestFormalTemplate<Model=any>
122
122
  protected async servePage(request: HttpRequest): Promise<HttpResponse<Pagination<Model>>> {
123
123
  let { maxResults, pageNumber } = this.getFormalPage(request);
124
124
  let result = await this.database.page<Model>(this.tableName, "timestamp", maxResults, pageNumber);
125
- result.elements = result.elements.map(this.extendEntity);
125
+ result.elements = await Promise.all(result.elements.map((entity) => this.extendEntity(entity)));
126
126
  return HttpResponse.ok(result);
127
127
  }
128
128
 
@@ -134,11 +134,13 @@ export default class ServiceRestFormalTemplate<Model=any>
134
134
  */
135
135
  protected async serveMap(request: HttpRequest): Promise<HttpResponse<{[key: string]: Model}>> {
136
136
  let results = await this.database.find<Model>(this.tableName, { ...request.query });
137
- let response: {[key: string]: Model} = {}; for (let result of results) {
137
+ let response: {[key: string]: Promise<Model>} = {};
138
+ for (let result of results) {
138
139
  let key = (result as any)[this.indexer];
139
140
  if (!key) return HttpResponse.ok({});
140
141
  else response[key] = this.extendEntity(result);
141
142
  }
143
+ await Promise.all(Object.values(response));
142
144
  return HttpResponse.ok(response);
143
145
  }
144
146
 
@@ -167,8 +169,9 @@ export default class ServiceRestFormalTemplate<Model=any>
167
169
  protected async servePut(request: HttpRequest<Model>): Promise<HttpResponse<Model>> {
168
170
  let id = this.getFormalId(request);
169
171
  delete request.body?.[this.indexer as keyof Model];
170
- let result = await this.database.update<Model>(this.tableName, id, request.body);
171
- return HttpResponse.ok((await this.serveGet({ query: { [this.indexer]: id } })).content);
172
+ let entity = await this.database.update<Model>(this.tableName, id, request.body);
173
+ let result = (await this.serveGet({ query: { [this.indexer]: id } })).content;
174
+ return HttpResponse.ok(result);
172
175
  }
173
176
 
174
177
  /**
@@ -179,9 +182,10 @@ export default class ServiceRestFormalTemplate<Model=any>
179
182
  */
180
183
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
181
184
  protected async servePost(request: HttpRequest<Transient<Model>>): Promise<HttpResponse<Model>> {
182
- let result = await this.database.add<Model>(this.tableName, request.body);
183
- let id = result[this.indexer as keyof Model] as unknown as string;
184
- return HttpResponse.ok((await this.serveGet({ query: { [this.indexer]: id } } )).content);
185
+ let entity = await this.database.add<Model>(this.tableName, request.body);
186
+ let id = entity[this.indexer as keyof Model] as unknown as string;
187
+ let result = (await this.serveGet({ query: { [this.indexer]: id } })).content
188
+ return HttpResponse.ok(result);
185
189
  }
186
190
 
187
191
  protected async servePostList(request: HttpRequest<Model[]>): Promise<HttpResponse<Model[]>> {