ismx-nexo-node-app 0.3.41 → 0.3.42

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.
@@ -26,6 +26,10 @@ class ServiceRestFormalTemplate {
26
26
  this.getList.serveRestFormal = this.serveGetList.bind(this);
27
27
  this.postList = new ServiceRestFormal_1.default("POST", `${resource}/list`);
28
28
  this.postList.serveRestFormal = this.servePostList.bind(this);
29
+ this.full = new ServiceRestFormal_1.default("GET", `${resource}/full`);
30
+ this.full.serveRestFormal = this.serveFull.bind(this);
31
+ this.fullList = new ServiceRestFormal_1.default("GET", `${resource}/full/list`);
32
+ this.fullList.serveRestFormal = this.serveFullList.bind(this);
29
33
  this.page = new ServiceRestFormal_1.default("GET", `${resource}/page`);
30
34
  this.page.serveRestFormal = this.servePage.bind(this);
31
35
  this.map = new ServiceRestFormal_1.default("GET", `${resource}/map`);
@@ -75,6 +79,12 @@ class ServiceRestFormalTemplate {
75
79
  return Service_1.HttpResponse.ok(yield this.database.find(this.tableName, Object.assign({}, request.query)));
76
80
  });
77
81
  }
82
+ servePost(request) {
83
+ return __awaiter(this, void 0, void 0, function* () {
84
+ let entity = this.database.add(this.tableName, request.body);
85
+ return Service_1.HttpResponse.ok(entity);
86
+ });
87
+ }
78
88
  servePostList(request) {
79
89
  return __awaiter(this, void 0, void 0, function* () {
80
90
  let list = request.body;
@@ -83,6 +93,24 @@ class ServiceRestFormalTemplate {
83
93
  return Service_1.HttpResponse.ok(this.database.addAll(this.tableName, list));
84
94
  });
85
95
  }
96
+ serveFull(request) {
97
+ return __awaiter(this, void 0, void 0, function* () {
98
+ let id = this.getFormalId(request);
99
+ let result = yield this.database.one(this.tableName, id);
100
+ return Service_1.HttpResponse.ok(result);
101
+ });
102
+ }
103
+ serveFullList(request) {
104
+ return __awaiter(this, void 0, void 0, function* () {
105
+ let list = yield this.unwrap(this.getList.serve(request));
106
+ let promises = list === null || list === void 0 ? void 0 : list.map((model) => {
107
+ let query = {};
108
+ query[this.indexer] = model[this.indexer];
109
+ return this.unwrap(this.full.serve(query));
110
+ });
111
+ return Service_1.HttpResponse.ok(yield Promise.all(promises !== null && promises !== void 0 ? promises : []));
112
+ });
113
+ }
86
114
  servePage(request) {
87
115
  return __awaiter(this, void 0, void 0, function* () {
88
116
  let { maxResults, pageNumber } = this.getFormalPage(request);
@@ -123,12 +151,6 @@ class ServiceRestFormalTemplate {
123
151
  return Service_1.HttpResponse.ok((yield this.database.count(this.tableName, Object.assign({}, request.query))));
124
152
  });
125
153
  }
126
- servePost(request) {
127
- return __awaiter(this, void 0, void 0, function* () {
128
- let entity = this.database.add(this.tableName, request.body);
129
- return Service_1.HttpResponse.ok(entity);
130
- });
131
- }
132
154
  servePut(request) {
133
155
  return __awaiter(this, void 0, void 0, function* () {
134
156
  return Service_1.HttpResponse.ok("not implemented yet");
@@ -10,6 +10,8 @@ export default class ServiceRestFormalTemplate<Model = any> {
10
10
  readonly getList: ServiceRestFormal<any, Model[]>;
11
11
  readonly post: ServiceRestFormal<Model, Model>;
12
12
  readonly postList: ServiceRestFormal<Model[], Model[]>;
13
+ readonly full: ServiceRestFormal<any, Model>;
14
+ readonly fullList: ServiceRestFormal<any, Model[]>;
13
15
  readonly put: ServiceRestFormal<Model, Model>;
14
16
  readonly del: ServiceRestFormal<any, Model>;
15
17
  readonly select: ServiceRestFormal<any, string[]>;
@@ -28,7 +30,10 @@ export default class ServiceRestFormalTemplate<Model = any> {
28
30
  };
29
31
  protected serveGet(request: HttpRequest): Promise<HttpResponse<Model>>;
30
32
  protected serveGetList(request: HttpRequest): Promise<HttpResponse<Model[]>>;
33
+ protected servePost(request: HttpRequest<Model>): Promise<HttpResponse<Model>>;
31
34
  protected servePostList(request: HttpRequest<Model[]>): Promise<HttpResponse<Model[]>>;
35
+ protected serveFull(request: HttpRequest): Promise<HttpResponse<Model>>;
36
+ protected serveFullList(request: HttpRequest): Promise<HttpResponse<Model[]>>;
32
37
  protected servePage(request: HttpRequest): Promise<HttpResponse<Pagination<Model>>>;
33
38
  protected serveMap(request: HttpRequest): Promise<HttpResponse<{
34
39
  [key: string]: Model;
@@ -36,7 +41,6 @@ export default class ServiceRestFormalTemplate<Model = any> {
36
41
  protected serveSelect(request: HttpRequest): Promise<HttpResponse<string[]>>;
37
42
  protected serveExist(request: HttpRequest): Promise<HttpResponse<Boolean>>;
38
43
  protected serveCount(request: HttpRequest): Promise<HttpResponse<Number>>;
39
- protected servePost(request: HttpRequest<Model>): Promise<HttpResponse<Model>>;
40
44
  protected servePut(request: HttpRequest<Model>): Promise<HttpResponse<Model>>;
41
45
  protected serveDel(request: HttpRequest): Promise<HttpResponse<Model>>;
42
46
  protected unwrap<Res>(request: Promise<HttpResponse<Wrapper<Res>>>): Promise<Res | undefined>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ismx-nexo-node-app",
3
- "version": "0.3.41",
3
+ "version": "0.3.42",
4
4
  "description": "",
5
5
  "scripts": {
6
6
  "build": "rm -rf ./dist && npx tsc",
@@ -13,6 +13,9 @@ export default class ServiceRestFormalTemplate<Model=any>
13
13
  readonly getList!: ServiceRestFormal<any, Model[]>;
14
14
  readonly post!: ServiceRestFormal<Model, Model>;
15
15
  readonly postList!: ServiceRestFormal<Model[], Model[]>;
16
+ readonly full!: ServiceRestFormal<any, Model>
17
+ readonly fullList!: ServiceRestFormal<any, Model[]>
18
+
16
19
  readonly put!: ServiceRestFormal<Model, Model>;
17
20
  readonly del!: ServiceRestFormal<any, Model>;
18
21
 
@@ -36,6 +39,12 @@ export default class ServiceRestFormalTemplate<Model=any>
36
39
  this.postList = new ServiceRestFormal("POST", `${resource}/list`);
37
40
  this.postList.serveRestFormal = this.servePostList.bind(this);
38
41
 
42
+ this.full = new ServiceRestFormal("GET", `${resource}/full`);
43
+ this.full.serveRestFormal = this.serveFull.bind(this);
44
+
45
+ this.fullList = new ServiceRestFormal("GET", `${resource}/full/list`);
46
+ this.fullList.serveRestFormal = this.serveFullList.bind(this);
47
+
39
48
  this.page = new ServiceRestFormal("GET", `${resource}/page`);
40
49
  this.page.serveRestFormal = this.servePage.bind(this);
41
50
 
@@ -88,12 +97,33 @@ export default class ServiceRestFormalTemplate<Model=any>
88
97
  return HttpResponse.ok(await this.database.find<Model>(this.tableName, { ...request.query }));
89
98
  }
90
99
 
100
+ protected async servePost(request: HttpRequest<Model>): Promise<HttpResponse<Model>> {
101
+ let entity = this.database.add<Model>(this.tableName, request.body);
102
+ return HttpResponse.ok(entity);
103
+ }
104
+
91
105
  protected async servePostList(request: HttpRequest<Model[]>): Promise<HttpResponse<Model[]>> {
92
106
  let list = request.body
93
107
  if (!(list instanceof Array)) throw new Error("body must be a list");
94
108
  return HttpResponse.ok(this.database.addAll<Model>(this.tableName, list as any));
95
109
  }
96
110
 
111
+ protected async serveFull(request: HttpRequest): Promise<HttpResponse<Model>> {
112
+ let id = this.getFormalId(request);
113
+ let result = await this.database.one<Model>(this.tableName, id);
114
+ return HttpResponse.ok(result);
115
+ }
116
+
117
+ protected async serveFullList(request: HttpRequest): Promise<HttpResponse<Model[]>>
118
+ {
119
+ let list = await this.unwrap(this.getList.serve(request));
120
+ let promises = list?.map((model: any) => {
121
+ let query: any = {}; query[this.indexer] = model[this.indexer];
122
+ return this.unwrap(this.full.serve(query));
123
+ });
124
+ return HttpResponse.ok(await Promise.all(promises ?? []));
125
+ }
126
+
97
127
  protected async servePage(request: HttpRequest): Promise<HttpResponse<Pagination<Model>>> {
98
128
  let { maxResults, pageNumber } = this.getFormalPage(request);
99
129
  let results = await this.database.page<Model>(this.tableName, "timestamp", maxResults, pageNumber);
@@ -125,11 +155,6 @@ export default class ServiceRestFormalTemplate<Model=any>
125
155
  return HttpResponse.ok((await this.database.count(this.tableName, { ...request.query })));
126
156
  }
127
157
 
128
- protected async servePost(request: HttpRequest<Model>): Promise<HttpResponse<Model>> {
129
- let entity = this.database.add<Model>(this.tableName, request.body);
130
- return HttpResponse.ok(entity);
131
- }
132
-
133
158
  protected async servePut(request: HttpRequest<Model>): Promise<HttpResponse<Model>> {
134
159
  return HttpResponse.ok("not implemented yet");
135
160
  }