lemon-core 4.1.14 → 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.
Files changed (154) hide show
  1. package/dist/common/test-helper.d.ts +2 -2
  2. package/dist/common/test-helper.js +24 -26
  3. package/dist/common/test-helper.js.map +1 -1
  4. package/dist/controllers/dummy-controller.js +39 -46
  5. package/dist/controllers/dummy-controller.js.map +1 -1
  6. package/dist/controllers/general-api-controller.js +95 -100
  7. package/dist/controllers/general-api-controller.js.map +1 -1
  8. package/dist/controllers/general-controller.js +81 -82
  9. package/dist/controllers/general-controller.js.map +1 -1
  10. package/dist/cores/api/api-service.d.ts +1 -1
  11. package/dist/cores/api/api-service.js +228 -269
  12. package/dist/cores/api/api-service.js.map +1 -1
  13. package/dist/cores/aws/aws-kms-service.d.ts +1 -2
  14. package/dist/cores/aws/aws-kms-service.js +143 -153
  15. package/dist/cores/aws/aws-kms-service.js.map +1 -1
  16. package/dist/cores/aws/aws-s3-service.d.ts +2 -4
  17. package/dist/cores/aws/aws-s3-service.js +306 -330
  18. package/dist/cores/aws/aws-s3-service.js.map +1 -1
  19. package/dist/cores/aws/aws-sns-service.js +147 -153
  20. package/dist/cores/aws/aws-sns-service.js.map +1 -1
  21. package/dist/cores/aws/aws-sqs-service.js +149 -170
  22. package/dist/cores/aws/aws-sqs-service.js.map +1 -1
  23. package/dist/cores/aws/index.js +10 -20
  24. package/dist/cores/aws/index.js.map +1 -1
  25. package/dist/cores/cache/cache-service.d.ts +2 -2
  26. package/dist/cores/cache/cache-service.js +435 -499
  27. package/dist/cores/cache/cache-service.js.map +1 -1
  28. package/dist/cores/config/config-service.d.ts +1 -1
  29. package/dist/cores/config/config-service.js +56 -63
  30. package/dist/cores/config/config-service.js.map +1 -1
  31. package/dist/cores/config/index.js +14 -24
  32. package/dist/cores/config/index.js.map +1 -1
  33. package/dist/cores/core-services.d.ts +1 -1
  34. package/dist/cores/dynamo/dynamo-query-service.js +37 -51
  35. package/dist/cores/dynamo/dynamo-query-service.js.map +1 -1
  36. package/dist/cores/dynamo/dynamo-scan-service.d.ts +2 -2
  37. package/dist/cores/dynamo/dynamo-scan-service.js +29 -40
  38. package/dist/cores/dynamo/dynamo-scan-service.js.map +1 -1
  39. package/dist/cores/dynamo/dynamo-service.d.ts +2 -2
  40. package/dist/cores/dynamo/dynamo-service.js +528 -601
  41. package/dist/cores/dynamo/dynamo-service.js.map +1 -1
  42. package/dist/cores/dynamo/tools/expressions.js +17 -7
  43. package/dist/cores/dynamo/tools/expressions.js.map +1 -1
  44. package/dist/cores/dynamo/tools/query.js +142 -127
  45. package/dist/cores/dynamo/tools/query.js.map +1 -1
  46. package/dist/cores/dynamo/tools/scan.js +111 -97
  47. package/dist/cores/dynamo/tools/scan.js.map +1 -1
  48. package/dist/cores/dynamo/tools/serializer.js +17 -7
  49. package/dist/cores/dynamo/tools/serializer.js.map +1 -1
  50. package/dist/cores/dynamo/tools/utils.d.ts +0 -2
  51. package/dist/cores/dynamo/tools/utils.js.map +1 -1
  52. package/dist/cores/elastic/elastic6-query-service.js +307 -324
  53. package/dist/cores/elastic/elastic6-query-service.js.map +1 -1
  54. package/dist/cores/elastic/elastic6-service.d.ts +3 -3
  55. package/dist/cores/elastic/elastic6-service.js +568 -647
  56. package/dist/cores/elastic/elastic6-service.js.map +1 -1
  57. package/dist/cores/elastic/hangul-service.js +52 -54
  58. package/dist/cores/elastic/hangul-service.js.map +1 -1
  59. package/dist/cores/lambda/index.js +42 -36
  60. package/dist/cores/lambda/index.js.map +1 -1
  61. package/dist/cores/lambda/lambda-alb-handler.d.ts +2 -2
  62. package/dist/cores/lambda/lambda-alb-handler.js +59 -72
  63. package/dist/cores/lambda/lambda-alb-handler.js.map +1 -1
  64. package/dist/cores/lambda/lambda-cognito-handler.js +10 -19
  65. package/dist/cores/lambda/lambda-cognito-handler.js.map +1 -1
  66. package/dist/cores/lambda/lambda-cron-handler.d.ts +1 -1
  67. package/dist/cores/lambda/lambda-cron-handler.js +14 -23
  68. package/dist/cores/lambda/lambda-cron-handler.js.map +1 -1
  69. package/dist/cores/lambda/lambda-dynamo-stream-handler.d.ts +2 -2
  70. package/dist/cores/lambda/lambda-dynamo-stream-handler.js +57 -67
  71. package/dist/cores/lambda/lambda-dynamo-stream-handler.js.map +1 -1
  72. package/dist/cores/lambda/lambda-handler.d.ts +22 -22
  73. package/dist/cores/lambda/lambda-handler.js +93 -106
  74. package/dist/cores/lambda/lambda-handler.js.map +1 -1
  75. package/dist/cores/lambda/lambda-notification-handler.d.ts +1 -1
  76. package/dist/cores/lambda/lambda-notification-handler.js +39 -50
  77. package/dist/cores/lambda/lambda-notification-handler.js.map +1 -1
  78. package/dist/cores/lambda/lambda-sns-handler.js +79 -88
  79. package/dist/cores/lambda/lambda-sns-handler.js.map +1 -1
  80. package/dist/cores/lambda/lambda-sqs-handler.js +79 -88
  81. package/dist/cores/lambda/lambda-sqs-handler.js.map +1 -1
  82. package/dist/cores/lambda/lambda-web-handler.d.ts +21 -43
  83. package/dist/cores/lambda/lambda-web-handler.js +392 -482
  84. package/dist/cores/lambda/lambda-web-handler.js.map +1 -1
  85. package/dist/cores/lambda/lambda-wss-handler.js +23 -32
  86. package/dist/cores/lambda/lambda-wss-handler.js.map +1 -1
  87. package/dist/cores/protocol/index.js +10 -20
  88. package/dist/cores/protocol/index.js.map +1 -1
  89. package/dist/cores/protocol/protocol-service.d.ts +3 -3
  90. package/dist/cores/protocol/protocol-service.js +235 -227
  91. package/dist/cores/protocol/protocol-service.js.map +1 -1
  92. package/dist/cores/storage/http-storage-service.js +65 -85
  93. package/dist/cores/storage/http-storage-service.js.map +1 -1
  94. package/dist/cores/storage/model-manager.js +66 -85
  95. package/dist/cores/storage/model-manager.js.map +1 -1
  96. package/dist/cores/storage/proxy-storage-service.d.ts +2 -2
  97. package/dist/cores/storage/proxy-storage-service.js +562 -599
  98. package/dist/cores/storage/proxy-storage-service.js.map +1 -1
  99. package/dist/cores/storage/redis-storage-service.js +163 -177
  100. package/dist/cores/storage/redis-storage-service.js.map +1 -1
  101. package/dist/cores/storage/storage-service.js +281 -322
  102. package/dist/cores/storage/storage-service.js.map +1 -1
  103. package/dist/engine/builder.d.ts +1 -1
  104. package/dist/engine/builder.js +59 -63
  105. package/dist/engine/builder.js.map +1 -1
  106. package/dist/engine/engine.d.ts +4 -4
  107. package/dist/engine/engine.js +9 -18
  108. package/dist/engine/engine.js.map +1 -1
  109. package/dist/engine/types.d.ts +1 -1
  110. package/dist/engine/utilities.d.ts +14 -10
  111. package/dist/engine/utilities.js +301 -280
  112. package/dist/engine/utilities.js.map +1 -1
  113. package/dist/environ.js +4 -6
  114. package/dist/environ.js.map +1 -1
  115. package/dist/extended/abstract-service.js +595 -645
  116. package/dist/extended/abstract-service.js.map +1 -1
  117. package/dist/extended/libs/sig-v4.js.map +1 -1
  118. package/dist/generated/field-registry.d.ts +10 -0
  119. package/dist/generated/field-registry.js +17 -0
  120. package/dist/generated/field-registry.js.map +1 -0
  121. package/dist/helpers/helpers.d.ts +17 -9
  122. package/dist/helpers/helpers.js +88 -78
  123. package/dist/helpers/helpers.js.map +1 -1
  124. package/dist/index.js +17 -7
  125. package/dist/index.js.map +1 -1
  126. package/dist/lib/dynamodb-value.js +2 -3
  127. package/dist/lib/dynamodb-value.js.map +1 -1
  128. package/dist/tools/express.js +4 -5
  129. package/dist/tools/express.js.map +1 -1
  130. package/dist/tools/tools.d.ts +3 -1
  131. package/dist/tools/tools.js +14 -21
  132. package/dist/tools/tools.js.map +1 -1
  133. package/package.json +19 -18
  134. package/dist/exec-cli.d.ts +0 -2
  135. package/dist/exec-cli.js +0 -211
  136. package/dist/exec-cli.js.map +0 -1
  137. package/dist/lib/dynamo/expressions.d.ts +0 -14
  138. package/dist/lib/dynamo/expressions.js +0 -212
  139. package/dist/lib/dynamo/expressions.js.map +0 -1
  140. package/dist/lib/dynamo/query.d.ts +0 -43
  141. package/dist/lib/dynamo/query.js +0 -246
  142. package/dist/lib/dynamo/query.js.map +0 -1
  143. package/dist/lib/dynamo/scan.d.ts +0 -33
  144. package/dist/lib/dynamo/scan.js +0 -172
  145. package/dist/lib/dynamo/scan.js.map +0 -1
  146. package/dist/lib/dynamo/serializer.d.ts +0 -12
  147. package/dist/lib/dynamo/serializer.js +0 -243
  148. package/dist/lib/dynamo/serializer.js.map +0 -1
  149. package/dist/lib/dynamo/utils.d.ts +0 -15
  150. package/dist/lib/dynamo/utils.js +0 -129
  151. package/dist/lib/dynamo/utils.js.map +0 -1
  152. package/dist/tools/shared.d.ts +0 -37
  153. package/dist/tools/shared.js +0 -130
  154. package/dist/tools/shared.js.map +0 -1
@@ -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
  var __importDefault = (this && this.__importDefault) || function (mod) {
12
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
4
  };
@@ -33,95 +24,95 @@ const NS = engine_1.$U.NS('HSNS', 'yellow'); // NAMESPACE TO BE PRINTED.
33
24
  * - default SNS Handler w/ event-listeners.
34
25
  */
35
26
  class LambdaSNSHandler extends lambda_handler_1.LambdaSubHandler {
27
+ //* shared config.
28
+ static REPORT_ERROR = lambda_handler_1.LambdaHandler.REPORT_ERROR;
36
29
  /**
37
30
  * default constructor w/ registering self.
38
31
  */
39
32
  constructor(lambda, register) {
40
33
  super(lambda, register ? 'sns' : undefined);
41
- this.listeners = [];
42
- //* for debugging. save last result
43
- this.$lastResult = null;
44
- /**
45
- * Default SNS Handler.
46
- */
47
- this.handle = (event) => __awaiter(this, void 0, void 0, function* () {
48
- //* for each records.
49
- const records = event.Records || [];
50
- (0, engine_1._log)(NS, `handle(len=${records.length})...`);
51
- // _log(NS, '> event =', $U.json(event));
52
- const $doReportError = (0, lambda_handler_1.buildReportError)(LambdaSNSHandler.REPORT_ERROR);
53
- //* handle sqs record data.
54
- const onSNSRecord = (record, index) => __awaiter(this, void 0, void 0, function* () {
55
- (0, engine_1._log)(NS, `onSNSRecord(${(record && record.EventSource) || ''}, ${index})...`);
56
- //* check if via protocol-service.
57
- const $msg = record.Sns;
58
- const { Subject } = $msg;
59
- if (Subject == 'x-protocol-service') {
60
- const param = protocol_1.default.service.asTransformer('sns').transformToParam($msg);
61
- const context = param.context;
62
- const callback = param.callback || '';
63
- const result = yield this.lambda
64
- .handleProtocol(param)
65
- .then(body => {
66
- // _log(NS, `! res[${index}] =`, $U.json(body));
67
- callback && (0, engine_1._log)(NS, `> callback[${index}] =`, callback); // ex) api://lemon-queue-api-dev/batch/test11/callback#2.2.1
68
- context && (0, engine_1._log)(NS, `> context[${index}] =`, engine_1.$U.json(context)); // ex) {"source":"express","domain":"localhost"}
69
- //* report call back.
70
- const proto = callback ? protocol_1.default.service.fromURL(context, callback, null, body || {}) : null;
71
- proto && (0, engine_1._log)(NS, `> protocol[${index}] =`, engine_1.$U.json(proto));
72
- (0, engine_1._log)(NS, `> config.service =`, this.lambda.config && this.lambda.config.getService());
73
- //* check if service is in same..
74
- if (proto && this.lambda.config && proto.service == this.lambda.config.getService()) {
75
- proto.context.depth = engine_1.$U.N(proto.context.depth, 1) + 1;
76
- proto.body = body;
77
- (0, engine_1._log)(NS, `! body[${index}] =`, engine_1.$U.json(body));
78
- return this.lambda.handleProtocol(proto).then(body => {
79
- (0, engine_1._log)(NS, `>> body[${index}].callback =`, engine_1.$U.json(body));
80
- return body;
81
- });
82
- }
83
- //* call the remote service if callback.
84
- return proto ? protocol_1.default.service.execute(proto) : body;
85
- })
86
- .catch(e => $doReportError(e, param.context, null, { protocol: param }));
87
- (0, engine_1._log)(NS, `> sns[${index}].res =`, engine_1.$U.json(result));
88
- return typeof result == 'string' ? result : engine_1.$U.json(result);
89
- }
90
- else {
91
- //* retrieve message-attributes as `param`
92
- const param = Object.keys($msg.MessageAttributes || {}).reduce((O, key) => {
93
- const V = $msg.MessageAttributes[key];
94
- if (!V)
95
- return O;
96
- O[key] = V.Type == 'Number' ? Number(V.Value) : V.Value;
97
- return O;
98
- }, { subject: Subject });
99
- //* load data as `body`
100
- const body = typeof $msg.Message == 'string' && $msg.Message.startsWith('{') && $msg.Message.endsWith('}')
101
- ? JSON.parse($msg.Message)
102
- : { data: $msg.Message };
103
- (0, engine_1._log)(NS, `> sns[${index}].param =`, engine_1.$U.json(param));
104
- (0, engine_1._log)(NS, `> sns[${index}].body =`, engine_1.$U.json(body));
105
- //* call all listeners in parrallel.
106
- const asyncNext = (fn, j) => new Promise(resolve => {
107
- resolve(fn('SNS', param, body, null));
108
- }).catch(e => $doReportError(e, null, null, { param, body, i: index, j }));
109
- const res = yield Promise.all(this.listeners.map(asyncNext));
110
- return res.join(',');
111
- }
112
- });
113
- //* serialize each records.
114
- this.$lastResult = yield (0, engine_1.do_parrallel)(records, (record, i) => onSNSRecord(record, i).catch(e => $doReportError(e, null, null, { record, i })), 5);
115
- //* returns.
116
- return;
117
- });
118
34
  // _log(NS, `LambdaSNSHandler()..`);
119
35
  }
36
+ listeners = [];
120
37
  addListener(handler) {
121
38
  this.listeners.push(handler);
122
39
  }
40
+ //* for debugging. save last result
41
+ $lastResult = null;
42
+ /**
43
+ * Default SNS Handler.
44
+ */
45
+ handle = async (event) => {
46
+ //* for each records.
47
+ const records = event.Records || [];
48
+ (0, engine_1._log)(NS, `handle(len=${records.length})...`);
49
+ // _log(NS, '> event =', $U.json(event));
50
+ const $doReportError = (0, lambda_handler_1.buildReportError)(LambdaSNSHandler.REPORT_ERROR);
51
+ //* handle sqs record data.
52
+ const onSNSRecord = async (record, index) => {
53
+ (0, engine_1._log)(NS, `onSNSRecord(${(record && record.EventSource) || ''}, ${index})...`);
54
+ //* check if via protocol-service.
55
+ const $msg = record.Sns;
56
+ const { Subject } = $msg;
57
+ if (Subject == 'x-protocol-service') {
58
+ const param = protocol_1.default.service.asTransformer('sns').transformToParam($msg);
59
+ const context = param.context;
60
+ const callback = param.callback || '';
61
+ const result = await this.lambda
62
+ .handleProtocol(param)
63
+ .then(body => {
64
+ // _log(NS, `! res[${index}] =`, $U.json(body));
65
+ callback && (0, engine_1._log)(NS, `> callback[${index}] =`, callback); // ex) api://lemon-queue-api-dev/batch/test11/callback#2.2.1
66
+ context && (0, engine_1._log)(NS, `> context[${index}] =`, engine_1.$U.json(context)); // ex) {"source":"express","domain":"localhost"}
67
+ //* report call back.
68
+ const proto = callback ? protocol_1.default.service.fromURL(context, callback, null, body || {}) : null;
69
+ proto && (0, engine_1._log)(NS, `> protocol[${index}] =`, engine_1.$U.json(proto));
70
+ (0, engine_1._log)(NS, `> config.service =`, this.lambda.config && this.lambda.config.getService());
71
+ //* check if service is in same..
72
+ if (proto && this.lambda.config && proto.service == this.lambda.config.getService()) {
73
+ proto.context.depth = engine_1.$U.N(proto.context.depth, 1) + 1;
74
+ proto.body = body;
75
+ (0, engine_1._log)(NS, `! body[${index}] =`, engine_1.$U.json(body));
76
+ return this.lambda.handleProtocol(proto).then(body => {
77
+ (0, engine_1._log)(NS, `>> body[${index}].callback =`, engine_1.$U.json(body));
78
+ return body;
79
+ });
80
+ }
81
+ //* call the remote service if callback.
82
+ return proto ? protocol_1.default.service.execute(proto) : body;
83
+ })
84
+ .catch(e => $doReportError(e, param.context, null, { protocol: param }));
85
+ (0, engine_1._log)(NS, `> sns[${index}].res =`, engine_1.$U.json(result));
86
+ return typeof result == 'string' ? result : engine_1.$U.json(result);
87
+ }
88
+ else {
89
+ //* retrieve message-attributes as `param`
90
+ const param = Object.keys($msg.MessageAttributes || {}).reduce((O, key) => {
91
+ const V = $msg.MessageAttributes[key];
92
+ if (!V)
93
+ return O;
94
+ O[key] = V.Type == 'Number' ? Number(V.Value) : V.Value;
95
+ return O;
96
+ }, { subject: Subject });
97
+ //* load data as `body`
98
+ const body = typeof $msg.Message == 'string' && $msg.Message.startsWith('{') && $msg.Message.endsWith('}')
99
+ ? JSON.parse($msg.Message)
100
+ : { data: $msg.Message };
101
+ (0, engine_1._log)(NS, `> sns[${index}].param =`, engine_1.$U.json(param));
102
+ (0, engine_1._log)(NS, `> sns[${index}].body =`, engine_1.$U.json(body));
103
+ //* call all listeners in parrallel.
104
+ const asyncNext = (fn, j) => new Promise(resolve => {
105
+ resolve(fn('SNS', param, body, null));
106
+ }).catch(e => $doReportError(e, null, null, { param, body, i: index, j }));
107
+ const res = await Promise.all(this.listeners.map(asyncNext));
108
+ return res.join(',');
109
+ }
110
+ };
111
+ //* serialize each records.
112
+ this.$lastResult = await (0, engine_1.do_parrallel)(records, (record, i) => onSNSRecord(record, i).catch(e => $doReportError(e, null, null, { record, i })), 5);
113
+ //* returns.
114
+ return;
115
+ };
123
116
  }
124
117
  exports.LambdaSNSHandler = LambdaSNSHandler;
125
- //* shared config.
126
- LambdaSNSHandler.REPORT_ERROR = lambda_handler_1.LambdaHandler.REPORT_ERROR;
127
118
  //# sourceMappingURL=lambda-sns-handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lambda-sns-handler.js","sourceRoot":"","sources":["../../../src/cores/lambda/lambda-sns-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lambda-sns-handler.js","sourceRoot":"","sources":["../../../src/cores/lambda/lambda-sns-handler.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
  var __importDefault = (this && this.__importDefault) || function (mod) {
12
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
4
  };
@@ -33,95 +24,95 @@ const NS = engine_1.$U.NS('HSQS', 'yellow'); // NAMESPACE TO BE PRINTED.
33
24
  * - default SQS Handler w/ event-listeners.
34
25
  */
35
26
  class LambdaSQSHandler extends lambda_handler_1.LambdaSubHandler {
27
+ //* shared config.
28
+ static REPORT_ERROR = lambda_handler_1.LambdaHandler.REPORT_ERROR;
36
29
  /**
37
30
  * default constructor w/ registering self.
38
31
  */
39
32
  constructor(lambda, register) {
40
33
  super(lambda, register ? 'sqs' : undefined);
41
- this.listeners = [];
42
- //* for debugging. save last result
43
- this.$lastResult = null;
44
- /**
45
- * Default SQS Handler.
46
- */
47
- this.handle = (event) => __awaiter(this, void 0, void 0, function* () {
48
- //* for each records.
49
- const records = event.Records || [];
50
- (0, engine_1._log)(NS, `handle(len=${records.length})...`);
51
- // _log(NS, '> event =', $U.json(event));
52
- const $doReportError = (0, lambda_handler_1.buildReportError)(LambdaSQSHandler.REPORT_ERROR);
53
- //* handle sqs record data.
54
- const onSQSRecord = (record, index) => __awaiter(this, void 0, void 0, function* () {
55
- (0, engine_1._log)(NS, `onSQSRecord(${(record && record.messageId) || ''}, ${index})...`);
56
- //* retrieve message-attributes as `param`
57
- const param = Object.keys(record.messageAttributes || {}).reduce((O, key) => {
58
- const V = record.messageAttributes[key];
59
- if (!V)
60
- return O;
61
- const type = V.dataType || '';
62
- const val = V.stringValue || '';
63
- O[key] = type == 'Number' ? Number(val) : val;
64
- return O;
65
- }, {});
66
- //* check if via protocol-service.
67
- if (param['Subject'] && param['Subject'] == 'x-protocol-service') {
68
- const param = protocol_1.default.service.asTransformer('sqs').transformToParam(record);
69
- const context = param.context;
70
- const callback = param.callback || '';
71
- const result = yield this.lambda
72
- .handleProtocol(param)
73
- .then(body => {
74
- // _log(NS, `! res[${index}] =`, $U.json(body));
75
- callback && (0, engine_1._log)(NS, `> callback[${index}] =`, callback); // ex) api://lemon-queue-api-dev/batch/test11/callback#2.2.1
76
- context && (0, engine_1._log)(NS, `> context[${index}] =`, engine_1.$U.json(context)); // ex) {"source":"express","domain":"localhost"}
77
- //* report call back.
78
- const proto = callback ? protocol_1.default.service.fromURL(context, callback, null, body || {}) : null;
79
- proto && (0, engine_1._log)(NS, `> protocol[${index}] =`, engine_1.$U.json(proto));
80
- (0, engine_1._log)(NS, `> config.service =`, this.lambda.config && this.lambda.config.getService());
81
- //* check if service is in same..
82
- if (proto && this.lambda.config && proto.service == this.lambda.config.getService()) {
83
- proto.context.depth = engine_1.$U.N(proto.context.depth, 1) + 1;
84
- proto.body = body;
85
- (0, engine_1._log)(NS, `! body[${index}] =`, engine_1.$U.json(body));
86
- return this.lambda.handleProtocol(proto).then(body => {
87
- (0, engine_1._log)(NS, `>> body[${index}].callback =`, engine_1.$U.json(body));
88
- return body;
89
- });
90
- }
91
- //* call the remote service if callback.
92
- return proto ? protocol_1.default.service.execute(proto) : body;
93
- })
94
- .catch(e => $doReportError(e, param.context, null, { protocol: param }));
95
- (0, engine_1._log)(NS, `> sqs[${index}].res =`, engine_1.$U.json(result));
96
- return typeof result == 'string' ? result : engine_1.$U.json(result);
97
- }
98
- else {
99
- //* load data as `body`
100
- const body = typeof record.body == 'string' && record.body.startsWith('{') && record.body.endsWith('}')
101
- ? JSON.parse(record.body)
102
- : { data: record.body };
103
- (0, engine_1._log)(NS, `> sqs[${index}].param =`, engine_1.$U.json(param));
104
- (0, engine_1._log)(NS, `> sqs[${index}].body =`, engine_1.$U.json(body));
105
- //* call all listeners in parrallel.
106
- const asyncNext = (fn, j) => new Promise(resolve => {
107
- resolve(fn('SQS', param, body, null));
108
- }).catch(e => $doReportError(e, null, null, { param, body, i: index, j }));
109
- const res = yield Promise.all(this.listeners.map(asyncNext));
110
- return res.join(',');
111
- }
112
- });
113
- //* serialize each records.
114
- this.$lastResult = yield (0, engine_1.do_parrallel)(records, (record, i) => onSQSRecord(record, i).catch(e => $doReportError(e, null, null, { record, i })), 1);
115
- //* returns void.
116
- return;
117
- });
118
34
  // _log(NS, `LambdaSQSHandler()..`);
119
35
  }
36
+ listeners = [];
120
37
  addListener(handler) {
121
38
  this.listeners.push(handler);
122
39
  }
40
+ //* for debugging. save last result
41
+ $lastResult = null;
42
+ /**
43
+ * Default SQS Handler.
44
+ */
45
+ handle = async (event) => {
46
+ //* for each records.
47
+ const records = event.Records || [];
48
+ (0, engine_1._log)(NS, `handle(len=${records.length})...`);
49
+ // _log(NS, '> event =', $U.json(event));
50
+ const $doReportError = (0, lambda_handler_1.buildReportError)(LambdaSQSHandler.REPORT_ERROR);
51
+ //* handle sqs record data.
52
+ const onSQSRecord = async (record, index) => {
53
+ (0, engine_1._log)(NS, `onSQSRecord(${(record && record.messageId) || ''}, ${index})...`);
54
+ //* retrieve message-attributes as `param`
55
+ const param = Object.keys(record.messageAttributes || {}).reduce((O, key) => {
56
+ const V = record.messageAttributes[key];
57
+ if (!V)
58
+ return O;
59
+ const type = V.dataType || '';
60
+ const val = V.stringValue || '';
61
+ O[key] = type == 'Number' ? Number(val) : val;
62
+ return O;
63
+ }, {});
64
+ //* check if via protocol-service.
65
+ if (param['Subject'] && param['Subject'] == 'x-protocol-service') {
66
+ const param = protocol_1.default.service.asTransformer('sqs').transformToParam(record);
67
+ const context = param.context;
68
+ const callback = param.callback || '';
69
+ const result = await this.lambda
70
+ .handleProtocol(param)
71
+ .then(body => {
72
+ // _log(NS, `! res[${index}] =`, $U.json(body));
73
+ callback && (0, engine_1._log)(NS, `> callback[${index}] =`, callback); // ex) api://lemon-queue-api-dev/batch/test11/callback#2.2.1
74
+ context && (0, engine_1._log)(NS, `> context[${index}] =`, engine_1.$U.json(context)); // ex) {"source":"express","domain":"localhost"}
75
+ //* report call back.
76
+ const proto = callback ? protocol_1.default.service.fromURL(context, callback, null, body || {}) : null;
77
+ proto && (0, engine_1._log)(NS, `> protocol[${index}] =`, engine_1.$U.json(proto));
78
+ (0, engine_1._log)(NS, `> config.service =`, this.lambda.config && this.lambda.config.getService());
79
+ //* check if service is in same..
80
+ if (proto && this.lambda.config && proto.service == this.lambda.config.getService()) {
81
+ proto.context.depth = engine_1.$U.N(proto.context.depth, 1) + 1;
82
+ proto.body = body;
83
+ (0, engine_1._log)(NS, `! body[${index}] =`, engine_1.$U.json(body));
84
+ return this.lambda.handleProtocol(proto).then(body => {
85
+ (0, engine_1._log)(NS, `>> body[${index}].callback =`, engine_1.$U.json(body));
86
+ return body;
87
+ });
88
+ }
89
+ //* call the remote service if callback.
90
+ return proto ? protocol_1.default.service.execute(proto) : body;
91
+ })
92
+ .catch(e => $doReportError(e, param.context, null, { protocol: param }));
93
+ (0, engine_1._log)(NS, `> sqs[${index}].res =`, engine_1.$U.json(result));
94
+ return typeof result == 'string' ? result : engine_1.$U.json(result);
95
+ }
96
+ else {
97
+ //* load data as `body`
98
+ const body = typeof record.body == 'string' && record.body.startsWith('{') && record.body.endsWith('}')
99
+ ? JSON.parse(record.body)
100
+ : { data: record.body };
101
+ (0, engine_1._log)(NS, `> sqs[${index}].param =`, engine_1.$U.json(param));
102
+ (0, engine_1._log)(NS, `> sqs[${index}].body =`, engine_1.$U.json(body));
103
+ //* call all listeners in parrallel.
104
+ const asyncNext = (fn, j) => new Promise(resolve => {
105
+ resolve(fn('SQS', param, body, null));
106
+ }).catch(e => $doReportError(e, null, null, { param, body, i: index, j }));
107
+ const res = await Promise.all(this.listeners.map(asyncNext));
108
+ return res.join(',');
109
+ }
110
+ };
111
+ //* serialize each records.
112
+ this.$lastResult = await (0, engine_1.do_parrallel)(records, (record, i) => onSQSRecord(record, i).catch(e => $doReportError(e, null, null, { record, i })), 1);
113
+ //* returns void.
114
+ return;
115
+ };
123
116
  }
124
117
  exports.LambdaSQSHandler = LambdaSQSHandler;
125
- //* shared config.
126
- LambdaSQSHandler.REPORT_ERROR = lambda_handler_1.LambdaHandler.REPORT_ERROR;
127
118
  //# sourceMappingURL=lambda-sqs-handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lambda-sqs-handler.js","sourceRoot":"","sources":["../../../src/cores/lambda/lambda-sqs-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lambda-sqs-handler.js","sourceRoot":"","sources":["../../../src/cores/lambda/lambda-sqs-handler.ts"],"names":[],"mappings":"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"}
@@ -24,9 +24,9 @@ interface ProxyParams<T = any> {
24
24
  /** protocol parameters */
25
25
  $ctx: NextContext<T>;
26
26
  }
27
- declare type ProxyResult = APIGatewayProxyResult;
28
- declare type ProxyResponser = () => ProxyResult;
29
- declare type ProxyChain = ProxyParams | ProxyResponser;
27
+ type ProxyResult = APIGatewayProxyResult;
28
+ type ProxyResponser = () => ProxyResult;
29
+ type ProxyChain = ProxyParams | ProxyResponser;
30
30
  /**
31
31
  * build http response body
32
32
  * - if body is string type, then content-type would be text/<some>.
@@ -52,7 +52,7 @@ export declare const redirect: (location: any, status?: number) => APIGatewayPro
52
52
  * @param event event
53
53
  * @param $ctx context
54
54
  */
55
- export declare const promised: (event: APIGatewayProxyEvent, $ctx: NextContext) => Promise<ProxyChain>;
55
+ export declare const promised: (event: WEBEvent, $ctx: NextContext) => Promise<ProxyChain>;
56
56
  /**
57
57
  * builder for default handler
58
58
  */
@@ -60,7 +60,7 @@ export declare const mxNextHandler: (thiz: LambdaWEBHandler) => (params: ProxyCh
60
60
  /**
61
61
  * builder for failure promised.
62
62
  */
63
- export declare const mxNextFailure: (event: APIGatewayProxyEvent, $ctx: NextContext) => (e: any) => APIGatewayProxyResult | Promise<APIGatewayProxyResult>;
63
+ export declare const mxNextFailure: (event: WEBEvent, $ctx: NextContext) => (e: any) => APIGatewayProxyResult | Promise<APIGatewayProxyResult>;
64
64
  /**
65
65
  * class: LambdaWEBHandler
66
66
  * - default WEB Handler w/ event-listeners.
@@ -111,10 +111,6 @@ export declare class LambdaWEBHandler extends LambdaSubHandler<WEBHandler> {
111
111
  * - extracting header content, and parse.
112
112
  */
113
113
  tools: (headers: HttpHeaderSet) => HttpHeaderTool<APIGatewayEventRequestContext>;
114
- /**
115
- * builder of tools without kms.
116
- */
117
- toolsV2: (headers: HttpHeaderSet, reqContext?: APIGatewayEventRequestContext) => HttpHeaderTool<APIGatewayEventRequestContext>;
118
114
  /**
119
115
  * pack the request context for Http request.
120
116
  *
@@ -199,6 +195,8 @@ export interface HttpHeaderTool<RequestContext> {
199
195
  */
200
196
  export declare class MyHttpHeaderTool implements HttpHeaderTool<APIGatewayEventRequestContext> {
201
197
  protected headers: HttpHeaderSet;
198
+ protected static _accountId?: string;
199
+ protected static _accountIdPromise?: Promise<string>;
202
200
  /**
203
201
  * default constructor.
204
202
  * @param headers
@@ -208,7 +206,15 @@ export declare class MyHttpHeaderTool implements HttpHeaderTool<APIGatewayEventR
208
206
  });
209
207
  hello(): string;
210
208
  /** expose `onlyDefined` */
211
- onlyDefined: <T extends object>(N: T, $def?: T) => T;
209
+ onlyDefined: <T extends object>(N: T, $def?: T | null) => T | null;
210
+ /**
211
+ * build default JWT secret from AWS account id + magic key.
212
+ */
213
+ buildJwtSecret: () => Promise<string>;
214
+ /**
215
+ * get current aws account-id via STS. (once)
216
+ */
217
+ protected getAccountId: () => Promise<string>;
212
218
  /**
213
219
  * get values by name
214
220
  * @param name case-insentive name of field
@@ -256,6 +262,10 @@ export declare class MyHttpHeaderTool implements HttpHeaderTool<APIGatewayEventR
256
262
  alias?: string;
257
263
  /** current ms */
258
264
  current?: number;
265
+ /** expiration time in seconds */
266
+ exp?: number;
267
+ /** if true, use HS256 */
268
+ useHs256?: boolean;
259
269
  }): Promise<{
260
270
  signature: string;
261
271
  message: string;
@@ -263,6 +273,7 @@ export declare class MyHttpHeaderTool implements HttpHeaderTool<APIGatewayEventR
263
273
  }>;
264
274
  /**
265
275
  * parse as jwt-token, and validate the signature.
276
+ * - supports both `kms/*` and `api/*` issuers via verifyToken()
266
277
  */
267
278
  parseIdentityJWT<T extends NextIdentityJwt = NextIdentityJwt>(token: string, params?: {
268
279
  /** current ms */
@@ -284,39 +295,6 @@ export declare class MyHttpHeaderTool implements HttpHeaderTool<APIGatewayEventR
284
295
  * override with AWS request-context
285
296
  */
286
297
  prepareContext($org: NextContext, reqContext: APIGatewayEventRequestContext): Promise<NextContext>;
287
- }
288
- export declare class MyHttpHeaderToolV2 extends MyHttpHeaderTool {
289
- protected reqContext?: APIGatewayEventRequestContext;
290
- constructor(headers: HttpHeaderSet, reqContext?: APIGatewayEventRequestContext);
291
- hello(): string;
292
- /**
293
- * build default JWT secret from AWS account id + magic key.
294
- */
295
- buildJwtSecret: () => string;
296
- /**
297
- * encode as JWT string.
298
- */
299
- encodeIdentityJWT(identity: NextIdentity, params?: {
300
- /** KMS alias to use (for RS256) or issuer name (for HS256) */
301
- alias?: string;
302
- /** current ms */
303
- current?: number;
304
- /** expiration time in seconds */
305
- exp?: number;
306
- }): Promise<{
307
- signature: string;
308
- message: string;
309
- token: string;
310
- }>;
311
- /**
312
- * parse as jwt-token, and validate the signature.
313
- */
314
- parseIdentityJWT<T extends NextIdentityJwt = NextIdentityJwt>(token: string, params?: {
315
- /** current ms */
316
- current?: number;
317
- /** flag to verify JWT (default true) */
318
- verify?: boolean;
319
- }): Promise<T>;
320
298
  /**
321
299
  * verify token signature by iss.
322
300
  * - `kms/*`: verify by KMS (RS256)