ismx-nexo-node-app 0.4.59 → 0.4.60
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.
|
@@ -71,6 +71,9 @@ class ServiceRestFormalTemplate {
|
|
|
71
71
|
let pageNumber = Number.parseInt(pageNumberStr);
|
|
72
72
|
return { maxResults, pageNumber };
|
|
73
73
|
}
|
|
74
|
+
extendEntity(entity) {
|
|
75
|
+
return entity;
|
|
76
|
+
}
|
|
74
77
|
/**
|
|
75
78
|
* Handles GET requests by retrieving a single record from the database based on the provided request.
|
|
76
79
|
*
|
|
@@ -80,7 +83,8 @@ class ServiceRestFormalTemplate {
|
|
|
80
83
|
serveGet(request) {
|
|
81
84
|
return __awaiter(this, void 0, void 0, function* () {
|
|
82
85
|
let id = this.getFormalId(request);
|
|
83
|
-
let
|
|
86
|
+
let entity = yield this.database.one(this.tableName, id);
|
|
87
|
+
let result = this.extendEntity(entity);
|
|
84
88
|
return Service_1.HttpResponse.ok(result);
|
|
85
89
|
});
|
|
86
90
|
}
|
|
@@ -92,7 +96,43 @@ class ServiceRestFormalTemplate {
|
|
|
92
96
|
*/
|
|
93
97
|
serveGetList(request) {
|
|
94
98
|
return __awaiter(this, void 0, void 0, function* () {
|
|
95
|
-
|
|
99
|
+
let entities = yield this.database.find(this.tableName, Object.assign({}, request.query));
|
|
100
|
+
let result = entities.map(this.extendEntity);
|
|
101
|
+
return Service_1.HttpResponse.ok(result);
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Serves a paginated response for the requested page entities.
|
|
106
|
+
*
|
|
107
|
+
* @param {HttpRequest} request The HTTP request containing details needed for pagination processing, such as query parameters.
|
|
108
|
+
* @return {Promise<HttpResponse<Pagination<Model>>>} A promise resolving to an HTTP response containing the paginated list of entities.
|
|
109
|
+
*/
|
|
110
|
+
servePage(request) {
|
|
111
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
112
|
+
let { maxResults, pageNumber } = this.getFormalPage(request);
|
|
113
|
+
let result = yield this.database.page(this.tableName, "timestamp", maxResults, pageNumber);
|
|
114
|
+
result.elements = result.elements.map(this.extendEntity);
|
|
115
|
+
return Service_1.HttpResponse.ok(result);
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Serves a map of models retrieved from the database based on the request query parameters.
|
|
120
|
+
*
|
|
121
|
+
* @param {HttpRequest} request - The HTTP request containing query parameters for retrieving models.
|
|
122
|
+
* @return {Promise<HttpResponse<{[key: string]: Model}>>} A promise that resolves to an HTTP response containing a map of models, where the key is derived from the indexed property of each model.
|
|
123
|
+
*/
|
|
124
|
+
serveMap(request) {
|
|
125
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
126
|
+
let results = yield this.database.find(this.tableName, Object.assign({}, request.query));
|
|
127
|
+
let response = {};
|
|
128
|
+
for (let result of results) {
|
|
129
|
+
let key = result[this.indexer];
|
|
130
|
+
if (!key)
|
|
131
|
+
return Service_1.HttpResponse.ok({});
|
|
132
|
+
else
|
|
133
|
+
response[key] = this.extendEntity(result);
|
|
134
|
+
}
|
|
135
|
+
return Service_1.HttpResponse.ok(response);
|
|
96
136
|
});
|
|
97
137
|
}
|
|
98
138
|
/**
|
|
@@ -114,6 +154,12 @@ class ServiceRestFormalTemplate {
|
|
|
114
154
|
return Service_1.HttpResponse.ok(result);
|
|
115
155
|
});
|
|
116
156
|
}
|
|
157
|
+
/**
|
|
158
|
+
* Handles PUT requests by updating an existing record in the database based on the provided request.
|
|
159
|
+
*
|
|
160
|
+
* @param {HttpRequest<Model>} request - The HTTP request containing the model data to be updated.
|
|
161
|
+
* @return {Promise<HttpResponse<Model>>} A promise that resolves to an HTTP response containing the updated model data.
|
|
162
|
+
*/
|
|
117
163
|
servePut(request) {
|
|
118
164
|
return __awaiter(this, void 0, void 0, function* () {
|
|
119
165
|
var _a;
|
|
@@ -123,6 +169,13 @@ class ServiceRestFormalTemplate {
|
|
|
123
169
|
return Service_1.HttpResponse.ok((yield this.serveGet({ query: { [this.indexer]: id } })).content);
|
|
124
170
|
});
|
|
125
171
|
}
|
|
172
|
+
/**
|
|
173
|
+
* Handles POST requests by adding a new record to the database based on the provided request.
|
|
174
|
+
*
|
|
175
|
+
* @param {HttpRequest<Transient<Model>>} request - The HTTP request containing the model data to be added.
|
|
176
|
+
* @return {Promise<HttpResponse<Model>>} A promise that resolves to an HTTP response containing the added model data.
|
|
177
|
+
*/
|
|
178
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
126
179
|
servePost(request) {
|
|
127
180
|
return __awaiter(this, void 0, void 0, function* () {
|
|
128
181
|
let result = yield this.database.add(this.tableName, request.body);
|
|
@@ -169,27 +222,6 @@ class ServiceRestFormalTemplate {
|
|
|
169
222
|
return Service_1.HttpResponse.ok(yield Promise.all(promises !== null && promises !== void 0 ? promises : []));
|
|
170
223
|
});
|
|
171
224
|
}
|
|
172
|
-
servePage(request) {
|
|
173
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
174
|
-
let { maxResults, pageNumber } = this.getFormalPage(request);
|
|
175
|
-
let results = yield this.database.page(this.tableName, "timestamp", maxResults, pageNumber);
|
|
176
|
-
return Service_1.HttpResponse.ok(results);
|
|
177
|
-
});
|
|
178
|
-
}
|
|
179
|
-
serveMap(request) {
|
|
180
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
181
|
-
let results = yield this.database.find(this.tableName, Object.assign({}, request.query));
|
|
182
|
-
let response = {};
|
|
183
|
-
for (let result of results) {
|
|
184
|
-
let key = result[this.indexer];
|
|
185
|
-
if (!key)
|
|
186
|
-
return Service_1.HttpResponse.ok({});
|
|
187
|
-
else
|
|
188
|
-
response[key] = result;
|
|
189
|
-
}
|
|
190
|
-
return Service_1.HttpResponse.ok(response);
|
|
191
|
-
});
|
|
192
|
-
}
|
|
193
225
|
serveSelect(request) {
|
|
194
226
|
return __awaiter(this, void 0, void 0, function* () {
|
|
195
227
|
var _a, _b, _c;
|
|
@@ -36,6 +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
40
|
/**
|
|
40
41
|
* Handles GET requests by retrieving a single record from the database based on the provided request.
|
|
41
42
|
*
|
|
@@ -50,6 +51,22 @@ export default class ServiceRestFormalTemplate<Model = any> {
|
|
|
50
51
|
* @return {Promise<HttpResponse<Model[]>>} A promise that resolves to an HTTP response containing an array of models.
|
|
51
52
|
*/
|
|
52
53
|
protected serveGetList(request: HttpRequest): Promise<HttpResponse<Model[]>>;
|
|
54
|
+
/**
|
|
55
|
+
* Serves a paginated response for the requested page entities.
|
|
56
|
+
*
|
|
57
|
+
* @param {HttpRequest} request The HTTP request containing details needed for pagination processing, such as query parameters.
|
|
58
|
+
* @return {Promise<HttpResponse<Pagination<Model>>>} A promise resolving to an HTTP response containing the paginated list of entities.
|
|
59
|
+
*/
|
|
60
|
+
protected servePage(request: HttpRequest): Promise<HttpResponse<Pagination<Model>>>;
|
|
61
|
+
/**
|
|
62
|
+
* Serves a map of models retrieved from the database based on the request query parameters.
|
|
63
|
+
*
|
|
64
|
+
* @param {HttpRequest} request - The HTTP request containing query parameters for retrieving models.
|
|
65
|
+
* @return {Promise<HttpResponse<{[key: string]: Model}>>} A promise that resolves to an HTTP response containing a map of models, where the key is derived from the indexed property of each model.
|
|
66
|
+
*/
|
|
67
|
+
protected serveMap(request: HttpRequest): Promise<HttpResponse<{
|
|
68
|
+
[key: string]: Model;
|
|
69
|
+
}>>;
|
|
53
70
|
/**
|
|
54
71
|
* Handles a GET request to retrieve a key-value mapping from the database table.
|
|
55
72
|
* Groups data based on provided key and value parameters, and returns a flattened keymap object.
|
|
@@ -60,7 +77,19 @@ export default class ServiceRestFormalTemplate<Model = any> {
|
|
|
60
77
|
protected serveGetKeymap(request: HttpRequest): Promise<HttpResponse<{
|
|
61
78
|
[key: string]: any;
|
|
62
79
|
}>>;
|
|
80
|
+
/**
|
|
81
|
+
* Handles PUT requests by updating an existing record in the database based on the provided request.
|
|
82
|
+
*
|
|
83
|
+
* @param {HttpRequest<Model>} request - The HTTP request containing the model data to be updated.
|
|
84
|
+
* @return {Promise<HttpResponse<Model>>} A promise that resolves to an HTTP response containing the updated model data.
|
|
85
|
+
*/
|
|
63
86
|
protected servePut(request: HttpRequest<Model>): Promise<HttpResponse<Model>>;
|
|
87
|
+
/**
|
|
88
|
+
* Handles POST requests by adding a new record to the database based on the provided request.
|
|
89
|
+
*
|
|
90
|
+
* @param {HttpRequest<Transient<Model>>} request - The HTTP request containing the model data to be added.
|
|
91
|
+
* @return {Promise<HttpResponse<Model>>} A promise that resolves to an HTTP response containing the added model data.
|
|
92
|
+
*/
|
|
64
93
|
protected servePost(request: HttpRequest<Transient<Model>>): Promise<HttpResponse<Model>>;
|
|
65
94
|
protected servePostList(request: HttpRequest<Model[]>): Promise<HttpResponse<Model[]>>;
|
|
66
95
|
protected servePostKeymap(request: HttpRequest<{
|
|
@@ -80,10 +109,6 @@ export default class ServiceRestFormalTemplate<Model = any> {
|
|
|
80
109
|
* @protected
|
|
81
110
|
*/
|
|
82
111
|
protected serveFullList(request: HttpRequest): Promise<HttpResponse<Model[]>>;
|
|
83
|
-
protected servePage(request: HttpRequest): Promise<HttpResponse<Pagination<Model>>>;
|
|
84
|
-
protected serveMap(request: HttpRequest): Promise<HttpResponse<{
|
|
85
|
-
[key: string]: Model;
|
|
86
|
-
}>>;
|
|
87
112
|
protected serveSelect(request: HttpRequest): Promise<HttpResponse<string[]>>;
|
|
88
113
|
protected serveExist(request: HttpRequest): Promise<HttpResponse<Boolean>>;
|
|
89
114
|
protected serveCount(request: HttpRequest): Promise<HttpResponse<Number>>;
|
package/package.json
CHANGED
|
@@ -84,6 +84,10 @@ export default class ServiceRestFormalTemplate<Model=any>
|
|
|
84
84
|
return { maxResults, pageNumber }
|
|
85
85
|
}
|
|
86
86
|
|
|
87
|
+
extendEntity<T extends Model>(entity : Model) : T {
|
|
88
|
+
return entity as T;
|
|
89
|
+
}
|
|
90
|
+
|
|
87
91
|
/**
|
|
88
92
|
* Handles GET requests by retrieving a single record from the database based on the provided request.
|
|
89
93
|
*
|
|
@@ -92,7 +96,8 @@ export default class ServiceRestFormalTemplate<Model=any>
|
|
|
92
96
|
*/
|
|
93
97
|
protected async serveGet(request: HttpRequest): Promise<HttpResponse<Model>> {
|
|
94
98
|
let id = this.getFormalId(request);
|
|
95
|
-
let
|
|
99
|
+
let entity = await this.database.one<Model>(this.tableName, id);
|
|
100
|
+
let result = this.extendEntity(entity);
|
|
96
101
|
return HttpResponse.ok(result);
|
|
97
102
|
}
|
|
98
103
|
|
|
@@ -103,7 +108,38 @@ export default class ServiceRestFormalTemplate<Model=any>
|
|
|
103
108
|
* @return {Promise<HttpResponse<Model[]>>} A promise that resolves to an HTTP response containing an array of models.
|
|
104
109
|
*/
|
|
105
110
|
protected async serveGetList(request: HttpRequest): Promise<HttpResponse<Model[]>> {
|
|
106
|
-
|
|
111
|
+
let entities = await this.database.find<Model>(this.tableName, { ...request.query });
|
|
112
|
+
let result = entities.map(this.extendEntity);
|
|
113
|
+
return HttpResponse.ok(result);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* Serves a paginated response for the requested page entities.
|
|
118
|
+
*
|
|
119
|
+
* @param {HttpRequest} request The HTTP request containing details needed for pagination processing, such as query parameters.
|
|
120
|
+
* @return {Promise<HttpResponse<Pagination<Model>>>} A promise resolving to an HTTP response containing the paginated list of entities.
|
|
121
|
+
*/
|
|
122
|
+
protected async servePage(request: HttpRequest): Promise<HttpResponse<Pagination<Model>>> {
|
|
123
|
+
let { maxResults, pageNumber } = this.getFormalPage(request);
|
|
124
|
+
let result = await this.database.page<Model>(this.tableName, "timestamp", maxResults, pageNumber);
|
|
125
|
+
result.elements = result.elements.map(this.extendEntity);
|
|
126
|
+
return HttpResponse.ok(result);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* Serves a map of models retrieved from the database based on the request query parameters.
|
|
131
|
+
*
|
|
132
|
+
* @param {HttpRequest} request - The HTTP request containing query parameters for retrieving models.
|
|
133
|
+
* @return {Promise<HttpResponse<{[key: string]: Model}>>} A promise that resolves to an HTTP response containing a map of models, where the key is derived from the indexed property of each model.
|
|
134
|
+
*/
|
|
135
|
+
protected async serveMap(request: HttpRequest): Promise<HttpResponse<{[key: string]: Model}>> {
|
|
136
|
+
let results = await this.database.find<Model>(this.tableName, { ...request.query });
|
|
137
|
+
let response: {[key: string]: Model} = {}; for (let result of results) {
|
|
138
|
+
let key = (result as any)[this.indexer];
|
|
139
|
+
if (!key) return HttpResponse.ok({});
|
|
140
|
+
else response[key] = this.extendEntity(result);
|
|
141
|
+
}
|
|
142
|
+
return HttpResponse.ok(response);
|
|
107
143
|
}
|
|
108
144
|
|
|
109
145
|
/**
|
|
@@ -122,6 +158,12 @@ export default class ServiceRestFormalTemplate<Model=any>
|
|
|
122
158
|
return HttpResponse.ok(result);
|
|
123
159
|
}
|
|
124
160
|
|
|
161
|
+
/**
|
|
162
|
+
* Handles PUT requests by updating an existing record in the database based on the provided request.
|
|
163
|
+
*
|
|
164
|
+
* @param {HttpRequest<Model>} request - The HTTP request containing the model data to be updated.
|
|
165
|
+
* @return {Promise<HttpResponse<Model>>} A promise that resolves to an HTTP response containing the updated model data.
|
|
166
|
+
*/
|
|
125
167
|
protected async servePut(request: HttpRequest<Model>): Promise<HttpResponse<Model>> {
|
|
126
168
|
let id = this.getFormalId(request);
|
|
127
169
|
delete request.body?.[this.indexer as keyof Model];
|
|
@@ -129,6 +171,13 @@ export default class ServiceRestFormalTemplate<Model=any>
|
|
|
129
171
|
return HttpResponse.ok((await this.serveGet({ query: { [this.indexer]: id } })).content);
|
|
130
172
|
}
|
|
131
173
|
|
|
174
|
+
/**
|
|
175
|
+
* Handles POST requests by adding a new record to the database based on the provided request.
|
|
176
|
+
*
|
|
177
|
+
* @param {HttpRequest<Transient<Model>>} request - The HTTP request containing the model data to be added.
|
|
178
|
+
* @return {Promise<HttpResponse<Model>>} A promise that resolves to an HTTP response containing the added model data.
|
|
179
|
+
*/
|
|
180
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
132
181
|
protected async servePost(request: HttpRequest<Transient<Model>>): Promise<HttpResponse<Model>> {
|
|
133
182
|
let result = await this.database.add<Model>(this.tableName, request.body);
|
|
134
183
|
let id = result[this.indexer as keyof Model] as unknown as string;
|
|
@@ -169,22 +218,6 @@ export default class ServiceRestFormalTemplate<Model=any>
|
|
|
169
218
|
return HttpResponse.ok(await Promise.all(promises ?? []));
|
|
170
219
|
}
|
|
171
220
|
|
|
172
|
-
protected async servePage(request: HttpRequest): Promise<HttpResponse<Pagination<Model>>> {
|
|
173
|
-
let { maxResults, pageNumber } = this.getFormalPage(request);
|
|
174
|
-
let results = await this.database.page<Model>(this.tableName, "timestamp", maxResults, pageNumber);
|
|
175
|
-
return HttpResponse.ok(results);
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
protected async serveMap(request: HttpRequest): Promise<HttpResponse<{[key: string]: Model}>> {
|
|
179
|
-
let results = await this.database.find<Model>(this.tableName, { ...request.query });
|
|
180
|
-
let response: {[key: string]: Model} = {}; for (let result of results) {
|
|
181
|
-
let key = (result as any)[this.indexer];
|
|
182
|
-
if (!key) return HttpResponse.ok({});
|
|
183
|
-
else response[key] = result;
|
|
184
|
-
}
|
|
185
|
-
return HttpResponse.ok(response);
|
|
186
|
-
}
|
|
187
|
-
|
|
188
221
|
protected async serveSelect(request: HttpRequest): Promise<HttpResponse<string[]>> {
|
|
189
222
|
let selection = request.query?.["selection"] ?? this.indexer;
|
|
190
223
|
delete request.query?.["selection"];
|