lemon-core 4.1.15 → 4.2.1
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/README.md +2 -0
- 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 +3 -3
- package/dist/cores/dynamo/dynamo-service.js +540 -605
- 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.d.ts +8 -1
- package/dist/cores/storage/storage-service.js +359 -324
- 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 +25 -24
- 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
|
@@ -2,8 +2,8 @@ import { Handler, APIGatewayProxyEvent, APIGatewayProxyResult, DynamoDBStreamEve
|
|
|
2
2
|
import { NextContext } from 'lemon-model';
|
|
3
3
|
import { ProtocolParam, CoreConfigService } from './../core-services';
|
|
4
4
|
import * as $lambda from 'aws-lambda';
|
|
5
|
-
export
|
|
6
|
-
export
|
|
5
|
+
export type ConfigService = CoreConfigService;
|
|
6
|
+
export type Context = $lambda.Context;
|
|
7
7
|
/**
|
|
8
8
|
* cron event
|
|
9
9
|
*
|
|
@@ -23,25 +23,25 @@ export interface CronEvent {
|
|
|
23
23
|
action: string;
|
|
24
24
|
};
|
|
25
25
|
}
|
|
26
|
-
export
|
|
27
|
-
export
|
|
28
|
-
export
|
|
29
|
-
export
|
|
30
|
-
export
|
|
31
|
-
export
|
|
32
|
-
export
|
|
33
|
-
export
|
|
34
|
-
export
|
|
35
|
-
export
|
|
36
|
-
export
|
|
37
|
-
export
|
|
38
|
-
export
|
|
39
|
-
export
|
|
40
|
-
export
|
|
41
|
-
export
|
|
42
|
-
export
|
|
43
|
-
export
|
|
44
|
-
export
|
|
26
|
+
export type WEBEvent = APIGatewayProxyEvent;
|
|
27
|
+
export type WEBResult = APIGatewayProxyResult;
|
|
28
|
+
export type WSSEvent = APIGatewayProxyEvent;
|
|
29
|
+
export type DDSEvent = DynamoDBStreamEvent;
|
|
30
|
+
export type ALBEvent = AWSALBEvent;
|
|
31
|
+
export type SNSEvent = AWSSNSEvent;
|
|
32
|
+
export type SQSEvent = AWSSQSEvent;
|
|
33
|
+
export type WSSResult = any;
|
|
34
|
+
export type ALBResult = AWSALBResult;
|
|
35
|
+
export type MyHandler<TEvent = any, TResult = any> = (event: TEvent, context: NextContext) => Promise<TResult>;
|
|
36
|
+
export type ALBHandler = MyHandler<ALBEvent, ALBResult>;
|
|
37
|
+
export type WEBHandler = MyHandler<WEBEvent, WEBResult>;
|
|
38
|
+
export type WSSHandler = MyHandler<WSSEvent, WSSResult>;
|
|
39
|
+
export type SNSHandler = MyHandler<SNSEvent, void>;
|
|
40
|
+
export type SQSHandler = MyHandler<SQSEvent, void>;
|
|
41
|
+
export type CronHandler = MyHandler<CronEvent, void>;
|
|
42
|
+
export type CognitoHandler = MyHandler<PreSignUpTriggerEvent>;
|
|
43
|
+
export type DynamoStreamHandler = MyHandler<DynamoDBStreamEvent, void>;
|
|
44
|
+
export type NotificationHandler = MyHandler<WEBEvent, WEBResult>;
|
|
45
45
|
/**
|
|
46
46
|
*
|
|
47
47
|
*/
|
|
@@ -57,7 +57,7 @@ declare const $handlerTypes: {
|
|
|
57
57
|
'dynamo-stream': string;
|
|
58
58
|
notification: string;
|
|
59
59
|
};
|
|
60
|
-
export
|
|
60
|
+
export type HandlerType = keyof typeof $handlerTypes;
|
|
61
61
|
/**
|
|
62
62
|
* class: `LambdaHandlerService`
|
|
63
63
|
* - must override if need to customize packing contexxt.
|
|
@@ -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.LambdaHandler = exports.buildReportError = exports.LambdaSubHandler = void 0;
|
|
13
4
|
/**
|
|
@@ -40,6 +31,8 @@ const $handlerTypes = {
|
|
|
40
31
|
notification: 'notification',
|
|
41
32
|
};
|
|
42
33
|
class LambdaSubHandler {
|
|
34
|
+
lambda;
|
|
35
|
+
type;
|
|
43
36
|
constructor(lambda, type) {
|
|
44
37
|
if (!lambda)
|
|
45
38
|
throw new Error('@lambda (lambda-handler) is required!');
|
|
@@ -67,10 +60,13 @@ exports.buildReportError = buildReportError;
|
|
|
67
60
|
* - general lambda handler so that routes to proper target handlers.
|
|
68
61
|
*/
|
|
69
62
|
class LambdaHandler {
|
|
63
|
+
//* shared config.
|
|
64
|
+
static REPORT_ERROR = engine_1.$U.env('REPORT_ERROR', '1') == '1';
|
|
65
|
+
//* handler map.
|
|
66
|
+
_map = {};
|
|
67
|
+
config;
|
|
70
68
|
//* protected constructor.
|
|
71
69
|
constructor(config) {
|
|
72
|
-
//* handler map.
|
|
73
|
-
this._map = {};
|
|
74
70
|
this.config = config;
|
|
75
71
|
}
|
|
76
72
|
/**
|
|
@@ -100,7 +96,6 @@ class LambdaHandler {
|
|
|
100
96
|
}
|
|
101
97
|
//* Find Service By Event
|
|
102
98
|
findService(event) {
|
|
103
|
-
var _a, _b;
|
|
104
99
|
const headers = (event && event.headers) || {};
|
|
105
100
|
(0, engine_1._log)(NS, `> headers =`, engine_1.$U.json(headers));
|
|
106
101
|
//* check if AWS SNS Notification Subscription -> notification controller.
|
|
@@ -119,7 +114,7 @@ class LambdaHandler {
|
|
|
119
114
|
//* via WEB-SOCKET from ApiGateway
|
|
120
115
|
return 'wss';
|
|
121
116
|
}
|
|
122
|
-
else if (
|
|
117
|
+
else if (event.requestContext?.elb && typeof event.requestContext.elb?.targetGroupArn === 'string') {
|
|
123
118
|
//* via TargetGroup from ALB(Applicatin/Elastic Load Balancer)
|
|
124
119
|
return 'alb';
|
|
125
120
|
}
|
|
@@ -153,86 +148,84 @@ class LambdaHandler {
|
|
|
153
148
|
*
|
|
154
149
|
* @returns boolean
|
|
155
150
|
*/
|
|
156
|
-
handle(event, context) {
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
const
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
return $ctx.then(_ => $svc.handle(event, _));
|
|
180
|
-
}
|
|
181
|
-
else if ($ctx) {
|
|
182
|
-
return $svc.handle(event, $ctx);
|
|
183
|
-
}
|
|
184
|
-
return $svc.handle(event, null);
|
|
185
|
-
}
|
|
186
|
-
//* raise error if not found.
|
|
187
|
-
(0, engine_1._inf)(NS, `WARN! unknown[${type}].event =`, engine_1.$U.json(event));
|
|
188
|
-
callback && callback(new Error(`400 UNKNOWN EVENT - service:${type !== null && type !== void 0 ? type : ''}`));
|
|
189
|
-
};
|
|
190
|
-
//* call promised.
|
|
191
|
-
const promise = (main, event, context) => new Promise((resolve, reject) => {
|
|
192
|
-
try {
|
|
193
|
-
let resolved = false;
|
|
194
|
-
const R = main(event, context, (error, result) => {
|
|
195
|
-
error && (0, engine_1._err)(NS, '! err@cb =', error);
|
|
196
|
-
// !error && _inf(NS, '! res@cb =', result);
|
|
197
|
-
if (error)
|
|
198
|
-
reject(error);
|
|
199
|
-
else if (!resolved)
|
|
200
|
-
resolve(result);
|
|
201
|
-
});
|
|
202
|
-
if (R !== undefined) {
|
|
203
|
-
resolved = true;
|
|
204
|
-
resolve(R);
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
catch (e) {
|
|
208
|
-
return reject(e);
|
|
151
|
+
async handle(event, context) {
|
|
152
|
+
if (!event)
|
|
153
|
+
throw new Error('@event is required!');
|
|
154
|
+
//* WARN! allows for using callbacks as finish/error-handlers
|
|
155
|
+
if (context)
|
|
156
|
+
context.callbackWaitsForEmptyEventLoop = false;
|
|
157
|
+
//* Check API parameters.
|
|
158
|
+
const main = (event, context, callback) => {
|
|
159
|
+
const type = this.findService(event);
|
|
160
|
+
(0, engine_1._log)(NS, `main(${type})...`);
|
|
161
|
+
const handler = this._map[type];
|
|
162
|
+
if (handler && typeof handler == 'function') {
|
|
163
|
+
//* low level handler function.
|
|
164
|
+
return handler(event, context, callback);
|
|
165
|
+
}
|
|
166
|
+
else if (handler && typeof handler == 'object') {
|
|
167
|
+
//* must be `LambdaHandlerService`.
|
|
168
|
+
const $svc = handler;
|
|
169
|
+
const $ctx = $svc.packContext
|
|
170
|
+
? $svc.packContext(event, context)
|
|
171
|
+
: this.packContext(event, context);
|
|
172
|
+
if ($ctx && $ctx instanceof Promise) {
|
|
173
|
+
return $ctx.then(_ => $svc.handle(event, _));
|
|
209
174
|
}
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
return promise(main, event, context)
|
|
213
|
-
.then(_ => {
|
|
214
|
-
// if (_ !== undefined) _log(NS, '! res =', $U.json(_));
|
|
215
|
-
if (_ !== undefined)
|
|
216
|
-
(0, engine_1._log)(NS, '! res =', engine_1.$U.S(_, 320, 64, ' .... ')); //* cut result string.
|
|
217
|
-
// ((context && context.done) || callback)(null, _);
|
|
218
|
-
// return true;
|
|
219
|
-
return _;
|
|
220
|
-
})
|
|
221
|
-
.catch(e => {
|
|
222
|
-
(0, engine_1._err)(NS, '! err =', e);
|
|
223
|
-
if (!LambdaHandler.REPORT_ERROR) {
|
|
224
|
-
// ((context && context.done) || callback)(e, null);
|
|
225
|
-
// return false;
|
|
226
|
-
throw e;
|
|
175
|
+
else if ($ctx) {
|
|
176
|
+
return $svc.handle(event, $ctx);
|
|
227
177
|
}
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
178
|
+
return $svc.handle(event, null);
|
|
179
|
+
}
|
|
180
|
+
//* raise error if not found.
|
|
181
|
+
(0, engine_1._inf)(NS, `WARN! unknown[${type}].event =`, engine_1.$U.json(event));
|
|
182
|
+
callback && callback(new Error(`400 UNKNOWN EVENT - service:${type ?? ''}`));
|
|
183
|
+
};
|
|
184
|
+
//* call promised.
|
|
185
|
+
const promise = (main, event, context) => new Promise((resolve, reject) => {
|
|
186
|
+
try {
|
|
187
|
+
let resolved = false;
|
|
188
|
+
const R = main(event, context, (error, result) => {
|
|
189
|
+
error && (0, engine_1._err)(NS, '! err@cb =', error);
|
|
190
|
+
// !error && _inf(NS, '! res@cb =', result);
|
|
191
|
+
if (error)
|
|
192
|
+
reject(error);
|
|
193
|
+
else if (!resolved)
|
|
194
|
+
resolve(result);
|
|
235
195
|
});
|
|
196
|
+
if (R !== undefined) {
|
|
197
|
+
resolved = true;
|
|
198
|
+
resolve(R);
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
catch (e) {
|
|
202
|
+
return reject(e);
|
|
203
|
+
}
|
|
204
|
+
});
|
|
205
|
+
//* call main.. (it will return result or promised)
|
|
206
|
+
return promise(main, event, context)
|
|
207
|
+
.then(_ => {
|
|
208
|
+
// if (_ !== undefined) _log(NS, '! res =', $U.json(_));
|
|
209
|
+
if (_ !== undefined)
|
|
210
|
+
(0, engine_1._log)(NS, '! res =', engine_1.$U.S(_, 320, 64, ' .... ')); //* cut result string.
|
|
211
|
+
// ((context && context.done) || callback)(null, _);
|
|
212
|
+
// return true;
|
|
213
|
+
return _;
|
|
214
|
+
})
|
|
215
|
+
.catch(e => {
|
|
216
|
+
(0, engine_1._err)(NS, '! err =', e);
|
|
217
|
+
if (!LambdaHandler.REPORT_ERROR) {
|
|
218
|
+
// ((context && context.done) || callback)(e, null);
|
|
219
|
+
// return false;
|
|
220
|
+
throw e;
|
|
221
|
+
}
|
|
222
|
+
//* report this error.
|
|
223
|
+
return (0, engine_1.doReportError)(e, context, event)
|
|
224
|
+
.catch(_ => _) // safe call w/o error.
|
|
225
|
+
.then(() => {
|
|
226
|
+
// ((context && context.done) || callback)(e, null);
|
|
227
|
+
// return false;
|
|
228
|
+
throw e;
|
|
236
229
|
});
|
|
237
230
|
});
|
|
238
231
|
}
|
|
@@ -242,14 +235,12 @@ class LambdaHandler {
|
|
|
242
235
|
*
|
|
243
236
|
* @param param protocol parameters
|
|
244
237
|
*/
|
|
245
|
-
handleProtocol(param) {
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
return $web.handleProtocol(param);
|
|
252
|
-
});
|
|
238
|
+
async handleProtocol(param) {
|
|
239
|
+
//* if valid API Request, then use $web's function.
|
|
240
|
+
const $web = this._map['web'];
|
|
241
|
+
if (!$web || typeof $web != 'object')
|
|
242
|
+
throw new Error(`500 NO WEB HANDLER - name:web`);
|
|
243
|
+
return $web.handleProtocol(param);
|
|
253
244
|
}
|
|
254
245
|
/**
|
|
255
246
|
* (default) pack the origin context to application context.
|
|
@@ -258,15 +249,11 @@ class LambdaHandler {
|
|
|
258
249
|
* @param event origin event
|
|
259
250
|
* @param $ctx origin context of lambda
|
|
260
251
|
*/
|
|
261
|
-
packContext(event, $ctx) {
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
return context;
|
|
266
|
-
});
|
|
252
|
+
async packContext(event, $ctx) {
|
|
253
|
+
const context = {};
|
|
254
|
+
$ctx && (0, engine_1._log)(NS, `! context[${$ctx.functionName || ''}] =`, engine_1.$U.json($ctx));
|
|
255
|
+
return context;
|
|
267
256
|
}
|
|
268
257
|
}
|
|
269
258
|
exports.LambdaHandler = LambdaHandler;
|
|
270
|
-
//* shared config.
|
|
271
|
-
LambdaHandler.REPORT_ERROR = engine_1.$U.env('REPORT_ERROR', '1') == '1';
|
|
272
259
|
//# sourceMappingURL=lambda-handler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lambda-handler.js","sourceRoot":"","sources":["../../../src/cores/lambda/lambda-handler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lambda-handler.js","sourceRoot":"","sources":["../../../src/cores/lambda/lambda-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,7 +30,7 @@ export interface NotificationBody {
|
|
|
30
30
|
* @param body NotificationBody - any payload from origin.
|
|
31
31
|
* @param ctx Origin Event Infor.
|
|
32
32
|
*/
|
|
33
|
-
export
|
|
33
|
+
export type NotificationNextHandler = NextHandler<NotificationParam, string, NotificationBody>;
|
|
34
34
|
/**
|
|
35
35
|
* class: `LambdaNotificationHandler`
|
|
36
36
|
* - default Notification Handler via SNS http/https subscription.
|
|
@@ -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.LambdaNotificationHandler = void 0;
|
|
13
4
|
/**
|
|
@@ -30,35 +21,16 @@ const NS = engine_1.$U.NS('HNOT', 'yellow'); // NAMESPACE TO BE PRINTED.
|
|
|
30
21
|
* - default Notification Handler via SNS http/https subscription.
|
|
31
22
|
*/
|
|
32
23
|
class LambdaNotificationHandler extends lambda_handler_1.LambdaSubHandler {
|
|
24
|
+
//* shared config.
|
|
25
|
+
static REPORT_ERROR = lambda_handler_1.LambdaHandler.REPORT_ERROR;
|
|
33
26
|
/**
|
|
34
27
|
* default constructor w/ registering self.
|
|
35
28
|
*/
|
|
36
29
|
constructor(lambda, register) {
|
|
37
30
|
super(lambda, register ? 'notification' : undefined);
|
|
38
|
-
this.listeners = [];
|
|
39
|
-
/**
|
|
40
|
-
* Notification Handler.
|
|
41
|
-
*/
|
|
42
|
-
this.handle = (event, context) => __awaiter(this, void 0, void 0, function* () {
|
|
43
|
-
(0, engine_1._log)(NS, `handle()....`);
|
|
44
|
-
// _log(NS, '! event =', $U.json(event));
|
|
45
|
-
// _log(NS, '> event =', $U.json(event));
|
|
46
|
-
const $doReportError = (0, lambda_handler_1.buildReportError)(LambdaNotificationHandler.REPORT_ERROR);
|
|
47
|
-
// _inf(NS, '! event.headers =', $U.json(event.headers));
|
|
48
|
-
// _inf(NS, '! context =', $U.json(context));
|
|
49
|
-
(0, engine_1._log)(NS, '! path =', event.path);
|
|
50
|
-
const id = `${event.path}`;
|
|
51
|
-
const { param, body } = this.packNotificationParamBody(event);
|
|
52
|
-
//* call all listeners in parrallel.
|
|
53
|
-
const asyncNext = (fn, i) => new Promise(resolve => {
|
|
54
|
-
resolve(fn(id, param, body, context));
|
|
55
|
-
}).catch(e => $doReportError(e, null, null, { param, body, i }));
|
|
56
|
-
const res = yield Promise.all(this.listeners.map(asyncNext));
|
|
57
|
-
const ret = (0, lambda_web_handler_1.success)(res.join(','));
|
|
58
|
-
return ret;
|
|
59
|
-
});
|
|
60
31
|
// _log(NS, `LambdaNotificationHandler(${register})..`);
|
|
61
32
|
}
|
|
33
|
+
listeners = [];
|
|
62
34
|
/**
|
|
63
35
|
* add listener.
|
|
64
36
|
* @param handler
|
|
@@ -66,27 +38,46 @@ class LambdaNotificationHandler extends lambda_handler_1.LambdaSubHandler {
|
|
|
66
38
|
addListener(handler) {
|
|
67
39
|
this.listeners.push(handler);
|
|
68
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* Notification Handler.
|
|
43
|
+
*/
|
|
44
|
+
handle = async (event, context) => {
|
|
45
|
+
(0, engine_1._log)(NS, `handle()....`);
|
|
46
|
+
// _log(NS, '! event =', $U.json(event));
|
|
47
|
+
// _log(NS, '> event =', $U.json(event));
|
|
48
|
+
const $doReportError = (0, lambda_handler_1.buildReportError)(LambdaNotificationHandler.REPORT_ERROR);
|
|
49
|
+
// _inf(NS, '! event.headers =', $U.json(event.headers));
|
|
50
|
+
// _inf(NS, '! context =', $U.json(context));
|
|
51
|
+
(0, engine_1._log)(NS, '! path =', event.path);
|
|
52
|
+
const id = `${event.path}`;
|
|
53
|
+
const { param, body } = this.packNotificationParamBody(event);
|
|
54
|
+
//* call all listeners in parrallel.
|
|
55
|
+
const asyncNext = (fn, i) => new Promise(resolve => {
|
|
56
|
+
resolve(fn(id, param, body, context));
|
|
57
|
+
}).catch(e => $doReportError(e, null, null, { param, body, i }));
|
|
58
|
+
const res = await Promise.all(this.listeners.map(asyncNext));
|
|
59
|
+
const ret = (0, lambda_web_handler_1.success)(res.join(','));
|
|
60
|
+
return ret;
|
|
61
|
+
};
|
|
69
62
|
/**
|
|
70
63
|
* Pack context as `NextContext`
|
|
71
64
|
* @param event origin lambda event
|
|
72
65
|
* @param $ctx origin context.
|
|
73
66
|
*/
|
|
74
|
-
packContext(event, $ctx) {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
return context;
|
|
89
|
-
});
|
|
67
|
+
async packContext(event, $ctx) {
|
|
68
|
+
(0, engine_1._log)(NS, `packContext()....`);
|
|
69
|
+
// _log(NS, '! event =', $U.json(event));
|
|
70
|
+
(0, engine_1._log)(NS, '! $ctx =', engine_1.$U.json($ctx));
|
|
71
|
+
const headers = (event && event.headers) || {};
|
|
72
|
+
const reqContext = event && event.requestContext;
|
|
73
|
+
//* - extract original request infor.
|
|
74
|
+
const clientIp = reqContext && reqContext.identity && reqContext.identity.sourceIp;
|
|
75
|
+
const requestId = reqContext && reqContext.requestId;
|
|
76
|
+
const accountId = reqContext && reqContext.accountId;
|
|
77
|
+
const domain = (reqContext && reqContext.domainName) || headers['Host'] || headers['host'];
|
|
78
|
+
//* save into headers and returns.
|
|
79
|
+
const context = { clientIp, requestId, accountId, domain };
|
|
80
|
+
return context;
|
|
90
81
|
}
|
|
91
82
|
/**
|
|
92
83
|
* pack to notification-param via origin event.
|
|
@@ -127,7 +118,7 @@ class LambdaNotificationHandler extends lambda_handler_1.LambdaSubHandler {
|
|
|
127
118
|
snsTopicArn: headers['x-amz-sns-topic-arn'],
|
|
128
119
|
snsSubscriptionArn: headers['x-amz-sns-subscription-arn'], // only for Notification.
|
|
129
120
|
};
|
|
130
|
-
const body = hasRaw && isRaw ?
|
|
121
|
+
const body = hasRaw && isRaw ? { ...data } : { ...json(data.Message || '') };
|
|
131
122
|
//* parse message-attribute of SNS
|
|
132
123
|
if (!isRaw) {
|
|
133
124
|
if (param.snsMessageType == 'SubscriptionConfirmation') {
|
|
@@ -153,6 +144,4 @@ class LambdaNotificationHandler extends lambda_handler_1.LambdaSubHandler {
|
|
|
153
144
|
}
|
|
154
145
|
}
|
|
155
146
|
exports.LambdaNotificationHandler = LambdaNotificationHandler;
|
|
156
|
-
//* shared config.
|
|
157
|
-
LambdaNotificationHandler.REPORT_ERROR = lambda_handler_1.LambdaHandler.REPORT_ERROR;
|
|
158
147
|
//# sourceMappingURL=lambda-notification-handler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lambda-notification-handler.js","sourceRoot":"","sources":["../../../src/cores/lambda/lambda-notification-handler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lambda-notification-handler.js","sourceRoot":"","sources":["../../../src/cores/lambda/lambda-notification-handler.ts"],"names":[],"mappings":"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"}
|