ismx-nexo-node-app 0.4.80 → 0.4.81
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/ServiceRestFormal.js +1 -58
- package/dist/js/api/ServiceRestFormalTemplate.js +0 -40
- package/dist/js/business/BusinessServer.js +20 -0
- package/dist/types/api/ServiceRestFormal.d.ts +0 -10
- package/dist/types/api/ServiceRestFormalTemplate.d.ts +1 -18
- package/dist/types/business/BusinessServer.d.ts +1 -0
- package/package.json +1 -1
- package/src/main/node/api/ServiceRestFormal.ts +0 -26
- package/src/main/node/api/ServiceRestFormalTemplate.ts +1 -38
- package/src/main/node/business/BusinessServer.ts +24 -0
|
@@ -1,27 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
2
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
3
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
4
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -35,7 +12,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
35
12
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
13
|
};
|
|
37
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
|
-
const Service_1 =
|
|
15
|
+
const Service_1 = require("./Service");
|
|
39
16
|
const ServiceRest_1 = __importDefault(require("./ServiceRest"));
|
|
40
17
|
const BusinessErrors_1 = require("../business/BusinessErrors");
|
|
41
18
|
class ServiceRestFormal extends ServiceRest_1.default {
|
|
@@ -62,39 +39,5 @@ class ServiceRestFormal extends ServiceRest_1.default {
|
|
|
62
39
|
return Service_1.HttpResponse.ok(null);
|
|
63
40
|
});
|
|
64
41
|
}
|
|
65
|
-
unwrap(request) {
|
|
66
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
67
|
-
return ServiceRestFormal.unwrap(request);
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
fullSelect(request, api) {
|
|
71
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
72
|
-
return ServiceRestFormal.fullSelect(request, api);
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
static unwrap(request) {
|
|
76
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
77
|
-
var _a;
|
|
78
|
-
let response = yield request;
|
|
79
|
-
if (response.httpCode !== 200)
|
|
80
|
-
throw response.content;
|
|
81
|
-
else
|
|
82
|
-
return (_a = response.content) === null || _a === void 0 ? void 0 : _a.data;
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
static fullSelect(request, api) {
|
|
86
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
87
|
-
return api.select.serve(request).then((result) => {
|
|
88
|
-
var _a;
|
|
89
|
-
let select = (_a = result.content) === null || _a === void 0 ? void 0 : _a.data;
|
|
90
|
-
let requests = select === null || select === void 0 ? void 0 : select.map((selectId) => __awaiter(this, void 0, void 0, function* () {
|
|
91
|
-
var _a;
|
|
92
|
-
let result = yield api.full.serve(Service_1.default.clone(request, { query: { id: selectId } }));
|
|
93
|
-
return (_a = result.content) === null || _a === void 0 ? void 0 : _a.data;
|
|
94
|
-
}));
|
|
95
|
-
return Promise.all(requests !== null && requests !== void 0 ? requests : []);
|
|
96
|
-
});
|
|
97
|
-
});
|
|
98
|
-
}
|
|
99
42
|
}
|
|
100
43
|
exports.default = ServiceRestFormal;
|
|
@@ -28,8 +28,6 @@ class ServiceRestFormalTemplate {
|
|
|
28
28
|
this.postKeymap = new ServiceRestFormal_1.default("POST", `${resource}/keymap`);
|
|
29
29
|
this.post = new ServiceRestFormal_1.default("POST", `${resource}`);
|
|
30
30
|
this.del = new ServiceRestFormal_1.default("DELETE", `${resource}`);
|
|
31
|
-
this.full = new ServiceRestFormal_1.default("GET", `${resource}/full`);
|
|
32
|
-
this.fullList = new ServiceRestFormal_1.default("GET", `${resource}/full/list`);
|
|
33
31
|
this.page = new ServiceRestFormal_1.default("GET", `${resource}/page`);
|
|
34
32
|
this.map = new ServiceRestFormal_1.default("GET", `${resource}/map`);
|
|
35
33
|
this.select = new ServiceRestFormal_1.default("GET", `${resource}/select`);
|
|
@@ -40,8 +38,6 @@ class ServiceRestFormalTemplate {
|
|
|
40
38
|
this.getKeymap.serveRestFormal = this.serveGetKeymap.bind(this);
|
|
41
39
|
this.postList.serveRestFormal = this.servePostList.bind(this);
|
|
42
40
|
this.postKeymap.serveRestFormal = this.servePostKeymap.bind(this);
|
|
43
|
-
this.full.serveRestFormal = this.serveFull.bind(this);
|
|
44
|
-
this.fullList.serveRestFormal = this.serveFullList.bind(this);
|
|
45
41
|
this.page.serveRestFormal = this.servePage.bind(this);
|
|
46
42
|
this.map.serveRestFormal = this.serveMap.bind(this);
|
|
47
43
|
this.select.serveRestFormal = this.serveSelect.bind(this);
|
|
@@ -202,32 +198,6 @@ class ServiceRestFormalTemplate {
|
|
|
202
198
|
return Service_1.HttpResponse.ok("not implemented yet");
|
|
203
199
|
});
|
|
204
200
|
}
|
|
205
|
-
/**
|
|
206
|
-
* @deprecated override 'serveGet' for retrieving full entity of database.
|
|
207
|
-
* @param request
|
|
208
|
-
* @protected
|
|
209
|
-
*/
|
|
210
|
-
serveFull(request) {
|
|
211
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
212
|
-
return this.serveGet(request);
|
|
213
|
-
});
|
|
214
|
-
}
|
|
215
|
-
/**
|
|
216
|
-
* @deprecated override 'serveGetList' for retrieving full entitiy list of database.
|
|
217
|
-
* @param request
|
|
218
|
-
* @protected
|
|
219
|
-
*/
|
|
220
|
-
serveFullList(request) {
|
|
221
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
222
|
-
let list = yield this.unwrap(this.getList.serve(request));
|
|
223
|
-
let promises = list === null || list === void 0 ? void 0 : list.map((model) => {
|
|
224
|
-
let query = {};
|
|
225
|
-
query[this.indexer] = model[this.indexer];
|
|
226
|
-
return this.unwrap(this.full.serve({ query }));
|
|
227
|
-
});
|
|
228
|
-
return Service_1.HttpResponse.ok(yield Promise.all(promises !== null && promises !== void 0 ? promises : []));
|
|
229
|
-
});
|
|
230
|
-
}
|
|
231
201
|
serveSelect(request) {
|
|
232
202
|
return __awaiter(this, void 0, void 0, function* () {
|
|
233
203
|
var _a, _b, _c;
|
|
@@ -255,15 +225,5 @@ class ServiceRestFormalTemplate {
|
|
|
255
225
|
return Service_1.HttpResponse.ok(entity);
|
|
256
226
|
});
|
|
257
227
|
}
|
|
258
|
-
unwrap(request) {
|
|
259
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
260
|
-
return ServiceRestFormal_1.default.unwrap(request);
|
|
261
|
-
});
|
|
262
|
-
}
|
|
263
|
-
fullSelect(request, api) {
|
|
264
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
265
|
-
return ServiceRestFormal_1.default.fullSelect(request, api);
|
|
266
|
-
});
|
|
267
|
-
}
|
|
268
228
|
}
|
|
269
229
|
exports.default = ServiceRestFormalTemplate;
|
|
@@ -154,5 +154,25 @@ class BusinessServer extends Business_1.default {
|
|
|
154
154
|
}
|
|
155
155
|
});
|
|
156
156
|
}
|
|
157
|
+
load(path) {
|
|
158
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
159
|
+
const { readdir } = yield Promise.resolve().then(() => __importStar(require('fs/promises')));
|
|
160
|
+
const pathModule = yield Promise.resolve().then(() => __importStar(require('path')));
|
|
161
|
+
const { fileURLToPath } = yield Promise.resolve().then(() => __importStar(require('url')));
|
|
162
|
+
// @ts-ignore
|
|
163
|
+
const __dirname = pathModule.dirname(fileURLToPath(import.meta.url));
|
|
164
|
+
const servicesPath = pathModule.join(__dirname, path);
|
|
165
|
+
const files = yield readdir(servicesPath);
|
|
166
|
+
for (const file of files) {
|
|
167
|
+
if (!file.endsWith('.ts') && !file.endsWith('.js'))
|
|
168
|
+
continue;
|
|
169
|
+
const modulePath = pathModule.join(servicesPath, file);
|
|
170
|
+
const mod = yield Promise.resolve(`${modulePath}`).then(s => __importStar(require(s)));
|
|
171
|
+
const ServiceClass = Object.values(mod)[0];
|
|
172
|
+
// @ts-ignore
|
|
173
|
+
const instance = new ServiceClass();
|
|
174
|
+
}
|
|
175
|
+
});
|
|
176
|
+
}
|
|
157
177
|
}
|
|
158
178
|
exports.default = BusinessServer;
|
|
@@ -10,14 +10,4 @@ export default class ServiceRestFormal<Req = any, Res = any> extends ServiceRest
|
|
|
10
10
|
constructor(method: string, endpoint?: string, type?: ServiceType);
|
|
11
11
|
serveRest(request: HttpRequest<Req>): Promise<HttpResponse<Wrapper<Res>>>;
|
|
12
12
|
serveRestFormal(request: HttpRequest<Req>): Promise<HttpResponse<Res>>;
|
|
13
|
-
unwrap<Res>(request: Promise<HttpResponse<Wrapper<Res>>>): Promise<Res | undefined>;
|
|
14
|
-
fullSelect<Req, Res>(request: HttpRequest<Req>, api: {
|
|
15
|
-
select: ServiceRestFormal<Req, string[]>;
|
|
16
|
-
full: ServiceRestFormal<Req, Res>;
|
|
17
|
-
}): Promise<Awaited<Res>[]>;
|
|
18
|
-
static unwrap<Res>(request: Promise<HttpResponse<Wrapper<Res>>>): Promise<Res | undefined>;
|
|
19
|
-
static fullSelect<Req, Res>(request: HttpRequest<Req>, api: {
|
|
20
|
-
select: ServiceRestFormal<Req, string[]>;
|
|
21
|
-
full: ServiceRestFormal<Req, Res>;
|
|
22
|
-
}): Promise<Awaited<Res>[]>;
|
|
23
13
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { HttpRequest, HttpResponse } from "./Service";
|
|
2
|
-
import ServiceRestFormal
|
|
2
|
+
import ServiceRestFormal from "./ServiceRestFormal";
|
|
3
3
|
import { Pagination, Transient } from "../repository/Repository";
|
|
4
4
|
import RepositoryDatabase from "../repository/RepositoryDatabase";
|
|
5
5
|
export default class ServiceRestFormalTemplate<Model = any> {
|
|
@@ -97,25 +97,8 @@ export default class ServiceRestFormalTemplate<Model = any> {
|
|
|
97
97
|
}>): Promise<HttpResponse<{
|
|
98
98
|
[key: string]: any;
|
|
99
99
|
}>>;
|
|
100
|
-
/**
|
|
101
|
-
* @deprecated override 'serveGet' for retrieving full entity of database.
|
|
102
|
-
* @param request
|
|
103
|
-
* @protected
|
|
104
|
-
*/
|
|
105
|
-
protected serveFull(request: HttpRequest): Promise<HttpResponse<Model>>;
|
|
106
|
-
/**
|
|
107
|
-
* @deprecated override 'serveGetList' for retrieving full entitiy list of database.
|
|
108
|
-
* @param request
|
|
109
|
-
* @protected
|
|
110
|
-
*/
|
|
111
|
-
protected serveFullList(request: HttpRequest): Promise<HttpResponse<Model[]>>;
|
|
112
100
|
protected serveSelect(request: HttpRequest): Promise<HttpResponse<string[]>>;
|
|
113
101
|
protected serveExist(request: HttpRequest): Promise<HttpResponse<Boolean>>;
|
|
114
102
|
protected serveCount(request: HttpRequest): Promise<HttpResponse<Number>>;
|
|
115
103
|
protected serveDel(request: HttpRequest): Promise<HttpResponse<Model>>;
|
|
116
|
-
protected unwrap<Res>(request: Promise<HttpResponse<Wrapper<Res>>>): Promise<Res | undefined>;
|
|
117
|
-
protected fullSelect<Req, Res>(request: HttpRequest<Req>, api: {
|
|
118
|
-
select: ServiceRestFormal<Req, string[]>;
|
|
119
|
-
full: ServiceRestFormal<Req, Res>;
|
|
120
|
-
}): Promise<Awaited<Res>[]>;
|
|
121
104
|
}
|
package/package.json
CHANGED
|
@@ -30,30 +30,4 @@ export default class ServiceRestFormal<Req=any, Res=any> extends ServiceRest<Req
|
|
|
30
30
|
async serveRestFormal(request: HttpRequest<Req>): Promise<HttpResponse<Res>> {
|
|
31
31
|
return HttpResponse.ok(null);
|
|
32
32
|
}
|
|
33
|
-
|
|
34
|
-
async unwrap<Res>(request: Promise<HttpResponse<Wrapper<Res>>>): Promise<Res | undefined> {
|
|
35
|
-
return ServiceRestFormal.unwrap(request);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
async fullSelect<Req, Res>(request: HttpRequest<Req>, api: { select: ServiceRestFormal<Req, string[]>, full: ServiceRestFormal<Req, Res> }) {
|
|
39
|
-
return ServiceRestFormal.fullSelect(request, api);
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
static async unwrap<Res>(request: Promise<HttpResponse<Wrapper<Res>>>): Promise<Res | undefined> {
|
|
43
|
-
let response = await request;
|
|
44
|
-
if (response.httpCode !== 200) throw response.content;
|
|
45
|
-
else return response.content?.data;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
static async fullSelect<Req, Res>(request: HttpRequest<Req>, api: { select: ServiceRestFormal<Req, string[]>, full: ServiceRestFormal<Req, Res> })
|
|
49
|
-
{
|
|
50
|
-
return api.select.serve(request).then((result) => {
|
|
51
|
-
let select = result.content?.data;
|
|
52
|
-
let requests = select?.map(async (selectId) => {
|
|
53
|
-
let result = await api.full.serve(Service.clone(request, {query: {id: selectId}}));
|
|
54
|
-
return result.content?.data;
|
|
55
|
-
});
|
|
56
|
-
return Promise.all(requests ?? []);
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
33
|
}
|
|
@@ -39,10 +39,7 @@ export default class ServiceRestFormalTemplate<Model=any>
|
|
|
39
39
|
this.postKeymap = new ServiceRestFormal("POST", `${resource}/keymap`);
|
|
40
40
|
|
|
41
41
|
this.post = new ServiceRestFormal("POST", `${resource}`);
|
|
42
|
-
this.del = new ServiceRestFormal("DELETE", `${resource}`)
|
|
43
|
-
|
|
44
|
-
this.full = new ServiceRestFormal("GET", `${resource}/full`);
|
|
45
|
-
this.fullList = new ServiceRestFormal("GET", `${resource}/full/list`);
|
|
42
|
+
this.del = new ServiceRestFormal("DELETE", `${resource}`)
|
|
46
43
|
|
|
47
44
|
this.page = new ServiceRestFormal("GET", `${resource}/page`);
|
|
48
45
|
this.map = new ServiceRestFormal("GET", `${resource}/map`);
|
|
@@ -55,8 +52,6 @@ export default class ServiceRestFormalTemplate<Model=any>
|
|
|
55
52
|
this.getKeymap.serveRestFormal = this.serveGetKeymap.bind(this);
|
|
56
53
|
this.postList.serveRestFormal = this.servePostList.bind(this);
|
|
57
54
|
this.postKeymap.serveRestFormal = this.servePostKeymap.bind(this);
|
|
58
|
-
this.full.serveRestFormal = this.serveFull.bind(this);
|
|
59
|
-
this.fullList.serveRestFormal = this.serveFullList.bind(this);
|
|
60
55
|
this.page.serveRestFormal = this.servePage.bind(this);
|
|
61
56
|
this.map.serveRestFormal = this.serveMap.bind(this);
|
|
62
57
|
this.select.serveRestFormal = this.serveSelect.bind(this);
|
|
@@ -200,30 +195,6 @@ export default class ServiceRestFormalTemplate<Model=any>
|
|
|
200
195
|
return HttpResponse.ok("not implemented yet");
|
|
201
196
|
}
|
|
202
197
|
|
|
203
|
-
/**
|
|
204
|
-
* @deprecated override 'serveGet' for retrieving full entity of database.
|
|
205
|
-
* @param request
|
|
206
|
-
* @protected
|
|
207
|
-
*/
|
|
208
|
-
protected async serveFull(request: HttpRequest): Promise<HttpResponse<Model>> {
|
|
209
|
-
return this.serveGet(request);
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
/**
|
|
213
|
-
* @deprecated override 'serveGetList' for retrieving full entitiy list of database.
|
|
214
|
-
* @param request
|
|
215
|
-
* @protected
|
|
216
|
-
*/
|
|
217
|
-
protected async serveFullList(request: HttpRequest): Promise<HttpResponse<Model[]>>
|
|
218
|
-
{
|
|
219
|
-
let list = await this.unwrap(this.getList.serve(request));
|
|
220
|
-
let promises = list?.map((model: any) => {
|
|
221
|
-
let query: any = {}; query[this.indexer] = model[this.indexer];
|
|
222
|
-
return this.unwrap(this.full.serve({ query }));
|
|
223
|
-
});
|
|
224
|
-
return HttpResponse.ok(await Promise.all(promises ?? []));
|
|
225
|
-
}
|
|
226
|
-
|
|
227
198
|
protected async serveSelect(request: HttpRequest): Promise<HttpResponse<string[]>> {
|
|
228
199
|
let selection = request.query?.["selection"] ?? this.indexer;
|
|
229
200
|
delete request.query?.["selection"];
|
|
@@ -244,12 +215,4 @@ export default class ServiceRestFormalTemplate<Model=any>
|
|
|
244
215
|
if (entity) await this.database.delete(this.tableName, entity[this.indexer as keyof Model] as unknown as string);
|
|
245
216
|
return HttpResponse.ok(entity);
|
|
246
217
|
}
|
|
247
|
-
|
|
248
|
-
protected async unwrap<Res>(request: Promise<HttpResponse<Wrapper<Res>>>): Promise<Res | undefined> {
|
|
249
|
-
return ServiceRestFormal.unwrap<Res>(request);
|
|
250
|
-
}
|
|
251
|
-
|
|
252
|
-
protected async fullSelect<Req, Res>(request: HttpRequest<Req>, api: { select: ServiceRestFormal<Req, string[]>, full: ServiceRestFormal<Req, Res> }) {
|
|
253
|
-
return ServiceRestFormal.fullSelect(request, api);
|
|
254
|
-
}
|
|
255
218
|
}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import Service, {HttpRequest, HttpResponse} from "../api/Service";
|
|
2
2
|
import Business from "./Business";
|
|
3
|
+
import path from "path";
|
|
4
|
+
import {fileURLToPath} from "url";
|
|
5
|
+
import {readdir} from "fs/promises";
|
|
3
6
|
|
|
4
7
|
export default class BusinessServer extends Business
|
|
5
8
|
{
|
|
@@ -112,4 +115,25 @@ export default class BusinessServer extends Business
|
|
|
112
115
|
try { this.onEnd?.(request, response); } catch(e) { }
|
|
113
116
|
}
|
|
114
117
|
}}
|
|
118
|
+
|
|
119
|
+
private async load(path: string): Promise<void>
|
|
120
|
+
{
|
|
121
|
+
const { readdir } = await import('fs/promises');
|
|
122
|
+
const pathModule = await import('path');
|
|
123
|
+
const { fileURLToPath } = await import('url');
|
|
124
|
+
|
|
125
|
+
// @ts-ignore
|
|
126
|
+
const __dirname = pathModule.dirname(fileURLToPath(import.meta.url));
|
|
127
|
+
const servicesPath = pathModule.join(__dirname, path);
|
|
128
|
+
|
|
129
|
+
const files = await readdir(servicesPath);
|
|
130
|
+
for (const file of files) {
|
|
131
|
+
if (!file.endsWith('.ts') && !file.endsWith('.js')) continue;
|
|
132
|
+
const modulePath = pathModule.join(servicesPath, file);
|
|
133
|
+
const mod = await import(modulePath);
|
|
134
|
+
const ServiceClass = Object.values(mod)[0];
|
|
135
|
+
// @ts-ignore
|
|
136
|
+
const instance = new ServiceClass();
|
|
137
|
+
}
|
|
138
|
+
}
|
|
115
139
|
}
|