ismx-nexo-node-app 0.3.41 → 0.3.43

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,22 @@ 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
+ return this.serveGet(request);
99
+ });
100
+ }
101
+ serveFullList(request) {
102
+ return __awaiter(this, void 0, void 0, function* () {
103
+ let list = yield this.unwrap(this.getList.serve(request));
104
+ let promises = list === null || list === void 0 ? void 0 : list.map((model) => {
105
+ let query = {};
106
+ query[this.indexer] = model[this.indexer];
107
+ return this.unwrap(this.full.serve(query));
108
+ });
109
+ return Service_1.HttpResponse.ok(yield Promise.all(promises !== null && promises !== void 0 ? promises : []));
110
+ });
111
+ }
86
112
  servePage(request) {
87
113
  return __awaiter(this, void 0, void 0, function* () {
88
114
  let { maxResults, pageNumber } = this.getFormalPage(request);
@@ -123,12 +149,6 @@ class ServiceRestFormalTemplate {
123
149
  return Service_1.HttpResponse.ok((yield this.database.count(this.tableName, Object.assign({}, request.query))));
124
150
  });
125
151
  }
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
152
  servePut(request) {
133
153
  return __awaiter(this, void 0, void 0, function* () {
134
154
  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.43",
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,31 @@ 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
+ return this.serveGet(request);
113
+ }
114
+
115
+ protected async serveFullList(request: HttpRequest): Promise<HttpResponse<Model[]>>
116
+ {
117
+ let list = await this.unwrap(this.getList.serve(request));
118
+ let promises = list?.map((model: any) => {
119
+ let query: any = {}; query[this.indexer] = model[this.indexer];
120
+ return this.unwrap(this.full.serve(query));
121
+ });
122
+ return HttpResponse.ok(await Promise.all(promises ?? []));
123
+ }
124
+
97
125
  protected async servePage(request: HttpRequest): Promise<HttpResponse<Pagination<Model>>> {
98
126
  let { maxResults, pageNumber } = this.getFormalPage(request);
99
127
  let results = await this.database.page<Model>(this.tableName, "timestamp", maxResults, pageNumber);
@@ -125,11 +153,6 @@ export default class ServiceRestFormalTemplate<Model=any>
125
153
  return HttpResponse.ok((await this.database.count(this.tableName, { ...request.query })));
126
154
  }
127
155
 
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
156
  protected async servePut(request: HttpRequest<Model>): Promise<HttpResponse<Model>> {
134
157
  return HttpResponse.ok("not implemented yet");
135
158
  }