ismx-nexo-node-app 0.4.31 → 0.4.32
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 +29 -0
- package/dist/js/business/BusinessThread.js +12 -5
- package/dist/types/api/ServiceRestFormalTemplate.d.ts +29 -0
- package/dist/types/business/BusinessThread.d.ts +6 -2
- package/package.json +1 -1
- package/src/main/node/api/ServiceRestFormalTemplate.ts +29 -0
- package/src/main/node/business/BusinessThread.ts +17 -6
|
@@ -71,6 +71,12 @@ class ServiceRestFormalTemplate {
|
|
|
71
71
|
let pageNumber = Number.parseInt(pageNumberStr);
|
|
72
72
|
return { maxResults, pageNumber };
|
|
73
73
|
}
|
|
74
|
+
/**
|
|
75
|
+
* Handles GET requests by retrieving a single record from the database based on the provided request.
|
|
76
|
+
*
|
|
77
|
+
* @param {HttpRequest} request - The HTTP request object containing the necessary parameters to process the request.
|
|
78
|
+
* @return {Promise<HttpResponse<Model>>} A promise that resolves to an HTTP response containing the retrieved model data.
|
|
79
|
+
*/
|
|
74
80
|
serveGet(request) {
|
|
75
81
|
return __awaiter(this, void 0, void 0, function* () {
|
|
76
82
|
let id = this.getFormalId(request);
|
|
@@ -78,11 +84,24 @@ class ServiceRestFormalTemplate {
|
|
|
78
84
|
return Service_1.HttpResponse.ok(result);
|
|
79
85
|
});
|
|
80
86
|
}
|
|
87
|
+
/**
|
|
88
|
+
* Handles GET requests to retrieve a list of models from the database.
|
|
89
|
+
*
|
|
90
|
+
* @param {HttpRequest} request - The request object containing query parameters for filtering the results.
|
|
91
|
+
* @return {Promise<HttpResponse<Model[]>>} A promise that resolves to an HTTP response containing an array of models.
|
|
92
|
+
*/
|
|
81
93
|
serveGetList(request) {
|
|
82
94
|
return __awaiter(this, void 0, void 0, function* () {
|
|
83
95
|
return Service_1.HttpResponse.ok(yield this.database.find(this.tableName, Object.assign({}, request.query)));
|
|
84
96
|
});
|
|
85
97
|
}
|
|
98
|
+
/**
|
|
99
|
+
* Handles a GET request to retrieve a key-value mapping from the database table.
|
|
100
|
+
* Groups data based on provided key and value parameters, and returns a flattened keymap object.
|
|
101
|
+
*
|
|
102
|
+
* @param {HttpRequest} request - The HTTP request containing parameters for the keymap query.
|
|
103
|
+
* @return {Promise<HttpResponse<{ [key:string]:any }>>} A promise resolving to an HTTP response containing the key-value mapping.
|
|
104
|
+
*/
|
|
86
105
|
serveGetKeymap(request) {
|
|
87
106
|
return __awaiter(this, void 0, void 0, function* () {
|
|
88
107
|
var _a, _b, _c, _d;
|
|
@@ -124,11 +143,21 @@ class ServiceRestFormalTemplate {
|
|
|
124
143
|
throw new Error();
|
|
125
144
|
});
|
|
126
145
|
}
|
|
146
|
+
/**
|
|
147
|
+
* @deprecated override 'serveGet' for retrieving full entity of database.
|
|
148
|
+
* @param request
|
|
149
|
+
* @protected
|
|
150
|
+
*/
|
|
127
151
|
serveFull(request) {
|
|
128
152
|
return __awaiter(this, void 0, void 0, function* () {
|
|
129
153
|
return this.serveGet(request);
|
|
130
154
|
});
|
|
131
155
|
}
|
|
156
|
+
/**
|
|
157
|
+
* @deprecated override 'serveGetList' for retrieving full entitiy list of database.
|
|
158
|
+
* @param request
|
|
159
|
+
* @protected
|
|
160
|
+
*/
|
|
132
161
|
serveFullList(request) {
|
|
133
162
|
return __awaiter(this, void 0, void 0, function* () {
|
|
134
163
|
let list = yield this.unwrap(this.getList.serve(request));
|
|
@@ -7,17 +7,24 @@ const Business_1 = __importDefault(require("./Business"));
|
|
|
7
7
|
class BusinessThread extends Business_1.default {
|
|
8
8
|
constructor() {
|
|
9
9
|
super();
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
}
|
|
11
|
+
init() {
|
|
12
|
+
var _a, _b;
|
|
13
|
+
this.timeoutId = setTimeout(() => {
|
|
14
|
+
this.intervalId = setInterval(() => {
|
|
12
15
|
try {
|
|
13
16
|
this.run();
|
|
14
17
|
}
|
|
15
18
|
catch (err) {
|
|
16
|
-
this.onError();
|
|
19
|
+
this.onError(err);
|
|
17
20
|
}
|
|
18
21
|
}, this.interval());
|
|
19
|
-
}, this.delay());
|
|
22
|
+
}, (_b = (_a = this.delay) === null || _a === void 0 ? void 0 : _a.call(this)) !== null && _b !== void 0 ? _b : 0);
|
|
23
|
+
}
|
|
24
|
+
terminate() {
|
|
25
|
+
clearInterval(this.intervalId);
|
|
26
|
+
clearTimeout(this.timeoutId);
|
|
20
27
|
}
|
|
21
|
-
onError() { }
|
|
28
|
+
onError(err) { }
|
|
22
29
|
}
|
|
23
30
|
exports.default = BusinessThread;
|
|
@@ -36,8 +36,27 @@ export default class ServiceRestFormalTemplate<Model = any> {
|
|
|
36
36
|
maxResults: number;
|
|
37
37
|
pageNumber: number;
|
|
38
38
|
};
|
|
39
|
+
/**
|
|
40
|
+
* Handles GET requests by retrieving a single record from the database based on the provided request.
|
|
41
|
+
*
|
|
42
|
+
* @param {HttpRequest} request - The HTTP request object containing the necessary parameters to process the request.
|
|
43
|
+
* @return {Promise<HttpResponse<Model>>} A promise that resolves to an HTTP response containing the retrieved model data.
|
|
44
|
+
*/
|
|
39
45
|
protected serveGet(request: HttpRequest): Promise<HttpResponse<Model>>;
|
|
46
|
+
/**
|
|
47
|
+
* Handles GET requests to retrieve a list of models from the database.
|
|
48
|
+
*
|
|
49
|
+
* @param {HttpRequest} request - The request object containing query parameters for filtering the results.
|
|
50
|
+
* @return {Promise<HttpResponse<Model[]>>} A promise that resolves to an HTTP response containing an array of models.
|
|
51
|
+
*/
|
|
40
52
|
protected serveGetList(request: HttpRequest): Promise<HttpResponse<Model[]>>;
|
|
53
|
+
/**
|
|
54
|
+
* Handles a GET request to retrieve a key-value mapping from the database table.
|
|
55
|
+
* Groups data based on provided key and value parameters, and returns a flattened keymap object.
|
|
56
|
+
*
|
|
57
|
+
* @param {HttpRequest} request - The HTTP request containing parameters for the keymap query.
|
|
58
|
+
* @return {Promise<HttpResponse<{ [key:string]:any }>>} A promise resolving to an HTTP response containing the key-value mapping.
|
|
59
|
+
*/
|
|
41
60
|
protected serveGetKeymap(request: HttpRequest): Promise<HttpResponse<{
|
|
42
61
|
[key: string]: any;
|
|
43
62
|
}>>;
|
|
@@ -49,7 +68,17 @@ export default class ServiceRestFormalTemplate<Model = any> {
|
|
|
49
68
|
}>): Promise<HttpResponse<{
|
|
50
69
|
[key: string]: any;
|
|
51
70
|
}>>;
|
|
71
|
+
/**
|
|
72
|
+
* @deprecated override 'serveGet' for retrieving full entity of database.
|
|
73
|
+
* @param request
|
|
74
|
+
* @protected
|
|
75
|
+
*/
|
|
52
76
|
protected serveFull(request: HttpRequest): Promise<HttpResponse<Model>>;
|
|
77
|
+
/**
|
|
78
|
+
* @deprecated override 'serveGetList' for retrieving full entitiy list of database.
|
|
79
|
+
* @param request
|
|
80
|
+
* @protected
|
|
81
|
+
*/
|
|
53
82
|
protected serveFullList(request: HttpRequest): Promise<HttpResponse<Model[]>>;
|
|
54
83
|
protected servePage(request: HttpRequest): Promise<HttpResponse<Pagination<Model>>>;
|
|
55
84
|
protected serveMap(request: HttpRequest): Promise<HttpResponse<{
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import Business from "./Business";
|
|
2
2
|
export default abstract class BusinessThread extends Business {
|
|
3
|
+
private intervalId?;
|
|
4
|
+
private timeoutId?;
|
|
3
5
|
constructor();
|
|
6
|
+
init(): void;
|
|
7
|
+
terminate(): void;
|
|
4
8
|
abstract run(): void;
|
|
5
9
|
abstract interval(): number;
|
|
6
|
-
abstract delay(): number;
|
|
7
|
-
onError(): void;
|
|
10
|
+
abstract delay?(): number;
|
|
11
|
+
onError(err: Error): void;
|
|
8
12
|
}
|
package/package.json
CHANGED
|
@@ -84,16 +84,35 @@ export default class ServiceRestFormalTemplate<Model=any>
|
|
|
84
84
|
return { maxResults, pageNumber }
|
|
85
85
|
}
|
|
86
86
|
|
|
87
|
+
/**
|
|
88
|
+
* Handles GET requests by retrieving a single record from the database based on the provided request.
|
|
89
|
+
*
|
|
90
|
+
* @param {HttpRequest} request - The HTTP request object containing the necessary parameters to process the request.
|
|
91
|
+
* @return {Promise<HttpResponse<Model>>} A promise that resolves to an HTTP response containing the retrieved model data.
|
|
92
|
+
*/
|
|
87
93
|
protected async serveGet(request: HttpRequest): Promise<HttpResponse<Model>> {
|
|
88
94
|
let id = this.getFormalId(request);
|
|
89
95
|
let result = await this.database.one<Model>(this.tableName, id);
|
|
90
96
|
return HttpResponse.ok(result);
|
|
91
97
|
}
|
|
92
98
|
|
|
99
|
+
/**
|
|
100
|
+
* Handles GET requests to retrieve a list of models from the database.
|
|
101
|
+
*
|
|
102
|
+
* @param {HttpRequest} request - The request object containing query parameters for filtering the results.
|
|
103
|
+
* @return {Promise<HttpResponse<Model[]>>} A promise that resolves to an HTTP response containing an array of models.
|
|
104
|
+
*/
|
|
93
105
|
protected async serveGetList(request: HttpRequest): Promise<HttpResponse<Model[]>> {
|
|
94
106
|
return HttpResponse.ok(await this.database.find<Model>(this.tableName, { ...request.query }));
|
|
95
107
|
}
|
|
96
108
|
|
|
109
|
+
/**
|
|
110
|
+
* Handles a GET request to retrieve a key-value mapping from the database table.
|
|
111
|
+
* Groups data based on provided key and value parameters, and returns a flattened keymap object.
|
|
112
|
+
*
|
|
113
|
+
* @param {HttpRequest} request - The HTTP request containing parameters for the keymap query.
|
|
114
|
+
* @return {Promise<HttpResponse<{ [key:string]:any }>>} A promise resolving to an HTTP response containing the key-value mapping.
|
|
115
|
+
*/
|
|
97
116
|
protected async serveGetKeymap(request: HttpRequest): Promise<HttpResponse<{ [key:string]:any }>> {
|
|
98
117
|
let key = request.query?.["_key"] ?? this.indexer;
|
|
99
118
|
let value = request.query?.["_value"] ?? "value";
|
|
@@ -126,10 +145,20 @@ export default class ServiceRestFormalTemplate<Model=any>
|
|
|
126
145
|
throw new Error();
|
|
127
146
|
}
|
|
128
147
|
|
|
148
|
+
/**
|
|
149
|
+
* @deprecated override 'serveGet' for retrieving full entity of database.
|
|
150
|
+
* @param request
|
|
151
|
+
* @protected
|
|
152
|
+
*/
|
|
129
153
|
protected async serveFull(request: HttpRequest): Promise<HttpResponse<Model>> {
|
|
130
154
|
return this.serveGet(request);
|
|
131
155
|
}
|
|
132
156
|
|
|
157
|
+
/**
|
|
158
|
+
* @deprecated override 'serveGetList' for retrieving full entitiy list of database.
|
|
159
|
+
* @param request
|
|
160
|
+
* @protected
|
|
161
|
+
*/
|
|
133
162
|
protected async serveFullList(request: HttpRequest): Promise<HttpResponse<Model[]>>
|
|
134
163
|
{
|
|
135
164
|
let list = await this.unwrap(this.getList.serve(request));
|
|
@@ -2,18 +2,29 @@ import Business from "./Business";
|
|
|
2
2
|
|
|
3
3
|
export default abstract class BusinessThread extends Business
|
|
4
4
|
{
|
|
5
|
+
private intervalId?: NodeJS.Timeout;
|
|
6
|
+
private timeoutId?: NodeJS.Timeout;
|
|
7
|
+
|
|
5
8
|
constructor() {
|
|
6
9
|
super();
|
|
7
|
-
|
|
8
|
-
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
init() {
|
|
13
|
+
this.timeoutId = setTimeout(() => {
|
|
14
|
+
this.intervalId = setInterval(() => {
|
|
9
15
|
try { this.run() }
|
|
10
|
-
catch (err) { this.onError() }
|
|
16
|
+
catch (err) { this.onError(err as Error) }
|
|
11
17
|
}, this.interval());
|
|
12
|
-
}, this.delay())
|
|
18
|
+
}, this.delay?.() ?? 0);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
terminate() {
|
|
22
|
+
clearInterval(this.intervalId);
|
|
23
|
+
clearTimeout(this.timeoutId);
|
|
13
24
|
}
|
|
14
25
|
|
|
15
26
|
abstract run(): void
|
|
16
27
|
abstract interval(): number
|
|
17
|
-
abstract delay(): number
|
|
18
|
-
onError() {}
|
|
28
|
+
abstract delay?(): number
|
|
29
|
+
onError(err: Error) {}
|
|
19
30
|
}
|