ismx-nexo-node-app 0.4.144 → 0.4.149
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.
- package/dist/js/api/ServiceRestFormalTemplate.js +7 -11
- package/dist/js/business/FormalLoopbackBusiness.js +5 -0
- package/dist/js/business/FormalProxyBusiness.js +5 -0
- package/dist/types/api/ServiceRestFormalTemplate.d.ts +2 -2
- package/dist/types/business/FormalLoopbackBusiness.d.ts +2 -0
- package/dist/types/business/FormalProxyBusiness.d.ts +2 -0
- package/package.json +1 -1
- package/src/main/node/api/ServiceRestFormalTemplate.ts +8 -10
- package/src/main/node/business/FormalLoopbackBusiness.ts +5 -0
- package/src/main/node/business/FormalProxyBusiness.ts +6 -0
|
@@ -57,15 +57,11 @@ class ServiceRestFormalTemplate {
|
|
|
57
57
|
}
|
|
58
58
|
getFormalPage(request) {
|
|
59
59
|
var _a, _b;
|
|
60
|
-
let
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
let
|
|
64
|
-
|
|
65
|
-
if (!pageNumberStr)
|
|
66
|
-
throw new Error();
|
|
67
|
-
let pageNumber = Number.parseInt(pageNumberStr);
|
|
68
|
-
return { maxResults, pageNumber };
|
|
60
|
+
let sizeStr = (_a = request.query) === null || _a === void 0 ? void 0 : _a["size"];
|
|
61
|
+
let size = Number.isInteger(sizeStr) ? Number.parseInt(sizeStr) : 50;
|
|
62
|
+
let pageStr = (_b = request.query) === null || _b === void 0 ? void 0 : _b["page"];
|
|
63
|
+
let page = Number.isInteger(pageStr) ? Number.parseInt(pageStr) : 0;
|
|
64
|
+
return { size, page };
|
|
69
65
|
}
|
|
70
66
|
extendEntity(entity) {
|
|
71
67
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -110,9 +106,9 @@ class ServiceRestFormalTemplate {
|
|
|
110
106
|
*/
|
|
111
107
|
servePage(request) {
|
|
112
108
|
return __awaiter(this, void 0, void 0, function* () {
|
|
113
|
-
let {
|
|
109
|
+
let { size, page } = this.getFormalPage(request);
|
|
114
110
|
let filters = Object.assign(Object.assign({}, this.extendFilters(request)), request.query);
|
|
115
|
-
let result = yield this.database.page(this.tableName, "timestamp",
|
|
111
|
+
let result = yield this.database.page(this.tableName, "timestamp", size, page, filters);
|
|
116
112
|
result.elements = yield Promise.all(result.elements.map((entity) => this.extendEntity(entity)));
|
|
117
113
|
return Service_1.HttpResponse.ok(result);
|
|
118
114
|
});
|
|
@@ -48,6 +48,11 @@ class FormalLoopbackBusiness extends LoopbackBusiness_1.default {
|
|
|
48
48
|
return this.call(tag, 'GET', '/map', request);
|
|
49
49
|
});
|
|
50
50
|
}
|
|
51
|
+
page(tag_1) {
|
|
52
|
+
return __awaiter(this, arguments, void 0, function* (tag, request = {}) {
|
|
53
|
+
return this.call(tag, 'GET', '/page', request);
|
|
54
|
+
});
|
|
55
|
+
}
|
|
51
56
|
exist(tag_1) {
|
|
52
57
|
return __awaiter(this, arguments, void 0, function* (tag, request = {}) {
|
|
53
58
|
return this.call(tag, 'GET', '/exist', request);
|
|
@@ -43,6 +43,11 @@ class FormalProxyBusiness extends ProxyBusiness_1.default {
|
|
|
43
43
|
return this.call(tag, 'GET', '/keymap', request);
|
|
44
44
|
});
|
|
45
45
|
}
|
|
46
|
+
page(tag_1) {
|
|
47
|
+
return __awaiter(this, arguments, void 0, function* (tag, request = {}) {
|
|
48
|
+
return this.call(tag, 'GET', '/page', request);
|
|
49
|
+
});
|
|
50
|
+
}
|
|
46
51
|
map(tag_1) {
|
|
47
52
|
return __awaiter(this, arguments, void 0, function* (tag, request = {}) {
|
|
48
53
|
return this.call(tag, 'GET', '/map', request);
|
|
@@ -31,8 +31,8 @@ export default class ServiceRestFormalTemplate<Model = any> {
|
|
|
31
31
|
protected indexer: string;
|
|
32
32
|
getFormalId(request: HttpRequest): string;
|
|
33
33
|
getFormalPage(request: HttpRequest): {
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
size: number;
|
|
35
|
+
page: number;
|
|
36
36
|
};
|
|
37
37
|
extendEntity<T extends Model = Model>(entity: Model): Promise<T>;
|
|
38
38
|
extendFilters(request: HttpRequest): Partial<Transient<Model>>;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { HttpRequest } from "../api/Service";
|
|
2
2
|
import LoopbackBusiness from "./LoopbackBusiness";
|
|
3
|
+
import { Pagination } from "../index";
|
|
3
4
|
export default class FormalLoopbackBusiness extends LoopbackBusiness {
|
|
4
5
|
constructor();
|
|
5
6
|
get<Res>(tag: string, request?: HttpRequest): Promise<Res>;
|
|
@@ -12,6 +13,7 @@ export default class FormalLoopbackBusiness extends LoopbackBusiness {
|
|
|
12
13
|
map<Res>(tag: string, request?: HttpRequest): Promise<{
|
|
13
14
|
[key: string]: Res;
|
|
14
15
|
}>;
|
|
16
|
+
page<Res>(tag: string, request?: HttpRequest): Promise<Pagination<Res>>;
|
|
15
17
|
exist(tag: string, request?: HttpRequest): Promise<boolean>;
|
|
16
18
|
post<Res>(tag: string, request?: HttpRequest): Promise<Res>;
|
|
17
19
|
put<Res>(tag: string, request?: HttpRequest): Promise<Res>;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { HttpRequest } from "../api/Service";
|
|
2
2
|
import ProxyBusiness from "./ProxyBusiness";
|
|
3
|
+
import { Pagination } from "../index";
|
|
3
4
|
export default class FormalProxyBusiness extends ProxyBusiness {
|
|
4
5
|
constructor();
|
|
5
6
|
get<Res>(tag: string, request?: HttpRequest): Promise<Res>;
|
|
@@ -9,6 +10,7 @@ export default class FormalProxyBusiness extends ProxyBusiness {
|
|
|
9
10
|
keymap(tag: string, request?: HttpRequest): Promise<{
|
|
10
11
|
[key: string]: string;
|
|
11
12
|
}>;
|
|
13
|
+
page<Res>(tag: string, request?: HttpRequest): Promise<Pagination<Res>>;
|
|
12
14
|
map<Res>(tag: string, request?: HttpRequest): Promise<{
|
|
13
15
|
[key: string]: Res;
|
|
14
16
|
}>;
|
package/package.json
CHANGED
|
@@ -68,14 +68,12 @@ export default class ServiceRestFormalTemplate<Model=any>
|
|
|
68
68
|
else return id;
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
-
getFormalPage(request: HttpRequest): {
|
|
72
|
-
let
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
let pageNumber = Number.parseInt(pageNumberStr);
|
|
78
|
-
return { maxResults, pageNumber }
|
|
71
|
+
getFormalPage(request: HttpRequest): { size: number, page: number } {
|
|
72
|
+
let sizeStr = request.query?.["size"];
|
|
73
|
+
let size = Number.isInteger(sizeStr) ? Number.parseInt(sizeStr!) : 50;
|
|
74
|
+
let pageStr = request.query?.["page"];
|
|
75
|
+
let page = Number.isInteger(pageStr) ? Number.parseInt(pageStr!) : 0;
|
|
76
|
+
return { size, page };
|
|
79
77
|
}
|
|
80
78
|
|
|
81
79
|
async extendEntity<T extends Model = Model>(entity : Model) : Promise<T> {
|
|
@@ -118,9 +116,9 @@ export default class ServiceRestFormalTemplate<Model=any>
|
|
|
118
116
|
* @return {Promise<HttpResponse<Pagination<Model>>>} A promise resolving to an HTTP response containing the paginated list of entities.
|
|
119
117
|
*/
|
|
120
118
|
protected async servePage(request: HttpRequest): Promise<HttpResponse<Pagination<Model>>> {
|
|
121
|
-
let {
|
|
119
|
+
let { size, page } = this.getFormalPage(request);
|
|
122
120
|
let filters = { ...this.extendFilters(request), ...request.query };
|
|
123
|
-
let result = await this.database.page<Model>(this.tableName, "timestamp",
|
|
121
|
+
let result = await this.database.page<Model>(this.tableName, "timestamp", size, page, filters);
|
|
124
122
|
result.elements = await Promise.all(result.elements.map((entity) => this.extendEntity(entity)));
|
|
125
123
|
return HttpResponse.ok(result);
|
|
126
124
|
}
|
|
@@ -6,6 +6,7 @@ import fetch from "node-fetch";
|
|
|
6
6
|
import LoopbackBusiness from "./LoopbackBusiness";
|
|
7
7
|
import RepositoryRestFormal from "../repository/RepositoryRestFormal";
|
|
8
8
|
import RepositoryRest from "../repository/RepositoryRest";
|
|
9
|
+
import {Pagination} from "../index";
|
|
9
10
|
|
|
10
11
|
export default class FormalLoopbackBusiness extends LoopbackBusiness {
|
|
11
12
|
|
|
@@ -37,6 +38,10 @@ export default class FormalLoopbackBusiness extends LoopbackBusiness {
|
|
|
37
38
|
return this.call<{ [key:string]: Res }>(tag, 'GET', '/map', request);
|
|
38
39
|
}
|
|
39
40
|
|
|
41
|
+
async page<Res>(tag: string, request: HttpRequest = {}): Promise<Pagination<Res>> {
|
|
42
|
+
return this.call<Pagination<Res>>(tag, 'GET', '/page', request);
|
|
43
|
+
}
|
|
44
|
+
|
|
40
45
|
async exist(tag: string, request: HttpRequest = {}): Promise<boolean> {
|
|
41
46
|
return this.call<boolean>(tag, 'GET', '/exist', request);
|
|
42
47
|
}
|
|
@@ -4,6 +4,7 @@ import {Wrapper} from "../api/ServiceRestFormal";
|
|
|
4
4
|
import Business from "./Business";
|
|
5
5
|
import fetch from "node-fetch";
|
|
6
6
|
import RepositoryRest from "../repository/RepositoryRest";
|
|
7
|
+
import {Pagination} from "../index";
|
|
7
8
|
|
|
8
9
|
export default class FormalProxyBusiness extends ProxyBusiness {
|
|
9
10
|
|
|
@@ -31,6 +32,10 @@ export default class FormalProxyBusiness extends ProxyBusiness {
|
|
|
31
32
|
return this.call<{ [key:string]: string }>(tag, 'GET', '/keymap', request);
|
|
32
33
|
}
|
|
33
34
|
|
|
35
|
+
async page<Res>(tag: string, request: HttpRequest = {}): Promise<Pagination<Res>> {
|
|
36
|
+
return this.call<Pagination<Res>>(tag, 'GET', '/page', request);
|
|
37
|
+
}
|
|
38
|
+
|
|
34
39
|
async map<Res>(tag: string, request: HttpRequest = {}): Promise<{ [key:string]: Res }> {
|
|
35
40
|
return this.call<{ [key:string]: Res }>(tag, 'GET', '/map', request);
|
|
36
41
|
}
|
|
@@ -55,6 +60,7 @@ export default class FormalProxyBusiness extends ProxyBusiness {
|
|
|
55
60
|
return this.deformalize(() => super.call<any, Wrapper<Res>>(tag, method, endpoint, request));
|
|
56
61
|
}
|
|
57
62
|
|
|
63
|
+
|
|
58
64
|
private async deformalize<Res>(call: () => Promise<fetch.Response>): Promise<Res> {
|
|
59
65
|
let result = await call();
|
|
60
66
|
if (result.ok) {
|