lemon-core 4.0.2 → 4.0.4

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 (49) hide show
  1. package/README.md +1 -0
  2. package/dist/cores/aws/aws-kms-service.js +3 -4
  3. package/dist/cores/aws/aws-kms-service.js.map +1 -1
  4. package/dist/cores/aws/aws-s3-service.js +3 -3
  5. package/dist/cores/aws/aws-s3-service.js.map +1 -1
  6. package/dist/cores/aws/aws-sns-service.d.ts +14 -1
  7. package/dist/cores/aws/aws-sns-service.js +12 -9
  8. package/dist/cores/aws/aws-sns-service.js.map +1 -1
  9. package/dist/cores/aws/aws-sqs-service.d.ts +1 -1
  10. package/dist/cores/aws/aws-sqs-service.js +15 -9
  11. package/dist/cores/aws/aws-sqs-service.js.map +1 -1
  12. package/dist/cores/core-services.d.ts +1 -1
  13. package/dist/cores/dynamo/dynamo-query-service.js +1 -1
  14. package/dist/cores/dynamo/dynamo-query-service.js.map +1 -1
  15. package/dist/cores/dynamo/dynamo-scan-service.js +1 -1
  16. package/dist/cores/dynamo/dynamo-scan-service.js.map +1 -1
  17. package/dist/cores/dynamo/dynamo-service.d.ts +1 -1
  18. package/dist/cores/dynamo/dynamo-service.js +45 -14
  19. package/dist/cores/dynamo/dynamo-service.js.map +1 -1
  20. package/dist/cores/lambda/lambda-handler.d.ts +5 -0
  21. package/dist/cores/lambda/lambda-handler.js +13 -0
  22. package/dist/cores/lambda/lambda-handler.js.map +1 -1
  23. package/dist/cores/lambda/lambda-web-handler.d.ts +10 -2
  24. package/dist/cores/lambda/lambda-web-handler.js +4 -14
  25. package/dist/cores/lambda/lambda-web-handler.js.map +1 -1
  26. package/dist/cores/protocol/protocol-service.d.ts +2 -1
  27. package/dist/cores/protocol/protocol-service.js +74 -25
  28. package/dist/cores/protocol/protocol-service.js.map +1 -1
  29. package/dist/engine/utilities.d.ts +4 -0
  30. package/dist/engine/utilities.js +34 -8
  31. package/dist/engine/utilities.js.map +1 -1
  32. package/dist/environ.d.ts +9 -30
  33. package/dist/environ.js +54 -18
  34. package/dist/environ.js.map +1 -1
  35. package/dist/extended/abstract-service.d.ts +3 -12
  36. package/dist/extended/abstract-service.js +1 -28
  37. package/dist/extended/abstract-service.js.map +1 -1
  38. package/dist/helpers/helpers.js +2 -7
  39. package/dist/helpers/helpers.js.map +1 -1
  40. package/dist/tools/express.d.ts +18 -32
  41. package/dist/tools/express.js +56 -7
  42. package/dist/tools/express.js.map +1 -1
  43. package/dist/tools/shared.d.ts +1 -10
  44. package/dist/tools/shared.js +26 -13
  45. package/dist/tools/shared.js.map +1 -1
  46. package/dist/tools/tools.d.ts +39 -2
  47. package/dist/tools/tools.js +62 -2
  48. package/dist/tools/tools.js.map +1 -1
  49. package/package.json +3 -2
@@ -1,4 +1,27 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
26
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
27
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -24,11 +47,12 @@ exports.SQSProtocolTransformer = exports.SNSProtocolTransformer = exports.WEBPro
24
47
  * @copyright (C) lemoncloud.io 2019 - All Rights Reserved.
25
48
  */
26
49
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
27
- const engine_1 = require("../../engine/");
50
+ const engine_1 = __importStar(require("../../engine/"));
28
51
  const client_sns_1 = require("@aws-sdk/client-sns");
29
52
  const client_sqs_1 = require("@aws-sdk/client-sqs");
30
53
  const client_lambda_1 = require("@aws-sdk/client-lambda");
31
54
  const lambda_handler_1 = require("./../lambda/lambda-handler");
55
+ const tools_1 = require("../../tools");
32
56
  const url_1 = __importDefault(require("url"));
33
57
  const config_1 = __importDefault(require("../config/")); // load config-module.
34
58
  const aws_1 = __importDefault(require("../aws/")); // load config-module.
@@ -36,6 +60,7 @@ const qs_1 = __importDefault(require("qs"));
36
60
  const NS = engine_1.$U.NS('PRTS', 'yellow'); // NAMESPACE TO BE PRINTED.
37
61
  /**
38
62
  * header name to exchange `next-context`
63
+ * ONLY for internal communication.
39
64
  */
40
65
  exports.HEADER_PROTOCOL_CONTEXT = engine_1.$U.env('HEADER_PROTOCOL_CONTEXT', 'x-protocol-context');
41
66
  /**
@@ -277,7 +302,7 @@ class MyProtocolService {
277
302
  // _log(NS, `> params =`, $U.json(params));
278
303
  //* call lambda.
279
304
  const region = 'ap-northeast-2'; //TODO - optimize of aws region....
280
- const lambda = new client_lambda_1.LambdaClient({ region });
305
+ const lambda = new client_lambda_1.LambdaClient((0, tools_1.awsConfig)(engine_1.default, region));
281
306
  const response = yield lambda
282
307
  .send(new client_lambda_1.InvokeCommand(params))
283
308
  .catch((e) => {
@@ -341,7 +366,7 @@ class MyProtocolService {
341
366
  (0, engine_1._inf)(NS, `> payload[${arn}] =`, engine_1.$U.json(params));
342
367
  //* call sns
343
368
  const region = arn.split(':')[3] || 'ap-northeast-2';
344
- const sns = new client_sns_1.SNSClient({ region });
369
+ const sns = new client_sns_1.SNSClient((0, tools_1.awsConfig)(engine_1.default, region));
345
370
  const res = yield sns
346
371
  .send(new client_sns_1.PublishCommand(params))
347
372
  .catch((e) => {
@@ -384,7 +409,7 @@ class MyProtocolService {
384
409
  (0, engine_1._inf)(NS, `> payload[${endpoint}] =`, engine_1.$U.json(params));
385
410
  //* call sns
386
411
  const region = endpoint.split('.')[1] || 'ap-northeast-2';
387
- const sqs = new client_sqs_1.SQSClient({ region });
412
+ const sqs = new client_sqs_1.SQSClient((0, tools_1.awsConfig)(engine_1.default, region));
388
413
  const res = yield sqs
389
414
  .send(new client_sqs_1.SendMessageCommand(params))
390
415
  .catch((e) => {
@@ -433,7 +458,7 @@ class MyProtocolService {
433
458
  params.MessageAttributes['requestId'] = { DataType: 'String', StringValue: requestId };
434
459
  //* call sns
435
460
  const region = arn.split(':')[3] || 'ap-northeast-2';
436
- const sns = new client_sns_1.SNSClient({ region });
461
+ const sns = new client_sns_1.SNSClient((0, tools_1.awsConfig)(engine_1.default, region));
437
462
  const res = yield sns
438
463
  .send(new client_sns_1.PublishCommand(params))
439
464
  .catch((e) => {
@@ -514,15 +539,40 @@ class WEBProtocolTransformer {
514
539
  * transform event data to param
515
540
  * @param event the lambda compartible event data.
516
541
  */
517
- transformToParam(event) {
542
+ transformToParam(event, context) {
543
+ var _a, _b, _c;
544
+ const errScope = `web.transformToParam(${(_a = event === null || event === void 0 ? void 0 : event.path) !== null && _a !== void 0 ? _a : ''})`;
518
545
  if (!event)
519
- throw new Error('@event (API Event) is required!'); // avoid null exception.
546
+ throw new Error(`@event (API Event) is required - ${errScope}`); // avoid null exception.
520
547
  const headers = event.headers;
521
548
  if (!headers)
522
- throw new Error('.headers is required');
549
+ throw new Error(`.headers (object) is required - ${errScope}`);
523
550
  const requestContext = event.requestContext;
524
551
  if (!requestContext)
525
- throw new Error('.requestContext is required');
552
+ throw new Error(`.requestContext (object) is required - ${errScope}`);
553
+ /** load next-context */
554
+ const _context = (context) => {
555
+ if (context)
556
+ return context; // use given context.
557
+ const ctx = headers[exports.HEADER_PROTOCOL_CONTEXT];
558
+ if (!ctx)
559
+ return null; // no context.
560
+ if (typeof ctx !== 'string')
561
+ throw new Error(`@context (NextContext) should be string - ${errScope}`);
562
+ try {
563
+ const c = JSON.parse(ctx);
564
+ if (c && typeof c == 'object')
565
+ return c;
566
+ }
567
+ catch (e) {
568
+ (0, engine_1._log)(NS, `> WARN! context[${ctx}] is not valid JSON.`, e);
569
+ throw new Error(`@context[${ctx}] is not valid JSON - ${errScope}`);
570
+ }
571
+ return null; // not valid context.
572
+ };
573
+ context = _context(context);
574
+ if (!context)
575
+ throw new Error(`@context (NextContext) is required - ${errScope}`); // avoid null exception.
526
576
  //* extract part
527
577
  const { resource, path, httpMethod } = event; // in case of resource: '/session/{id}/{cmd}', path: '/ses-v1/session/t001/test-es6'
528
578
  const contType = `${headers['content-type'] || headers['Content-Type'] || ''}`.toLowerCase();
@@ -534,33 +584,32 @@ class WEBProtocolTransformer {
534
584
  const isText = body && typeof body == 'string';
535
585
  const isJson = type.startsWith('application/json');
536
586
  const isForm = type.startsWith('application/x-www-form-urlencoded');
537
- if (isText && isJson)
538
- return JSON.parse(body);
539
- if (isText && body.startsWith('{') && body.endsWith('}'))
540
- return JSON.parse(body);
541
- if (isText && body.startsWith('[') && body.endsWith(']'))
542
- return JSON.parse(body);
587
+ try {
588
+ if (isText && isJson)
589
+ return JSON.parse(body);
590
+ if (isText && body.startsWith('{') && body.endsWith('}'))
591
+ return JSON.parse(body);
592
+ if (isText && body.startsWith('[') && body.endsWith(']'))
593
+ return JSON.parse(body);
594
+ }
595
+ catch (e) {
596
+ throw new Error(`@body[${body}] is not valid JSON - ${errScope}`);
597
+ }
543
598
  // if (isText && isForm) return queryString.parse(body, { arrayFormat: 'bracket' });
544
599
  if (isText && isForm)
545
600
  return qs_1.default.parse(body);
546
601
  return body;
547
602
  })(event.body, contType);
548
- //* decode context (can be null)
549
- if (typeof headers[exports.HEADER_PROTOCOL_CONTEXT] === 'undefined')
550
- throw new Error(`.headers[${exports.HEADER_PROTOCOL_CONTEXT}] is required`);
551
- const context = headers[exports.HEADER_PROTOCOL_CONTEXT]
552
- ? JSON.parse(headers[exports.HEADER_PROTOCOL_CONTEXT])
553
- : null;
554
603
  //* determine execute mode.
555
604
  const service = '';
556
605
  const stage = `${requestContext.stage || ''}`;
557
606
  const type = $path.type || `${resource || path || ''}`.split('/')[1] || ''; // 1st path param will be type of resource.
558
607
  const mode = httpMethod == 'GET' && !$path.id && !$path.cmd ? 'LIST' : `${httpMethod}`.toUpperCase();
559
608
  //* validate values.
560
- if (context && context.accountId && requestContext.accountId != context.accountId)
561
- throw new Error(`400 INVALID CONTEXT - accountId:${context.accountId || ''}`);
562
- if (context && context.requestId && requestContext.requestId != context.requestId)
563
- throw new Error(`400 INVALID CONTEXT - requestId:${context.requestId || ''}`);
609
+ if ((context === null || context === void 0 ? void 0 : context.accountId) && requestContext.accountId != context.accountId)
610
+ throw new Error(`400 INVALID CONTEXT - accountId:${(_b = context.accountId) !== null && _b !== void 0 ? _b : ''} @${errScope}`);
611
+ if ((context === null || context === void 0 ? void 0 : context.requestId) && requestContext.requestId != context.requestId)
612
+ throw new Error(`400 INVALID CONTEXT - requestId:${(_c = context.requestId) !== null && _c !== void 0 ? _c : ''} @${errScope}`);
564
613
  //* pack as protocol-param.
565
614
  const res = { service, stage, type, mode, id: $path.id, cmd: $path.cmd, param, body, context };
566
615
  return res;
@@ -1 +1 @@
1
- {"version":3,"file":"protocol-service.js","sourceRoot":"","sources":["../../../src/cores/protocol/protocol-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol-service.js","sourceRoot":"","sources":["../../../src/cores/protocol/protocol-service.ts"],"names":[],"mappings":"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"}
@@ -191,9 +191,13 @@ export declare class Utilities {
191
191
  };
192
192
  /**
193
193
  * get crypto object.
194
+ *
195
+ * @deprecated since nodejs22, use `crypto2` instead.
194
196
  */
195
197
  readonly crypto: (passwd: string, algorithm?: string) => {
198
+ /** @deprecated since nodejs22 */
196
199
  encrypt: (val: string) => string;
200
+ /** @deprecated since nodejs22 */
197
201
  decrypt: (msg: string) => string;
198
202
  };
199
203
  /**
@@ -81,33 +81,59 @@ class Utilities {
81
81
  };
82
82
  /**
83
83
  * get crypto object.
84
+ *
85
+ * @deprecated since nodejs22, use `crypto2` instead.
84
86
  */
85
87
  this.crypto = (passwd, algorithm) => {
86
88
  algorithm = algorithm || 'aes-256-ctr';
87
89
  const MAGIC = 'LM!#';
90
+ /**
91
+ * Simulate OpenSSL's EVP_BytesToKey method
92
+ */
93
+ const evpBytesToKey = (password, keyLen, ivLen) => {
94
+ let data = Buffer.alloc(0);
95
+ let prev = Buffer.alloc(0);
96
+ while (data.length < keyLen + ivLen) {
97
+ const hash = crypto_1.default.createHash('md5');
98
+ hash.update(Buffer.concat([prev, password]));
99
+ prev = hash.digest();
100
+ data = Buffer.concat([data, prev]);
101
+ }
102
+ return {
103
+ key: data.slice(0, keyLen),
104
+ iv: data.slice(keyLen, keyLen + ivLen),
105
+ };
106
+ };
107
+ const getKeyIV = () => {
108
+ const passwordBuf = Buffer.from(passwd, 'binary');
109
+ const keyLen = 32; // for aes-256
110
+ const ivLen = 16; // AES block size
111
+ return evpBytesToKey(passwordBuf, keyLen, ivLen);
112
+ };
88
113
  return new (class {
89
114
  constructor() {
115
+ /** @deprecated since nodejs22 */
90
116
  this.encrypt = (val) => {
91
117
  val = val === undefined ? null : val;
92
118
  // msg = msg && typeof msg == 'object' ? JSON_TAG+JSON.stringify(msg) : msg;
93
119
  //* 어느 데이터 타입이든 저장하기 위해서, object로 만든다음, 암호화 시킨다.
94
120
  const msg = JSON.stringify({ alg: algorithm, val: val });
95
121
  const buffer = Buffer.from(`${MAGIC}${msg || ''}`, 'utf8');
96
- // const key = Buffer.from(`${passwd || ''}`, 'utf8');
97
- const cipher = crypto_1.default.createCipher(algorithm, passwd);
98
- // const cipher = crypto.createCipheriv(algorithm, key, iv);
122
+ const { key, iv } = getKeyIV();
123
+ const cipher = crypto_1.default.createCipheriv(algorithm, key, iv);
99
124
  const crypted = Buffer.concat([cipher.update(buffer), cipher.final()]);
100
125
  return crypted.toString(1 ? 'base64' : 'utf8');
101
126
  };
127
+ /** @deprecated since nodejs22 */
102
128
  this.decrypt = (msg) => {
103
129
  const buffer = Buffer.from(`${msg || ''}`, 'base64');
104
- // const key = Buffer.from(`${passwd || ''}`, 'utf8');
105
- const decipher = crypto_1.default.createDecipher(algorithm, passwd);
106
- // const decipher = crypto.createDecipheriv(algorithm, key, iv);
107
- const dec = Buffer.concat([decipher.update(buffer), decipher.final()]).toString('utf8');
130
+ const { key, iv } = getKeyIV();
131
+ const decipher = crypto_1.default.createDecipheriv(algorithm, key, iv);
132
+ const decrypted = Buffer.concat([decipher.update(buffer), decipher.final()]);
133
+ const dec = decrypted.toString('utf8');
108
134
  if (!dec.startsWith(MAGIC))
109
135
  throw new Error('400 INVALID PASSWD - invalid magic string!');
110
- const data = dec.substr(MAGIC.length);
136
+ const data = dec.slice(MAGIC.length);
111
137
  if (data && !data.startsWith('{') && !data.endsWith('}'))
112
138
  throw new Error('400 INVALID PASSWD - invalid json string!');
113
139
  const $msg = JSON.parse(data) || {};
@@ -1 +1 @@
1
- {"version":3,"file":"utilities.js","sourceRoot":"","sources":["../../src/engine/utilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utilities.js","sourceRoot":"","sources":["../../src/engine/utilities.ts"],"names":[],"mappings":"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"}
package/dist/environ.d.ts CHANGED
@@ -1,27 +1,3 @@
1
- /**
2
- * `environ.ts`
3
- * - override environ with `env/<profile>.yml`
4
- * - **NOTE** seperated file from index due to initialization sequence.
5
- *
6
- * usage (javascript):
7
- * ```js
8
- * const environ = require('lemon-core/dist/environ').default;
9
- * process.env = environ(process)
10
- * ```
11
- *
12
- * usage (typescript):
13
- * ```ts
14
- * import environ from 'lemon-core/dist/environ';
15
- * const $env = environ(process);
16
- * process.env = $env;
17
- * ```
18
- *
19
- * @author Steve Jung <steve@lemoncloud.io>
20
- * @date 2019-08-09 initial typescript version.
21
- * @date 2019-11-26 cleanup and optimized for `lemon-core#v2`
22
- *
23
- * @copyright (C) 2019 LemonCloud Co Ltd. - All Rights Reserved.
24
- */
25
1
  /**
26
2
  * type: `CrendentialForAWS`
27
3
  * - common interface for AWS credentials.
@@ -55,7 +31,7 @@ export interface EnvironmentSet {
55
31
  ENV_PATH?: string;
56
32
  }
57
33
  /**
58
- * loader `<profile>.yml`
34
+ * (only for dev) loader `<profile>.yml`
59
35
  *
60
36
  * **Determine Environ Target**
61
37
  * 1. ENV 로부터, 로딩할 `env.yml` 파일을 지정함.
@@ -66,10 +42,12 @@ export interface EnvironmentSet {
66
42
  *
67
43
  * @param process the main process instance.
68
44
  * @param options (optional) default option.
45
+ *
46
+ * @deprecated use `loadEnviron()` from `lemon-devkit` instead.
69
47
  */
70
- export declare const loadEnviron: (process: any, options?: EnvironmentSet) => EnvironmentSet;
48
+ export declare const loadEnviron: (process?: any, options?: EnvironmentSet) => EnvironmentSet;
71
49
  /**
72
- * load AWS credential profile via env.NAME
50
+ * (only for dev) load AWS credential profile via `env.NAME`
73
51
  *
74
52
  * NOTE! ONLY FOR development purpose.
75
53
  *
@@ -78,13 +56,14 @@ export declare const loadEnviron: (process: any, options?: EnvironmentSet) => En
78
56
  * $ NAME=lemon npm run test
79
57
  * ````
80
58
  * @param $proc process (default `global.process`)
81
- * @param $info info logger (default `console.info`)
59
+ * @param options (optional) parameters.
60
+ * @returns {Promise<string>} - loaded profile name.
82
61
  */
83
62
  export declare const loadProfile: ($proc?: {
84
63
  env?: any;
85
- }, $info?: (title: string, msg?: string) => void) => CrendentialForAWS;
64
+ }, options?: any) => Promise<string>;
86
65
  /**
87
- * dynamic loading credentials by profile. (search PROFILE -> NAME)
66
+ * (only for dev) dynamic loading credentials by profile. (search PROFILE -> NAME)
88
67
  *
89
68
  * @deprecated use `asyncCredentials` instead.
90
69
  */