lemon-core 4.1.15 → 4.2.0
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/common/test-helper.d.ts +2 -2
- package/dist/common/test-helper.js +24 -26
- package/dist/common/test-helper.js.map +1 -1
- package/dist/controllers/dummy-controller.js +39 -46
- package/dist/controllers/dummy-controller.js.map +1 -1
- package/dist/controllers/general-api-controller.js +95 -100
- package/dist/controllers/general-api-controller.js.map +1 -1
- package/dist/controllers/general-controller.js +81 -82
- package/dist/controllers/general-controller.js.map +1 -1
- package/dist/cores/api/api-service.d.ts +1 -1
- package/dist/cores/api/api-service.js +228 -269
- package/dist/cores/api/api-service.js.map +1 -1
- package/dist/cores/aws/aws-kms-service.d.ts +1 -2
- package/dist/cores/aws/aws-kms-service.js +143 -153
- package/dist/cores/aws/aws-kms-service.js.map +1 -1
- package/dist/cores/aws/aws-s3-service.d.ts +2 -4
- package/dist/cores/aws/aws-s3-service.js +306 -330
- package/dist/cores/aws/aws-s3-service.js.map +1 -1
- package/dist/cores/aws/aws-sns-service.js +147 -153
- package/dist/cores/aws/aws-sns-service.js.map +1 -1
- package/dist/cores/aws/aws-sqs-service.js +149 -170
- package/dist/cores/aws/aws-sqs-service.js.map +1 -1
- package/dist/cores/aws/index.js +10 -20
- package/dist/cores/aws/index.js.map +1 -1
- package/dist/cores/cache/cache-service.d.ts +2 -2
- package/dist/cores/cache/cache-service.js +435 -499
- package/dist/cores/cache/cache-service.js.map +1 -1
- package/dist/cores/config/config-service.d.ts +1 -1
- package/dist/cores/config/config-service.js +56 -63
- package/dist/cores/config/config-service.js.map +1 -1
- package/dist/cores/config/index.js +14 -24
- package/dist/cores/config/index.js.map +1 -1
- package/dist/cores/core-services.d.ts +1 -1
- package/dist/cores/dynamo/dynamo-query-service.js +37 -51
- package/dist/cores/dynamo/dynamo-query-service.js.map +1 -1
- package/dist/cores/dynamo/dynamo-scan-service.d.ts +2 -2
- package/dist/cores/dynamo/dynamo-scan-service.js +29 -40
- package/dist/cores/dynamo/dynamo-scan-service.js.map +1 -1
- package/dist/cores/dynamo/dynamo-service.d.ts +2 -2
- package/dist/cores/dynamo/dynamo-service.js +528 -601
- package/dist/cores/dynamo/dynamo-service.js.map +1 -1
- package/dist/cores/dynamo/tools/expressions.js +17 -7
- package/dist/cores/dynamo/tools/expressions.js.map +1 -1
- package/dist/cores/dynamo/tools/query.js +142 -127
- package/dist/cores/dynamo/tools/query.js.map +1 -1
- package/dist/cores/dynamo/tools/scan.js +111 -97
- package/dist/cores/dynamo/tools/scan.js.map +1 -1
- package/dist/cores/dynamo/tools/serializer.js +17 -7
- package/dist/cores/dynamo/tools/serializer.js.map +1 -1
- package/dist/cores/dynamo/tools/utils.d.ts +0 -2
- package/dist/cores/dynamo/tools/utils.js.map +1 -1
- package/dist/cores/elastic/elastic6-query-service.js +307 -324
- package/dist/cores/elastic/elastic6-query-service.js.map +1 -1
- package/dist/cores/elastic/elastic6-service.d.ts +3 -3
- package/dist/cores/elastic/elastic6-service.js +568 -647
- package/dist/cores/elastic/elastic6-service.js.map +1 -1
- package/dist/cores/elastic/hangul-service.js +52 -54
- package/dist/cores/elastic/hangul-service.js.map +1 -1
- package/dist/cores/lambda/index.js +42 -36
- package/dist/cores/lambda/index.js.map +1 -1
- package/dist/cores/lambda/lambda-alb-handler.d.ts +2 -2
- package/dist/cores/lambda/lambda-alb-handler.js +59 -72
- package/dist/cores/lambda/lambda-alb-handler.js.map +1 -1
- package/dist/cores/lambda/lambda-cognito-handler.js +10 -19
- package/dist/cores/lambda/lambda-cognito-handler.js.map +1 -1
- package/dist/cores/lambda/lambda-cron-handler.d.ts +1 -1
- package/dist/cores/lambda/lambda-cron-handler.js +14 -23
- package/dist/cores/lambda/lambda-cron-handler.js.map +1 -1
- package/dist/cores/lambda/lambda-dynamo-stream-handler.d.ts +2 -2
- package/dist/cores/lambda/lambda-dynamo-stream-handler.js +57 -67
- package/dist/cores/lambda/lambda-dynamo-stream-handler.js.map +1 -1
- package/dist/cores/lambda/lambda-handler.d.ts +22 -22
- package/dist/cores/lambda/lambda-handler.js +93 -106
- package/dist/cores/lambda/lambda-handler.js.map +1 -1
- package/dist/cores/lambda/lambda-notification-handler.d.ts +1 -1
- package/dist/cores/lambda/lambda-notification-handler.js +39 -50
- package/dist/cores/lambda/lambda-notification-handler.js.map +1 -1
- package/dist/cores/lambda/lambda-sns-handler.js +79 -88
- package/dist/cores/lambda/lambda-sns-handler.js.map +1 -1
- package/dist/cores/lambda/lambda-sqs-handler.js +79 -88
- package/dist/cores/lambda/lambda-sqs-handler.js.map +1 -1
- package/dist/cores/lambda/lambda-web-handler.d.ts +6 -6
- package/dist/cores/lambda/lambda-web-handler.js +387 -412
- package/dist/cores/lambda/lambda-web-handler.js.map +1 -1
- package/dist/cores/lambda/lambda-wss-handler.js +23 -32
- package/dist/cores/lambda/lambda-wss-handler.js.map +1 -1
- package/dist/cores/protocol/index.js +10 -20
- package/dist/cores/protocol/index.js.map +1 -1
- package/dist/cores/protocol/protocol-service.d.ts +3 -3
- package/dist/cores/protocol/protocol-service.js +235 -227
- package/dist/cores/protocol/protocol-service.js.map +1 -1
- package/dist/cores/storage/http-storage-service.js +65 -85
- package/dist/cores/storage/http-storage-service.js.map +1 -1
- package/dist/cores/storage/model-manager.js +66 -85
- package/dist/cores/storage/model-manager.js.map +1 -1
- package/dist/cores/storage/proxy-storage-service.d.ts +2 -2
- package/dist/cores/storage/proxy-storage-service.js +562 -599
- package/dist/cores/storage/proxy-storage-service.js.map +1 -1
- package/dist/cores/storage/redis-storage-service.js +163 -177
- package/dist/cores/storage/redis-storage-service.js.map +1 -1
- package/dist/cores/storage/storage-service.js +281 -322
- package/dist/cores/storage/storage-service.js.map +1 -1
- package/dist/engine/builder.d.ts +1 -1
- package/dist/engine/builder.js +59 -63
- package/dist/engine/builder.js.map +1 -1
- package/dist/engine/engine.d.ts +4 -4
- package/dist/engine/engine.js +9 -18
- package/dist/engine/engine.js.map +1 -1
- package/dist/engine/types.d.ts +1 -1
- package/dist/engine/utilities.d.ts +5 -5
- package/dist/engine/utilities.js +301 -293
- package/dist/engine/utilities.js.map +1 -1
- package/dist/environ.js +4 -6
- package/dist/environ.js.map +1 -1
- package/dist/extended/abstract-service.js +595 -645
- package/dist/extended/abstract-service.js.map +1 -1
- package/dist/extended/libs/sig-v4.js.map +1 -1
- package/dist/generated/field-registry.d.ts +10 -0
- package/dist/generated/field-registry.js +17 -0
- package/dist/generated/field-registry.js.map +1 -0
- package/dist/helpers/helpers.d.ts +17 -9
- package/dist/helpers/helpers.js +88 -78
- package/dist/helpers/helpers.js.map +1 -1
- package/dist/index.js +17 -7
- package/dist/index.js.map +1 -1
- package/dist/lib/dynamodb-value.js +2 -3
- package/dist/lib/dynamodb-value.js.map +1 -1
- package/dist/tools/express.js +4 -5
- package/dist/tools/express.js.map +1 -1
- package/dist/tools/tools.d.ts +3 -1
- package/dist/tools/tools.js +14 -21
- package/dist/tools/tools.js.map +1 -1
- package/package.json +19 -18
- package/dist/exec-cli.d.ts +0 -2
- package/dist/exec-cli.js +0 -211
- package/dist/exec-cli.js.map +0 -1
- package/dist/lib/dynamo/expressions.d.ts +0 -14
- package/dist/lib/dynamo/expressions.js +0 -212
- package/dist/lib/dynamo/expressions.js.map +0 -1
- package/dist/lib/dynamo/query.d.ts +0 -43
- package/dist/lib/dynamo/query.js +0 -246
- package/dist/lib/dynamo/query.js.map +0 -1
- package/dist/lib/dynamo/scan.d.ts +0 -33
- package/dist/lib/dynamo/scan.js +0 -172
- package/dist/lib/dynamo/scan.js.map +0 -1
- package/dist/lib/dynamo/serializer.d.ts +0 -12
- package/dist/lib/dynamo/serializer.js +0 -243
- package/dist/lib/dynamo/serializer.js.map +0 -1
- package/dist/lib/dynamo/utils.d.ts +0 -15
- package/dist/lib/dynamo/utils.js +0 -129
- package/dist/lib/dynamo/utils.js.map +0 -1
- package/dist/tools/shared.d.ts +0 -28
- package/dist/tools/shared.js +0 -143
- package/dist/tools/shared.js.map +0 -1
|
@@ -36,7 +36,7 @@ export declare const GETERR$: (e: any) => {
|
|
|
36
36
|
*/
|
|
37
37
|
export declare const NUL404: (e: Error) => any;
|
|
38
38
|
/** returns only defined */
|
|
39
|
-
export declare const onlyDefined: <T extends object>(N: T, $def?: T) => T;
|
|
39
|
+
export declare const onlyDefined: <T extends object>(N: T, $def?: T | null) => T | null;
|
|
40
40
|
/**
|
|
41
41
|
* improve expect() function with projection field.
|
|
42
42
|
*
|
|
@@ -83,7 +83,7 @@ export declare const waited: (t?: number) => Promise<unknown>;
|
|
|
83
83
|
/**
|
|
84
84
|
* error payload type
|
|
85
85
|
*/
|
|
86
|
-
|
|
86
|
+
type ErrorPayload = {
|
|
87
87
|
'stack-trace'?: any;
|
|
88
88
|
message: string;
|
|
89
89
|
error: string;
|
|
@@ -9,17 +9,12 @@
|
|
|
9
9
|
*
|
|
10
10
|
* @copyright (C) 2019 LemonCloud Co Ltd. - All Rights Reserved.
|
|
11
11
|
*/
|
|
12
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
13
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
14
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
15
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
16
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
17
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
18
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
19
|
-
});
|
|
20
|
-
};
|
|
21
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
13
|
exports.asErrorPayload = exports.waited = exports.marshal = exports.environ = exports._it = exports.expect2 = exports.onlyDefined = exports.NUL404 = exports.GETERR$ = exports.GETERR = void 0;
|
|
14
|
+
// Keep test runner access indirect. This module is exported from the public package API,
|
|
15
|
+
// so importing Vitest here would leak a devDependency into runtime consumers.
|
|
16
|
+
const $expect = () => globalThis?.expect;
|
|
17
|
+
const $it = () => globalThis?.it;
|
|
23
18
|
/**
|
|
24
19
|
* catch error as string
|
|
25
20
|
*
|
|
@@ -29,7 +24,13 @@ exports.asErrorPayload = exports.waited = exports.marshal = exports.environ = ex
|
|
|
29
24
|
* ```
|
|
30
25
|
* @param e
|
|
31
26
|
*/
|
|
32
|
-
const GETERR = (e) =>
|
|
27
|
+
const GETERR = (e) => {
|
|
28
|
+
if (e instanceof Error) {
|
|
29
|
+
const errors = Array.isArray(e.errors) ? e.errors.map(exports.GETERR) : [];
|
|
30
|
+
return [`${e.message}`, ...errors].filter(_ => _).join('\n');
|
|
31
|
+
}
|
|
32
|
+
return e && typeof e == 'object' ? JSON.stringify(e) : `${e}`;
|
|
33
|
+
};
|
|
33
34
|
exports.GETERR = GETERR;
|
|
34
35
|
/**
|
|
35
36
|
* catch error as { error: string }
|
|
@@ -95,14 +96,14 @@ const expect2 = (test, view) => {
|
|
|
95
96
|
try {
|
|
96
97
|
const ret = typeof test == 'function' ? test() : test;
|
|
97
98
|
if (ret instanceof Promise) {
|
|
98
|
-
return expect(ret.then(project).catch(exports.GETERR)).resolves;
|
|
99
|
+
return $expect()(ret.then(project).catch(exports.GETERR)).resolves;
|
|
99
100
|
}
|
|
100
101
|
else {
|
|
101
|
-
return expect(project(ret));
|
|
102
|
+
return $expect()(project(ret));
|
|
102
103
|
}
|
|
103
104
|
}
|
|
104
105
|
catch (e) {
|
|
105
|
-
return expect((0, exports.GETERR)(e));
|
|
106
|
+
return $expect()((0, exports.GETERR)(e));
|
|
106
107
|
}
|
|
107
108
|
};
|
|
108
109
|
exports.expect2 = expect2;
|
|
@@ -113,7 +114,7 @@ exports.expect2 = expect2;
|
|
|
113
114
|
* @param callback
|
|
114
115
|
*/
|
|
115
116
|
const _it = (name, callback) => {
|
|
116
|
-
it(`ignore! ${name}`, (
|
|
117
|
+
$it()(`ignore! ${name}`, () => undefined);
|
|
117
118
|
};
|
|
118
119
|
exports._it = _it;
|
|
119
120
|
/**
|
|
@@ -167,12 +168,10 @@ exports.marshal = marshal;
|
|
|
167
168
|
* ``
|
|
168
169
|
* @param t msec
|
|
169
170
|
*/
|
|
170
|
-
const waited = (t = 200) =>
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
}, t);
|
|
175
|
-
});
|
|
171
|
+
const waited = async (t = 200) => new Promise(resolve => {
|
|
172
|
+
setTimeout(() => {
|
|
173
|
+
resolve(undefined);
|
|
174
|
+
}, t);
|
|
176
175
|
});
|
|
177
176
|
exports.waited = waited;
|
|
178
177
|
/**
|
|
@@ -184,10 +183,9 @@ const asErrorPayload = (e, data) => {
|
|
|
184
183
|
return typeof m == 'object' ? JSON.stringify(m) : `${m}`;
|
|
185
184
|
};
|
|
186
185
|
const _pack = (e, depth = 0) => {
|
|
187
|
-
var _a;
|
|
188
186
|
if (e === undefined || e === null)
|
|
189
187
|
return { error: e };
|
|
190
|
-
const stack = e instanceof Error ? e
|
|
188
|
+
const stack = e instanceof Error ? e?.stack : undefined;
|
|
191
189
|
const error = e === undefined || e === null
|
|
192
190
|
? e
|
|
193
191
|
: typeof e == 'string'
|
|
@@ -199,7 +197,7 @@ const asErrorPayload = (e, data) => {
|
|
|
199
197
|
if (depth > 5)
|
|
200
198
|
return { stack, error };
|
|
201
199
|
// check nested errors.
|
|
202
|
-
const errors =
|
|
200
|
+
const errors = e?.errors || e?.body?.errors || e?.cause;
|
|
203
201
|
if (errors && typeof errors == 'object') {
|
|
204
202
|
if (Array.isArray(errors)) {
|
|
205
203
|
const errs = errors.map((ee) => _pack(ee, depth + 1));
|
|
@@ -219,10 +217,10 @@ const asErrorPayload = (e, data) => {
|
|
|
219
217
|
const message = data && typeof data == 'string' ? data : _msg(e);
|
|
220
218
|
const E = _pack(e);
|
|
221
219
|
const payload = Object.assign($base, (0, exports.onlyDefined)({
|
|
222
|
-
'stack-trace': E
|
|
220
|
+
'stack-trace': E?.stack,
|
|
223
221
|
message,
|
|
224
|
-
error: E
|
|
225
|
-
errors: E
|
|
222
|
+
error: E?.error,
|
|
223
|
+
errors: E?.errors,
|
|
226
224
|
}));
|
|
227
225
|
//* returns payload for sns error
|
|
228
226
|
return payload;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-helper.js","sourceRoot":"","sources":["../../src/common/test-helper.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG
|
|
1
|
+
{"version":3,"file":"test-helper.js","sourceRoot":"","sources":["../../src/common/test-helper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.DummyController = void 0;
|
|
13
4
|
/**
|
|
@@ -36,6 +27,8 @@ const general_controller_1 = require("./general-controller");
|
|
|
36
27
|
* - to serve basic CRUD with `dummy-<type>-data.yml`
|
|
37
28
|
*/
|
|
38
29
|
class DummyController extends general_controller_1.GeneralController {
|
|
30
|
+
_name;
|
|
31
|
+
service;
|
|
39
32
|
/**
|
|
40
33
|
* create dummy-controller with type
|
|
41
34
|
*
|
|
@@ -45,49 +38,16 @@ class DummyController extends general_controller_1.GeneralController {
|
|
|
45
38
|
*/
|
|
46
39
|
constructor(type, name, idName = 'id') {
|
|
47
40
|
super(type);
|
|
48
|
-
/**
|
|
49
|
-
* name of this resource.
|
|
50
|
-
*/
|
|
51
|
-
this.hello = () => `dummy-controller:${this.type()}/${this._name}`;
|
|
52
|
-
/**
|
|
53
|
-
* get list of data.
|
|
54
|
-
*/
|
|
55
|
-
this.do_list = (id, param, body, ctx) => __awaiter(this, void 0, void 0, function* () {
|
|
56
|
-
param = param || {};
|
|
57
|
-
const page = engine_1.$U.N(param.page, 1);
|
|
58
|
-
const limit = engine_1.$U.N(param.limit, 1);
|
|
59
|
-
return this.service.listItems(page, limit);
|
|
60
|
-
});
|
|
61
|
-
/**
|
|
62
|
-
* read item.
|
|
63
|
-
*/
|
|
64
|
-
this.do_get = (id, param, body, ctx) => __awaiter(this, void 0, void 0, function* () {
|
|
65
|
-
return this.service.readItem(id);
|
|
66
|
-
});
|
|
67
|
-
/**
|
|
68
|
-
* update item.
|
|
69
|
-
*/
|
|
70
|
-
this.do_put = (id, param, body, ctx) => __awaiter(this, void 0, void 0, function* () {
|
|
71
|
-
return this.service.updateItem(id, null, body);
|
|
72
|
-
});
|
|
73
|
-
/**
|
|
74
|
-
* save item.
|
|
75
|
-
*/
|
|
76
|
-
this.do_post = (id, param, body, ctx) => __awaiter(this, void 0, void 0, function* () {
|
|
77
|
-
return this.service.saveItem(id, body);
|
|
78
|
-
});
|
|
79
|
-
/**
|
|
80
|
-
* delete item.
|
|
81
|
-
*/
|
|
82
|
-
this.do_delete = (id, param, body, ctx) => __awaiter(this, void 0, void 0, function* () {
|
|
83
|
-
return this.service.deleteItem(id);
|
|
84
|
-
});
|
|
85
41
|
this._name = name || type;
|
|
86
42
|
//* prepare dynamo options.
|
|
87
43
|
const tableName = `dummy-${this._name}`;
|
|
88
44
|
const fileName = `dummy-${this._name}-data.yml`;
|
|
89
45
|
this.service = new dynamo_1.DummyDynamoService(fileName, { tableName, idName });
|
|
90
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* name of this resource.
|
|
49
|
+
*/
|
|
50
|
+
hello = () => `dummy-controller:${this.type()}/${this._name}`;
|
|
91
51
|
/**
|
|
92
52
|
* decode to target `next-handler`
|
|
93
53
|
* - use pattern `do_<mode>_<cmd?>`
|
|
@@ -102,6 +62,39 @@ class DummyController extends general_controller_1.GeneralController {
|
|
|
102
62
|
const handler = this[funcName];
|
|
103
63
|
return typeof handler == 'function' ? handler : null;
|
|
104
64
|
}
|
|
65
|
+
/**
|
|
66
|
+
* get list of data.
|
|
67
|
+
*/
|
|
68
|
+
do_list = async (id, param, body, ctx) => {
|
|
69
|
+
param = param || {};
|
|
70
|
+
const page = engine_1.$U.N(param.page, 1);
|
|
71
|
+
const limit = engine_1.$U.N(param.limit, 1);
|
|
72
|
+
return this.service.listItems(page, limit);
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* read item.
|
|
76
|
+
*/
|
|
77
|
+
do_get = async (id, param, body, ctx) => {
|
|
78
|
+
return this.service.readItem(id);
|
|
79
|
+
};
|
|
80
|
+
/**
|
|
81
|
+
* update item.
|
|
82
|
+
*/
|
|
83
|
+
do_put = async (id, param, body, ctx) => {
|
|
84
|
+
return this.service.updateItem(id, null, body);
|
|
85
|
+
};
|
|
86
|
+
/**
|
|
87
|
+
* save item.
|
|
88
|
+
*/
|
|
89
|
+
do_post = async (id, param, body, ctx) => {
|
|
90
|
+
return this.service.saveItem(id, body);
|
|
91
|
+
};
|
|
92
|
+
/**
|
|
93
|
+
* delete item.
|
|
94
|
+
*/
|
|
95
|
+
do_delete = async (id, param, body, ctx) => {
|
|
96
|
+
return this.service.deleteItem(id);
|
|
97
|
+
};
|
|
105
98
|
}
|
|
106
99
|
exports.DummyController = DummyController;
|
|
107
100
|
//# sourceMappingURL=dummy-controller.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dummy-controller.js","sourceRoot":"","sources":["../../src/controllers/dummy-controller.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dummy-controller.js","sourceRoot":"","sources":["../../src/controllers/dummy-controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.GeneralAPIController = void 0;
|
|
13
4
|
/**
|
|
@@ -30,6 +21,10 @@ const general_controller_1 = require("./general-controller");
|
|
|
30
21
|
* - support basic CRUD with TypedManager
|
|
31
22
|
*/
|
|
32
23
|
class GeneralAPIController extends general_controller_1.GeneralWEBController {
|
|
24
|
+
NS;
|
|
25
|
+
storage;
|
|
26
|
+
search;
|
|
27
|
+
unique;
|
|
33
28
|
/**
|
|
34
29
|
* default constructor
|
|
35
30
|
* @param type type of REST API
|
|
@@ -39,102 +34,15 @@ class GeneralAPIController extends general_controller_1.GeneralWEBController {
|
|
|
39
34
|
*/
|
|
40
35
|
constructor(type, storage, search, uniqueField) {
|
|
41
36
|
super(type);
|
|
42
|
-
/**
|
|
43
|
-
* name of this resource.
|
|
44
|
-
*/
|
|
45
|
-
this.hello = () => `general-api-controller:${this.type()}`;
|
|
46
|
-
/**
|
|
47
|
-
* search node
|
|
48
|
-
*
|
|
49
|
-
*/
|
|
50
|
-
this.listBase = (id, param, body, context) => __awaiter(this, void 0, void 0, function* () {
|
|
51
|
-
(0, engine_1._log)(this.NS, `! listBase(${id})..`);
|
|
52
|
-
param = param || {};
|
|
53
|
-
//* translate page + ipp => page & limit.
|
|
54
|
-
const $page = engine_1.$U.N(param.page, 0);
|
|
55
|
-
const $limit = engine_1.$U.N(param.limit, engine_1.$U.N(param.ipp, 12)); // compartible for ipp
|
|
56
|
-
const $param = Object.assign(Object.assign({}, param), { $page, $limit, page: undefined, ipp: undefined, limit: undefined }); // clear paging param.
|
|
57
|
-
$param.$O = $param.$O || 'id.keyword'; // order by id
|
|
58
|
-
//* base filter masking.
|
|
59
|
-
if (param.type === undefined)
|
|
60
|
-
$param.type = this.type();
|
|
61
|
-
if (param.deletedAt === undefined)
|
|
62
|
-
$param.deletedAt = 0;
|
|
63
|
-
if (this.unique && param.stereo === undefined)
|
|
64
|
-
$param['!stereo'] = '#'; //* `.stereo` is not like '#'
|
|
65
|
-
//* call search.
|
|
66
|
-
return this.search.searchSimple($param);
|
|
67
|
-
});
|
|
68
|
-
/**
|
|
69
|
-
* read node
|
|
70
|
-
*/
|
|
71
|
-
this.getBase = (id, param, body, context) => __awaiter(this, void 0, void 0, function* () {
|
|
72
|
-
(0, engine_1._log)(this.NS, `! getBase(${id})..`);
|
|
73
|
-
return this.storage.read(id);
|
|
74
|
-
});
|
|
75
|
-
/**
|
|
76
|
-
* update node.
|
|
77
|
-
* - throw error if not found.
|
|
78
|
-
*/
|
|
79
|
-
this.putBase = (id, param, body, context) => __awaiter(this, void 0, void 0, function* () {
|
|
80
|
-
(0, engine_1._log)(this.NS, `! putBase(${id})..`);
|
|
81
|
-
id = `${id || ''}`.trim();
|
|
82
|
-
if (!id)
|
|
83
|
-
throw new Error('@id (string) is required!');
|
|
84
|
-
const $org = yield this.storage.read(id);
|
|
85
|
-
//* if try to update 'unique-field', then update lookup.
|
|
86
|
-
const field = this.unique ? this.unique.field : '';
|
|
87
|
-
const $base = field && body[field] ? yield this.unique.updateLookup($org, body[field]) : {};
|
|
88
|
-
const res = yield this.storage.save(id, body);
|
|
89
|
-
return Object.assign(Object.assign(Object.assign({}, $base), res), { id });
|
|
90
|
-
});
|
|
91
|
-
/**
|
|
92
|
-
* save (or create) node.
|
|
93
|
-
*/
|
|
94
|
-
this.postBase = (id, param, body, context) => __awaiter(this, void 0, void 0, function* () {
|
|
95
|
-
(0, engine_1._log)(this.NS, `! postBase(${id})..`);
|
|
96
|
-
id = `${id || ''}`.trim();
|
|
97
|
-
if (!id)
|
|
98
|
-
throw new Error('@id (string) is required!');
|
|
99
|
-
id = id == '0' ? '' : id; // clear id.
|
|
100
|
-
//* if try to update 'unique-field', then update lookup.
|
|
101
|
-
const field = this.unique ? this.unique.field : '';
|
|
102
|
-
const $base = field && body[field] ? yield this.unique.updateLookup({ id, [field]: body[field] }) : {};
|
|
103
|
-
id = id || $base.id;
|
|
104
|
-
//* if no id found, then try to make new one.
|
|
105
|
-
if (!id) {
|
|
106
|
-
const $id = yield this.storage.insert({ type: this.storage.type });
|
|
107
|
-
const res = yield this.storage.save($id.id, body);
|
|
108
|
-
return Object.assign(Object.assign({}, res), $id);
|
|
109
|
-
}
|
|
110
|
-
else {
|
|
111
|
-
const res = yield this.storage.save(id, body);
|
|
112
|
-
return Object.assign(Object.assign(Object.assign({}, $base), res), { id });
|
|
113
|
-
}
|
|
114
|
-
});
|
|
115
|
-
/**
|
|
116
|
-
* delete (or destroy) node
|
|
117
|
-
*/
|
|
118
|
-
this.deleteBase = (id, param, body, context) => __awaiter(this, void 0, void 0, function* () {
|
|
119
|
-
(0, engine_1._log)(this.NS, `! deleteBase(${id})..`);
|
|
120
|
-
param = param || {};
|
|
121
|
-
const destroy = engine_1.$U.N(param.destroy, param.destroy === '' ? 1 : 0) ? true : false;
|
|
122
|
-
//* destroy for lookup-id (TBD - need to destory lookup-key really?)
|
|
123
|
-
const field = this.unique ? this.unique.field : '';
|
|
124
|
-
if (destroy && this.unique) {
|
|
125
|
-
const $org = yield this.storage.read(id).catch(test_helper_1.NUL404);
|
|
126
|
-
const old = $org ? $org[field] : '';
|
|
127
|
-
if (old)
|
|
128
|
-
yield this.storage.delete(this.unique.asLookupId(old), destroy);
|
|
129
|
-
}
|
|
130
|
-
//* destroy key...
|
|
131
|
-
return this.storage.delete(id, destroy);
|
|
132
|
-
});
|
|
133
37
|
this.NS = engine_1.$U.NS(`*${type}`, 'yellow'); // NAMESPACE TO BE PRINTED.
|
|
134
38
|
this.storage = storage;
|
|
135
39
|
this.search = search;
|
|
136
40
|
this.unique = uniqueField ? storage.makeUniqueFieldManager(uniqueField) : null;
|
|
137
41
|
}
|
|
42
|
+
/**
|
|
43
|
+
* name of this resource.
|
|
44
|
+
*/
|
|
45
|
+
hello = () => `general-api-controller:${this.type()}`;
|
|
138
46
|
/**
|
|
139
47
|
* override decoder of function-name.
|
|
140
48
|
* 1. try to find default.
|
|
@@ -147,6 +55,93 @@ class GeneralAPIController extends general_controller_1.GeneralWEBController {
|
|
|
147
55
|
const func2 = super.asFuncName(mode, 'base', cmd); // use like `getBase()`
|
|
148
56
|
return func2;
|
|
149
57
|
}
|
|
58
|
+
/**
|
|
59
|
+
* search node
|
|
60
|
+
*
|
|
61
|
+
*/
|
|
62
|
+
listBase = async (id, param, body, context) => {
|
|
63
|
+
(0, engine_1._log)(this.NS, `! listBase(${id})..`);
|
|
64
|
+
param = param || {};
|
|
65
|
+
//* translate page + ipp => page & limit.
|
|
66
|
+
const $page = engine_1.$U.N(param.page, 0);
|
|
67
|
+
const $limit = engine_1.$U.N(param.limit, engine_1.$U.N(param.ipp, 12)); // compartible for ipp
|
|
68
|
+
const $param = { ...param, $page, $limit, page: undefined, ipp: undefined, limit: undefined }; // clear paging param.
|
|
69
|
+
$param.$O = $param.$O || 'id.keyword'; // order by id
|
|
70
|
+
//* base filter masking.
|
|
71
|
+
if (param.type === undefined)
|
|
72
|
+
$param.type = this.type();
|
|
73
|
+
if (param.deletedAt === undefined)
|
|
74
|
+
$param.deletedAt = 0;
|
|
75
|
+
if (this.unique && param.stereo === undefined)
|
|
76
|
+
$param['!stereo'] = '#'; //* `.stereo` is not like '#'
|
|
77
|
+
//* call search.
|
|
78
|
+
return this.search.searchSimple($param);
|
|
79
|
+
};
|
|
80
|
+
/**
|
|
81
|
+
* read node
|
|
82
|
+
*/
|
|
83
|
+
getBase = async (id, param, body, context) => {
|
|
84
|
+
(0, engine_1._log)(this.NS, `! getBase(${id})..`);
|
|
85
|
+
return this.storage.read(id);
|
|
86
|
+
};
|
|
87
|
+
/**
|
|
88
|
+
* update node.
|
|
89
|
+
* - throw error if not found.
|
|
90
|
+
*/
|
|
91
|
+
putBase = async (id, param, body, context) => {
|
|
92
|
+
(0, engine_1._log)(this.NS, `! putBase(${id})..`);
|
|
93
|
+
id = `${id || ''}`.trim();
|
|
94
|
+
if (!id)
|
|
95
|
+
throw new Error('@id (string) is required!');
|
|
96
|
+
const $org = await this.storage.read(id);
|
|
97
|
+
//* if try to update 'unique-field', then update lookup.
|
|
98
|
+
const field = this.unique ? this.unique.field : '';
|
|
99
|
+
const $base = field && body[field] ? await this.unique.updateLookup($org, body[field]) : {};
|
|
100
|
+
const res = await this.storage.save(id, body);
|
|
101
|
+
return { ...$base, ...res, id };
|
|
102
|
+
};
|
|
103
|
+
/**
|
|
104
|
+
* save (or create) node.
|
|
105
|
+
*/
|
|
106
|
+
postBase = async (id, param, body, context) => {
|
|
107
|
+
(0, engine_1._log)(this.NS, `! postBase(${id})..`);
|
|
108
|
+
id = `${id || ''}`.trim();
|
|
109
|
+
if (!id)
|
|
110
|
+
throw new Error('@id (string) is required!');
|
|
111
|
+
id = id == '0' ? '' : id; // clear id.
|
|
112
|
+
//* if try to update 'unique-field', then update lookup.
|
|
113
|
+
const field = this.unique ? this.unique.field : '';
|
|
114
|
+
const $base = field && body[field] ? await this.unique.updateLookup({ id, [field]: body[field] }) : {};
|
|
115
|
+
id = id || $base.id;
|
|
116
|
+
//* if no id found, then try to make new one.
|
|
117
|
+
if (!id) {
|
|
118
|
+
const $id = await this.storage.insert({ type: this.storage.type });
|
|
119
|
+
const res = await this.storage.save($id.id, body);
|
|
120
|
+
return { ...res, ...$id };
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
const res = await this.storage.save(id, body);
|
|
124
|
+
return { ...$base, ...res, id };
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
/**
|
|
128
|
+
* delete (or destroy) node
|
|
129
|
+
*/
|
|
130
|
+
deleteBase = async (id, param, body, context) => {
|
|
131
|
+
(0, engine_1._log)(this.NS, `! deleteBase(${id})..`);
|
|
132
|
+
param = param || {};
|
|
133
|
+
const destroy = engine_1.$U.N(param.destroy, param.destroy === '' ? 1 : 0) ? true : false;
|
|
134
|
+
//* destroy for lookup-id (TBD - need to destory lookup-key really?)
|
|
135
|
+
const field = this.unique ? this.unique.field : '';
|
|
136
|
+
if (destroy && this.unique) {
|
|
137
|
+
const $org = await this.storage.read(id).catch(test_helper_1.NUL404);
|
|
138
|
+
const old = $org ? $org[field] : '';
|
|
139
|
+
if (old)
|
|
140
|
+
await this.storage.delete(this.unique.asLookupId(old), destroy);
|
|
141
|
+
}
|
|
142
|
+
//* destroy key...
|
|
143
|
+
return this.storage.delete(id, destroy);
|
|
144
|
+
};
|
|
150
145
|
}
|
|
151
146
|
exports.GeneralAPIController = GeneralAPIController;
|
|
152
147
|
//# sourceMappingURL=general-api-controller.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"general-api-controller.js","sourceRoot":"","sources":["../../src/controllers/general-api-controller.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"general-api-controller.js","sourceRoot":"","sources":["../../src/controllers/general-api-controller.ts"],"names":[],"mappings":"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"}
|