ismx-nexo-node-app 0.4.79 → 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.
@@ -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 = __importStar(require("./Service"));
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;
@@ -40,6 +40,7 @@ const QueryUtils_1 = __importDefault(require("../repository/utils/QueryUtils"));
40
40
  class BusinessProxy {
41
41
  constructor() {
42
42
  this.modules = {};
43
+ this.onError = (error) => error;
43
44
  }
44
45
  setModules(modules) {
45
46
  this.modules = modules;
@@ -66,7 +67,7 @@ class BusinessProxy {
66
67
  body = JSON.stringify(request.body);
67
68
  }
68
69
  // Realiza la llamada a la API con las cabeceras y la URL base de la llamada.
69
- return (0, node_fetch_1.default)(module.host + endpoint + QueryUtils_1.default.map(request.query), Object.assign(Object.assign({}, request), { method, body: method !== "GET" ? body : undefined, headers })).catch((error) => { var _a, _b; return (_b = (_a = this.onError) === null || _a === void 0 ? void 0 : _a.call(this, error)) !== null && _b !== void 0 ? _b : error; });
70
+ return (0, node_fetch_1.default)(module.host + endpoint + QueryUtils_1.default.map(request.query), Object.assign(Object.assign({}, request), { method, body: method !== "GET" ? body : undefined, headers })).catch((error) => { throw this.onError(error); });
70
71
  });
71
72
  }
72
73
  }
@@ -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, { Wrapper } from "./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
  }
@@ -7,7 +7,7 @@ export interface Module {
7
7
  }
8
8
  export default class BusinessProxy {
9
9
  private modules;
10
- private onError?;
10
+ private onError;
11
11
  setModules(modules: {
12
12
  [key: string]: Module;
13
13
  }): void;
@@ -20,4 +20,5 @@ export default class BusinessServer extends Business {
20
20
  setOnEnd(listener: (request: HttpRequest, response: HttpResponse) => any): void;
21
21
  private publish;
22
22
  private run;
23
+ private load;
23
24
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ismx-nexo-node-app",
3
- "version": "0.4.79",
3
+ "version": "0.4.81",
4
4
  "description": "",
5
5
  "scripts": {
6
6
  "build": "rm -rf ./dist && npx tsc",
@@ -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
  }
@@ -12,7 +12,7 @@ export interface Module {
12
12
  export default class BusinessProxy
13
13
  {
14
14
  private modules: {[key:string]: Module} = {};
15
- private onError?: (error: Error) => Error;
15
+ private onError: (error: Error) => Error = (error) => error;
16
16
 
17
17
  setModules(modules: {[key:string]: Module}) {
18
18
  this.modules = modules
@@ -43,6 +43,6 @@ export default class BusinessProxy
43
43
  // Realiza la llamada a la API con las cabeceras y la URL base de la llamada.
44
44
  return fetch(module.host + endpoint + QueryUtils.map(request.query), {
45
45
  ...request, method, body: method !== "GET" ? body : undefined, headers
46
- }).catch((error) => this.onError?.(error) ?? error);
46
+ }).catch((error) => { throw this.onError(error) });
47
47
  }
48
48
  }
@@ -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
  }