lemon-core 5.0.4 → 5.0.6

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 (60) hide show
  1. package/README.md +168 -136
  2. package/bin/lemon-fields-types.mjs +12 -0
  3. package/bin/lib/fields-types.mjs +629 -0
  4. package/dist/common/test-helper.js +6 -3
  5. package/dist/common/test-helper.js.map +1 -1
  6. package/dist/cores/aws/aws-sns-service.d.ts +6 -0
  7. package/dist/cores/aws/aws-sns-service.js +22 -3
  8. package/dist/cores/aws/aws-sns-service.js.map +1 -1
  9. package/dist/cores/aws/aws-sqs-service.js +5 -0
  10. package/dist/cores/aws/aws-sqs-service.js.map +1 -1
  11. package/dist/cores/config/config-service.js +3 -1
  12. package/dist/cores/config/config-service.js.map +1 -1
  13. package/dist/cores/lambda/lambda-alb-handler.js +5 -0
  14. package/dist/cores/lambda/lambda-alb-handler.js.map +1 -1
  15. package/dist/cores/lambda/lambda-handler.js +4 -1
  16. package/dist/cores/lambda/lambda-handler.js.map +1 -1
  17. package/dist/cores/lambda/lambda-notification-handler.js +4 -1
  18. package/dist/cores/lambda/lambda-notification-handler.js.map +1 -1
  19. package/dist/cores/lambda/lambda-sns-handler.d.ts +7 -1
  20. package/dist/cores/lambda/lambda-sns-handler.js +26 -3
  21. package/dist/cores/lambda/lambda-sns-handler.js.map +1 -1
  22. package/dist/cores/lambda/lambda-sqs-handler.d.ts +7 -1
  23. package/dist/cores/lambda/lambda-sqs-handler.js +26 -3
  24. package/dist/cores/lambda/lambda-sqs-handler.js.map +1 -1
  25. package/dist/cores/lambda/lambda-web-handler.js +63 -15
  26. package/dist/cores/lambda/lambda-web-handler.js.map +1 -1
  27. package/dist/cores/protocol/aws-lambda-helper.d.ts +13 -0
  28. package/dist/cores/protocol/aws-lambda-helper.js +64 -41
  29. package/dist/cores/protocol/aws-lambda-helper.js.map +1 -1
  30. package/dist/cores/protocol/local-transport.d.ts +135 -0
  31. package/dist/cores/protocol/local-transport.js +392 -0
  32. package/dist/cores/protocol/local-transport.js.map +1 -0
  33. package/dist/cores/protocol/protocol-relay.d.ts +123 -0
  34. package/dist/cores/protocol/protocol-relay.js +339 -0
  35. package/dist/cores/protocol/protocol-relay.js.map +1 -0
  36. package/dist/cores/protocol/protocol-service.d.ts +11 -4
  37. package/dist/cores/protocol/protocol-service.js +140 -36
  38. package/dist/cores/protocol/protocol-service.js.map +1 -1
  39. package/dist/cores/protocol/protocol-sign.d.ts +22 -0
  40. package/dist/cores/protocol/protocol-sign.js +30 -3
  41. package/dist/cores/protocol/protocol-sign.js.map +1 -1
  42. package/dist/engine/engine.js +35 -15
  43. package/dist/engine/engine.js.map +1 -1
  44. package/dist/esm/index.mjs +2 -0
  45. package/dist/extended/cores/abstract-controllers.d.ts +18 -4
  46. package/dist/extended/cores/abstract-controllers.js +59 -19
  47. package/dist/extended/cores/abstract-controllers.js.map +1 -1
  48. package/dist/extended/cores/abstract-services.d.ts +54 -4
  49. package/dist/extended/cores/abstract-services.js +159 -14
  50. package/dist/extended/cores/abstract-services.js.map +1 -1
  51. package/dist/index.d.ts +3 -0
  52. package/dist/index.js +4 -1
  53. package/dist/index.js.map +1 -1
  54. package/dist/lib/log-mask.d.ts +19 -0
  55. package/dist/lib/log-mask.js +55 -0
  56. package/dist/lib/log-mask.js.map +1 -0
  57. package/dist/lib/safe-json.d.ts +23 -0
  58. package/dist/lib/safe-json.js +78 -0
  59. package/dist/lib/safe-json.js.map +1 -0
  60. package/package.json +14 -4
@@ -24,6 +24,8 @@ exports.convDateToTS = exports.convDateToTime = exports.convDate = exports.DEFAU
24
24
  * @date 2019-11-26 cleanup and optimized for `lemon-core#v2`
25
25
  * @date 2022-02-21 remove `$_` the lodash libs.
26
26
  * @date 2026-05-08 optimized to ignore of reporting.
27
+ * @date 2026-10-30 `getHelloArn()`: placeholder account `000000000000` only with the local transport (`LOCAL_TRANSPORT=mock`).
28
+ * @date 2026-10-30 v5 B14: `doReportError()` payload has the `trace` of the context.
27
29
  *
28
30
  * @copyright (C) lemoncloud.io 2019 - All Rights Reserved.
29
31
  */
@@ -32,6 +34,7 @@ const utilities_1 = require("./utilities"); //* v5: the constant and its env hel
32
34
  Object.defineProperty(exports, "DEFAULT_TIME_ZONE", { enumerable: true, get: function () { return utilities_1.DEFAULT_TIME_ZONE; } });
33
35
  const tools_1 = require("../tools/");
34
36
  const aws_sns_service_1 = require("../cores/aws/aws-sns-service");
37
+ const safe_json_1 = require("../lib/safe-json"); //* v5 B10-2: circular-safe stringify for error reports (internal).
35
38
  //* create SNS Service
36
39
  const $sns = (arn) => new aws_sns_service_1.AWSSNSService(arn);
37
40
  /**
@@ -56,13 +59,22 @@ const getHelloArn = (context, NS) => {
56
59
  const $ncx = context;
57
60
  //* build arn via context information.
58
61
  const invokedFunctionArn = `${$ctx.invokedFunctionArn || ''}`; // if called via lambda call ex: 'arn:aws:lambda:ap-northeast-2:085403634746:function:lemon-messages-api-prod-user'
59
- const accountId = $ncx?.accountId || invokedFunctionArn?.split(':')[4] || $req?.accountId;
62
+ //* v5 B10-6: own account first (Lambda always has `invokedFunctionArn`), then context; only 12-digit ids pass.
63
+ const isAccount = (v) => typeof v === 'string' && /^\d{12}$/.test(v);
64
+ const candidates = [invokedFunctionArn.split(':')[4], $ncx?.accountId, $req?.accountId];
65
+ const accountId = candidates.find(isAccount);
60
66
  const region = invokedFunctionArn.split(':')[3] || `ap-northeast-2`;
61
- (0, index_1._inf)(NS, '! accountId =', accountId);
62
- if (!accountId || typeof accountId !== 'string') {
63
- (0, index_1._err)(NS, 'ERROR! missing accountId. context =', index_1.$U.json(context));
64
- throw new Error(`.accountId[${accountId ?? ''}] is missing - ${errScope}`);
67
+ //* local transport (`LOCAL_TRANSPORT=mock` in local mode, never in Lambda): nothing is sent, so a placeholder account.
68
+ if (!accountId && process.env.LOCAL_TRANSPORT === 'mock' && index_1.$U.isLocalMode()) {
69
+ (0, index_1._log)(NS, '! accountId = 000000000000 (local transport)');
70
+ return `arn:aws:sns:${region}:000000000000:${target}`;
71
+ }
72
+ if (!accountId) {
73
+ //* v5 B10-6: never log or throw the rejected value (it can be an OS user name from a local runner).
74
+ (0, index_1._err)(NS, 'ERROR! missing accountId. context =', index_1.$U.json({ ...context, accountId: undefined }));
75
+ throw new Error(`.accountId[] is missing - ${errScope}`);
65
76
  }
77
+ (0, index_1._inf)(NS, '! accountId =', accountId);
66
78
  return `arn:aws:sns:${region}:${accountId}:${target}`;
67
79
  }
68
80
  };
@@ -78,15 +90,16 @@ exports.getHelloArn = getHelloArn;
78
90
  const doReportError = async (e, context, event, data) => {
79
91
  const NS = index_1.$U.NS('RPTE');
80
92
  //* ignore only if local express-run or empty accountId.
81
- const ignored = context?.source === 'express' || context?.accountId === '';
93
+ //* v5 B10-6: also ignore in local mode (`LOCAL_MODE=1` outside Lambda) — `source` is never 'express' after `packContext()`.
94
+ const ignored = context?.source === 'express' || context?.accountId === '' || index_1.$U.isLocalMode();
82
95
  if (ignored) {
83
96
  (0, index_1._err)(NS, `! err(report) :=`, e);
84
97
  return '!ignore';
85
98
  }
86
- //TODO - optimize message extractor.
99
+ //* v5 B10-2: message extractor — circular-safe (`$U.json()` throws on a circular object, outside of `try`).
87
100
  const $message = (e) => {
88
101
  const m = (e && (e.message || e.statusMessage)) || e;
89
- return typeof m == 'object' ? index_1.$U.json(m) : `${m}`;
102
+ return typeof m == 'object' ? (0, safe_json_1.safeStringify)(m) : `${m}`;
90
103
  };
91
104
  (0, index_1._log)(NS, `doReportError(${$message(e)})...`);
92
105
  //* dispatch invoke conditins.
@@ -100,12 +113,13 @@ const doReportError = async (e, context, event, data) => {
100
113
  const resourcePath = context?.resourcePath || '';
101
114
  const identity = context?.identity || {};
102
115
  const service = `api://${$pack.name || 'lemon-core'}/${name}-${stage}#${$pack.version || '0.0.0'}`;
103
- //* prepare payload to publish.
116
+ //* prepare payload to publish (v5 B14: + the call-chain `trace` of the context).
104
117
  const payload = {
105
118
  service,
106
119
  message,
107
120
  context: { ...context, stage, apiId, resourcePath, identity, domainPrefix, event },
108
121
  data,
122
+ trace: context?.trace,
109
123
  };
110
124
  //* find target arn.
111
125
  const arn = (0, exports.getHelloArn)(context, NS);
@@ -171,7 +185,8 @@ const doReportSlack = async (channel, body, context) => {
171
185
  const NS = index_1.$U.NS('RPTS');
172
186
  (0, index_1._log)(NS, `doReportSlack()...`);
173
187
  //* ignore only if local express-run or empty accountId.
174
- const ignored = context?.source === 'express' || context?.accountId === '';
188
+ //* v5 B10-6: also ignore in local mode, same as `doReportError()`.
189
+ const ignored = context?.source === 'express' || context?.accountId === '' || index_1.$U.isLocalMode();
175
190
  if (ignored) {
176
191
  (0, index_1._err)(NS, `! slack(report) :=`, index_1.$U.json(body));
177
192
  return '!ignore';
@@ -257,7 +272,12 @@ const doReportMetric = async (ns, id, body, context) => {
257
272
  const target = 'lemon-metrics-sns';
258
273
  const arn0 = (0, exports.getHelloArn)(context, NS);
259
274
  // eslint-disable-next-line prettier/prettier
260
- const arn = arn0.startsWith('arn:aws:sns:') && arn0.split(':').length == 6 ? arn0.split(':').map((v, i) => i == 5 ? target : v).join(':') : arn0;
275
+ const arn = arn0.startsWith('arn:aws:sns:') && arn0.split(':').length == 6
276
+ ? arn0
277
+ .split(':')
278
+ .map((v, i) => (i == 5 ? target : v))
279
+ .join(':')
280
+ : arn0;
261
281
  (0, index_1._log)(NS, `> report-metric.arn =`, arn);
262
282
  return $sns(arn)
263
283
  .publish(arn || target, 'metric', payload)
@@ -312,16 +332,16 @@ const do_parallel = (param, callback, size = 10, pos = 0, result = []) => {
312
332
  const R2 = R; // avoid compile error.
313
333
  return R2.catch(e => {
314
334
  (0, index_1._err)(`!ERR@1 node[${index}] =`, e);
315
- //* make sure error instance.
316
- return e instanceof Error ? e : new Error(typeof e == 'string' ? e : JSON.stringify(e));
335
+ //* make sure error instance. (v5 B10-2: circular-safe)
336
+ return e instanceof Error ? e : new Error(typeof e == 'string' ? e : (0, safe_json_1.safeStringify)(e));
317
337
  });
318
338
  }
319
339
  return R;
320
340
  }
321
341
  catch (e) {
322
342
  (0, index_1._err)(`!ERR@2 node[${index}] =`, e);
323
- //* make sure error instance.
324
- return e instanceof Error ? e : new Error(typeof e == 'string' ? e : JSON.stringify(e));
343
+ //* make sure error instance. (v5 B10-2: circular-safe)
344
+ return e instanceof Error ? e : new Error(typeof e == 'string' ? e : (0, safe_json_1.safeStringify)(e));
325
345
  }
326
346
  });
327
347
  //* do parrallel.
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/engine/engine.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,mCAAwD;AAExD,2CAAiE,CAAC,6EAA6E;AA8WtI,kGA9WA,6BAAiB,OA8WA;AA1W1B,qCAAyC;AACzC,kEAA6D;AAM7D,sBAAsB;AACtB,MAAM,IAAI,GAAG,CAAC,GAAW,EAAiB,EAAE,CAAC,IAAI,+BAAa,CAAC,GAAG,CAAC,CAAC;AAEpE;;;;;GAKG;AACI,MAAM,WAAW,GAAG,CAAC,OAAgD,EAAE,EAAW,EAAU,EAAE;IACjG,EAAE,GAAG,EAAE,IAAI,UAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;IACzB,MAAM,QAAQ,GAAG,eAAe,EAAE,IAAI,EAAE,GAAG,CAAC;IAE5C,4CAA4C;IAC5C,MAAM,GAAG,GAAG,eAAO,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAW,CAAC;IAC9D,IAAI,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC;QAAE,OAAO,GAAG,CAAC;IAC/C,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,QAAQ,EAAE,CAAC,CAAC;IACrF,IAAI,IAAI,EAAE,CAAC;QACP,MAAM,MAAM,GAAG,iBAAiB,CAAC;QACjC,MAAM,IAAI,GAAY,OAAkB,CAAC;QACzC,MAAM,IAAI,GAAmB,OAAyB,CAAC;QACvD,MAAM,IAAI,GAAgB,OAAsB,CAAC;QACjD,sCAAsC;QACtC,MAAM,kBAAkB,GAAG,GAAG,IAAI,CAAC,kBAAkB,IAAI,EAAE,EAAE,CAAC,CAAC,mHAAmH;QAClL,MAAM,SAAS,GAAG,IAAI,EAAE,SAAS,IAAI,kBAAkB,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,SAAS,CAAC;QAC1F,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC;QACpE,IAAA,YAAI,EAAC,EAAE,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;QACrC,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC9C,IAAA,YAAI,EAAC,EAAE,EAAE,qCAAqC,EAAE,UAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YAClE,MAAM,IAAI,KAAK,CAAC,cAAc,SAAS,IAAI,EAAE,kBAAkB,QAAQ,EAAE,CAAC,CAAC;QAC/E,CAAC;QACD,OAAO,eAAe,MAAM,IAAI,SAAS,IAAI,MAAM,EAAE,CAAC;IAC1D,CAAC;AACL,CAAC,CAAC;AAxBW,QAAA,WAAW,eAwBtB;AAEF;;;;;;;GAOG;AACI,MAAM,aAAa,GAAG,KAAK,EAAE,CAAQ,EAAE,OAAa,EAAE,KAAW,EAAE,IAAU,EAAmB,EAAE;IACrG,MAAM,EAAE,GAAG,UAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;IAEzB,wDAAwD;IACxD,MAAM,OAAO,GAAG,OAAO,EAAE,MAAM,KAAK,SAAS,IAAI,OAAO,EAAE,SAAS,KAAK,EAAE,CAAC;IAC3E,IAAI,OAAO,EAAE,CAAC;QACV,IAAA,YAAI,EAAC,EAAE,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC;QAChC,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,oCAAoC;IACpC,MAAM,QAAQ,GAAG,CAAC,CAAM,EAAE,EAAE;QACxB,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC;QACrD,OAAO,OAAO,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,UAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IACtD,CAAC,CAAC;IACF,IAAA,YAAI,EAAC,EAAE,EAAE,iBAAiB,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAE7C,8BAA8B;IAC9B,IAAI,CAAC;QACD,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,KAAK,GAAG,CAAC,oBAAY,IAAI,IAAA,oBAAY,EAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;QACnE,MAAM,IAAI,GAAG,OAAO,EAAE,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QACrD,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;QACxD,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC;QACnC,MAAM,YAAY,GAAG,OAAO,EAAE,YAAY,IAAI,EAAE,CAAC;QACjD,MAAM,YAAY,GAAG,OAAO,EAAE,YAAY,IAAI,EAAE,CAAC;QACjD,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,SAAS,KAAK,CAAC,IAAI,IAAI,YAAY,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,IAAI,OAAO,EAAE,CAAC;QAEnG,+BAA+B;QAC/B,MAAM,OAAO,GAAG;YACZ,OAAO;YACP,OAAO;YACP,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE;YAClF,IAAI;SACP,CAAC;QAEF,oBAAoB;QACpB,MAAM,GAAG,GAAG,IAAA,mBAAW,EAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACrC,IAAA,YAAI,EAAC,EAAE,EAAE,sBAAsB,EAAE,GAAG,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,GAAG,CAAC;aACX,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC;aAC5B,IAAI,CAAC,CAAC,GAAW,EAAE,EAAE;YAClB,IAAA,YAAI,EAAC,EAAE,EAAE,oBAAoB,EAAE,GAAG,CAAC,CAAC;YACpC,OAAO,GAAG,GAAG,EAAE,CAAC;QACpB,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,CAAQ,EAAE,EAAE;YAChB,IAAA,YAAI,EAAC,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;YAC9B,OAAO,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;IACX,CAAC;IAAC,OAAO,EAAO,EAAE,CAAC;QACf,IAAA,YAAI,EAAC,EAAE,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;QAChC,OAAO,UAAU,EAAE,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;IACxC,CAAC;AACL,CAAC,CAAC;AAtDW,QAAA,aAAa,iBAsDxB;AAEF;;;;;;GAMG;AACI,MAAM,gBAAgB,GAAG,KAAK,EAAE,IAAkB,EAAE,OAAgB,EAAE,OAAa,EAAmB,EAAE;IAC3G,MAAM,EAAE,GAAG,UAAE,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACrC,IAAI,CAAC;QACD,MAAM,KAAK,GAAG,CAAC,oBAAY,IAAI,IAAA,oBAAY,EAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;QACnE,MAAM,KAAK,GAAG,GAAG,UAAE,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;QAC1D,MAAM,IAAI,GAAG,GAAG,UAAE,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;QACnD,OAAO,GAAG,OAAO,IAAI,SAAS,KAAK,CAAC,IAAI,IAAI,YAAY,IAAI,KAAK,CAAC,OAAO,IAAI,OAAO,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;QACxG,MAAM,OAAO,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,IAAA,mBAAW,EAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC,GAAG,CAAC;aACX,OAAO,CAAC,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,+BAA+B;aAChE,IAAI,CAAC,CAAC,GAAW,EAAE,EAAE;YAClB,IAAA,YAAI,EAAC,EAAE,EAAE,kBAAkB,EAAE,GAAG,CAAC,CAAC;YAClC,OAAO,GAAG,GAAG,EAAE,CAAC;QACpB,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,CAAQ,EAAE,EAAE;YAChB,IAAA,YAAI,EAAC,EAAE,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC;YAChC,OAAO,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;IACX,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QACd,IAAA,YAAI,EAAC,EAAE,EAAE,wBAAwB,EAAE,CAAC,CAAC,CAAC;QACtC,OAAO,IAAA,qBAAa,EAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;AACL,CAAC,CAAC;AAvBW,QAAA,gBAAgB,oBAuB3B;AAEF;;;;;;GAMG;AACI,MAAM,aAAa,GAAG,KAAK,EAAE,OAAe,EAAE,IAAmB,EAAE,OAAa,EAAmB,EAAE;IACxG,MAAM,EAAE,GAAG,UAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;IACzB,IAAA,YAAI,EAAC,EAAE,EAAE,oBAAoB,CAAC,CAAC;IAE/B,wDAAwD;IACxD,MAAM,OAAO,GAAG,OAAO,EAAE,MAAM,KAAK,SAAS,IAAI,OAAO,EAAE,SAAS,KAAK,EAAE,CAAC;IAC3E,IAAI,OAAO,EAAE,CAAC;QACV,IAAA,YAAI,EAAC,EAAE,EAAE,oBAAoB,EAAE,UAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9C,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,8BAA8B;IAC9B,IAAI,CAAC;QACD,MAAM,KAAK,GAAG,CAAC,oBAAY,IAAI,IAAA,oBAAY,EAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;QACnE,MAAM,OAAO,GAAG,SAAS,KAAK,CAAC,IAAI,IAAI,YAAY,IAAI,KAAK,CAAC,OAAO,IAAI,OAAO,EAAE,CAAC;QAClF,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC;QACnC,MAAM,YAAY,GAAG,OAAO,EAAE,YAAY,IAAI,EAAE,CAAC;QACjD,MAAM,YAAY,GAAG,OAAO,EAAE,YAAY,IAAI,EAAE,CAAC;QACjD,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,EAAE,CAAC;QAEjB,+BAA+B;QAC/B,MAAM,OAAO,GAAG;YACZ,OAAO;YACP,OAAO;YACP,KAAK;YACL,IAAI;YACJ,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE;SAClE,CAAC;QAEF,oBAAoB;QACpB,MAAM,GAAG,GAAG,IAAA,mBAAW,EAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACrC,IAAA,YAAI,EAAC,EAAE,EAAE,sBAAsB,EAAE,GAAG,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,GAAG,CAAC;aACX,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC;aAC9B,IAAI,CAAC,CAAC,GAAW,EAAE,EAAE;YAClB,IAAA,YAAI,EAAC,EAAE,EAAE,oBAAoB,EAAE,GAAG,CAAC,CAAC;YACpC,OAAO,GAAG,GAAG,EAAE,CAAC;QACpB,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,CAAQ,EAAE,EAAE;YAChB,IAAA,YAAI,EAAC,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC;YAC7B,OAAO,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;IACX,CAAC;IAAC,OAAO,EAAO,EAAE,CAAC;QACf,IAAA,YAAI,EAAC,EAAE,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;QAChC,OAAO,UAAU,EAAE,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;IACxC,CAAC;AACL,CAAC,CAAC;AAhDW,QAAA,aAAa,iBAgDxB;AAEF;;;;;;;GAOG;AACI,MAAM,cAAc,GAAG,KAAK,EAAE,EAAU,EAAE,EAAU,EAAE,IAAoB,EAAE,OAAa,EAAmB,EAAE;IACjH,MAAM,EAAE,GAAG,UAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;IACzB,kDAAkD;IAClD,MAAM,IAAI,GAAG,wBAAwB,CAAC;IACtC,MAAM,IAAI,GAAG,+BAA+B,CAAC;IAC7C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,EAAE,CAAC,CAAC;IACrE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,EAAE,CAAC,CAAC;IAErE,IAAA,YAAI,EAAC,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC3C,8BAA8B;IAC9B,IAAI,CAAC;QACD,MAAM,KAAK,GAAG,CAAC,oBAAY,IAAI,IAAA,oBAAY,EAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;QACnE,MAAM,OAAO,GAAG,SAAS,KAAK,CAAC,IAAI,IAAI,YAAY,IAAI,KAAK,CAAC,OAAO,IAAI,OAAO,EAAE,CAAC;QAClF,MAAM,KAAK,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAC/C,MAAM,KAAK,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAC/C,MAAM,YAAY,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QAC7D,MAAM,YAAY,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QAC7D,MAAM,QAAQ,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACrD,MAAM,KAAK,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAEzB,6CAA6C;QAC7C,MAAM,OAAO,GAAG;YACZ,OAAO;YACP,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,MAAM;YACd,EAAE,EAAE,GAAG;YACP,GAAG,EAAE,QAAQ;YACb,KAAK;YACL,IAAI;YACJ,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE;SAClE,CAAC;QAEF,kCAAkC;QAClC,MAAM,MAAM,GAAG,mBAAmB,CAAC;QACnC,MAAM,IAAI,GAAG,IAAA,mBAAW,EAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACtC,6CAA6C;QAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,EAAE,CAAA,CAAC,IAAE,CAAC,CAAA,CAAC,CAAA,MAAM,CAAA,CAAC,CAAA,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACxI,IAAA,YAAI,EAAC,EAAE,EAAE,uBAAuB,EAAE,GAAG,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,GAAG,CAAC;aACX,OAAO,CAAC,GAAG,IAAI,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC;aACzC,IAAI,CAAC,CAAC,GAAW,EAAE,EAAE;YAClB,IAAA,YAAI,EAAC,EAAE,EAAE,oBAAoB,EAAE,GAAG,CAAC,CAAC;YACpC,OAAO,GAAG,GAAG,EAAE,CAAC;QACpB,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,CAAQ,EAAE,EAAE;YAChB,IAAA,YAAI,EAAC,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;YAC9B,OAAO,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;IACX,CAAC;IAAC,OAAO,EAAO,EAAE,CAAC;QACf,IAAA,YAAI,EAAC,EAAE,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;QAChC,OAAO,UAAU,EAAE,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;IACxC,CAAC;AACL,CAAC,CAAC;AApDW,QAAA,cAAc,kBAoDzB;AAsBF;;;;;;;;;;GAUG;AACI,MAAM,WAAW,GAAG,CACvB,KAA8B,EAC9B,QAAiC,EACjC,IAAI,GAAG,EAAE,EACT,GAAG,GAAG,CAAC,EACP,SAAwB,EAAE,EACJ,EAAE;IACxB,IAAI,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACtC,GAAG,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAClC,MAAM,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IAC5C,iCAAiC;IACjC,MAAM,QAAQ,GAAG,CAAC,CAAI,EAAE,CAAS,EAAE,EAAE;QACjC,IAAI,CAAC;YACD,OAAO,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC;IACL,CAAC,CAAC;IACF,0CAA0C;IAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;IACvD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAO,EAAE;QACvC,MAAM,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC;YACD,gBAAgB;YAChB,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAChC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,QAAQ,IAAI,CAAC,YAAY,OAAO,EAAE,CAAC;gBACpD,MAAM,EAAE,GAAiB,CAAiB,CAAC,CAAC,uBAAuB;gBACnE,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;oBAChB,IAAA,YAAI,EAAC,eAAe,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC;oBACnC,6BAA6B;oBAC7B,OAAO,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5F,CAAC,CAAC,CAAC;YACP,CAAC;YACD,OAAO,CAAC,CAAC;QACb,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,IAAA,YAAI,EAAC,eAAe,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC;YACnC,6BAA6B;YAC7B,OAAO,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5F,CAAC;IACL,CAAC,CAAC,CAAC;IACH,iBAAiB;IACjB,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;SACtB,IAAI,CAAC,GAAG,CAAC,EAAE;QACR,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,OAAO,GAAG,CAAC;QACrC,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;QACpE,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,OAAO,GAAG,CAAC;QAC/B,MAAM,IAAI,GAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC3B,IAAI,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC;YACrC,OAAO,EAAE,KAAK,EAAG,CAAW,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,IAAA,qBAAa,EAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YAClG,IAAI,WAAW,EAAE,CAAC;gBACd,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACjE,CAAC;YACD,OAAO,GAAG,CAAC;QACf,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,CAAC,EAAE;QACN,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,CAAC,CAAC,CAAC,MAAM;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9C,OAAO,IAAA,mBAAW,EAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;AACX,CAAC,CAAC;AAjEW,QAAA,WAAW,eAiEtB;AAEF;;;GAGG;AACU,QAAA,YAAY,GAAG,mBAAW,CAAC;AAKxC,6GAA6G;AACtG,MAAM,QAAQ,GAAG,CAAC,EAA0B,EAAQ,EAAE,CAAC,UAAE,CAAC,EAAE,CAAC,EAAE,EAAE,IAAA,2BAAe,GAAE,CAAE,CAAC;AAA/E,QAAA,QAAQ,YAAuE;AAE5F;;;;GAIG;AACI,MAAM,cAAc,GAAG,CAAC,EAA0B,EAAE,EAAE;IACzD,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC,CAAC,yBAAyB;IAC5E,MAAM,CAAC,GAAG,IAAA,gBAAQ,EAAC,EAAE,CAAC,CAAC;IACvB,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;AACvB,CAAC,CAAC;AAJW,QAAA,cAAc,kBAIzB;AAEF;;;;;GAKG;AACI,MAAM,YAAY,GAAG,CAAC,EAA0B,EAAE,EAAE;IACvD,MAAM,CAAC,GAAG,IAAA,gBAAQ,EAAC,EAAE,CAAC,CAAC;IACvB,OAAO,UAAE,CAAC,EAAE,CAAC,CAAC,EAAE,IAAA,2BAAe,GAAE,CAAC,CAAC,CAAC,kDAAkD;AAC1F,CAAC,CAAC;AAHW,QAAA,YAAY,gBAGvB"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/engine/engine.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ export const $engine = cjs.$engine;
10
10
  export const $event = cjs.$event;
11
11
  export const $hangul = cjs.$hangul;
12
12
  export const $info = cjs.$info;
13
+ export const $localTransport = cjs.$localTransport;
13
14
  export const $protocol = cjs.$protocol;
14
15
  export const $rand = cjs.$rand;
15
16
  export const $slack = cjs.$slack;
@@ -35,6 +36,7 @@ export const ConfigModule = cjs.ConfigModule;
35
36
  export const CoreManager = cjs.CoreManager;
36
37
  export const CoreModel = cjs.CoreModel;
37
38
  export const CoreService = cjs.CoreService;
39
+ export const DEFAULT_ACCESS_POLICY = cjs.DEFAULT_ACCESS_POLICY;
38
40
  export const DEFAULT_TIME_ZONE = cjs.DEFAULT_TIME_ZONE;
39
41
  export const DummyCacheService = cjs.DummyCacheService;
40
42
  export const DummyController = cjs.DummyController;
@@ -1,7 +1,7 @@
1
1
  import { GeneralWEBController } from '../../controllers/';
2
2
  import { CoreModel, AbstractTransformer, View, Body, NextContext, NextHandler, SimpleSet } from 'lemon-model';
3
3
  import { BulkBody, ListResult, PaginatedListResult, PaginateParam } from './types';
4
- import { MyCoreManager, MyCoreService, MyCoreProxy } from './abstract-services';
4
+ import { MyCoreManager, MyCoreService, MyCoreProxy, AccessPolicy, CanDoOptions } from './abstract-services';
5
5
  export { CoreModel, AbstractTransformer, GeneralWEBController };
6
6
  /**
7
7
  * type: `CRUDCreationOptions`
@@ -22,6 +22,13 @@ interface CRUDCreationOptions {
22
22
  * @see proxy.makeModelBase()
23
23
  */
24
24
  throwable?: boolean;
25
+ /**
26
+ * (optional) v5 B13: access scopes for the 7 CRUD handlers of this controller (session on only).
27
+ * - merged over the manager-proxy `accessPolicy()`; ex: `{ read: 'site' }` restores the v5 § 6.4 read rule.
28
+ *
29
+ * @see MyManagerProxy.canDo()
30
+ */
31
+ policy?: Partial<AccessPolicy>;
25
32
  }
26
33
  /**
27
34
  * class: `AbstractCRUDController`
@@ -67,6 +74,14 @@ export declare abstract class AbstractCRUDController<ModelType extends string, M
67
74
  * get config of using session.
68
75
  */
69
76
  get confThrowable(): boolean;
77
+ /**
78
+ * v5 B13: access scopes of this controller (override this getter to compute them).
79
+ */
80
+ protected get confPolicy(): Partial<AccessPolicy> | undefined;
81
+ /**
82
+ * v5 B13: the `canDo()` options of the CRUD handlers - session switch and policy of this controller.
83
+ */
84
+ protected canDoOptions(errScope: string, options?: CanDoOptions): CanDoOptions;
70
85
  /**
71
86
  * model transformer from model to view
72
87
  */
@@ -126,9 +141,8 @@ export declare abstract class AbstractCRUDController<ModelType extends string, M
126
141
  doGetAdmin: NextHandler;
127
142
  /**
128
143
  * v5 B4: report the manager's field list (`GET /<type>/fields/admin`) to verify it in Lambda too.
129
- * - allowed only by channel: local express (`$U.isLocalMode()`) or an internal request (empty `$ctx.domain`).
130
- * - internal = no `host` header (direct `lambda:Invoke`, see `isExternal()`); `packContext()` then leaves
131
- * `domain` empty, so the empty `domain` is the signal here (`NextContext` has no external flag).
144
+ * - v5 B14: allowed only when `$ctx.channel !== 'external'` (set once by the entry: `local` for the local
145
+ * express, `internal` for a host-less invoke or a protocol call). `domain` is information only, never the gate.
132
146
  * - no admin role is required: a direct invoke is already gated by IAM `lambda:InvokeFunction`.
133
147
  */
134
148
  protected doGetAdminFields($ctx: NextContext, errScope: string): Promise<{
@@ -31,7 +31,9 @@ exports.AbstractCRUDController = exports.GeneralWEBController = exports.Abstract
31
31
  * @date 2026-02-03 optimized `modelAsView()` to show cores in local.
32
32
  * @date 2026-04-09 optimized `types` to fix `ModelType` cast error.
33
33
  * @date 2026-10-28 v5 B4: `GET /<type>/fields/admin` reports the field lists (local or direct invoke only).
34
+ * @date 2026-10-30 v5 B14: the `fields/admin` gate reads `context.channel` (not `domain`).
34
35
  * @date 2026-10-28 v5 B4: `fields/admin` self-check uses the shared `checkFieldsAdmin()`.
36
+ * @date 2026-10-30 v5 B13: handlers pass `{ useSession, policy }` to `canDo`, `doList` checks `list`, bulk in 2 phases.
35
37
  *
36
38
  * @copyright (C) 2022 LemonCloud Co Ltd. - All Rights Reserved.
37
39
  * @origin `@lemoncloud/lemon-templates-api/cores`
@@ -134,6 +136,18 @@ class AbstractCRUDController extends controllers_1.GeneralWEBController {
134
136
  get confThrowable() {
135
137
  return this.options?.throwable ?? true;
136
138
  }
139
+ /**
140
+ * v5 B13: access scopes of this controller (override this getter to compute them).
141
+ */
142
+ get confPolicy() {
143
+ return this.options?.policy;
144
+ }
145
+ /**
146
+ * v5 B13: the `canDo()` options of the CRUD handlers - session switch and policy of this controller.
147
+ */
148
+ canDoOptions(errScope, options) {
149
+ return { errScope, useSession: this.confUseSession, policy: this.confPolicy, ...options };
150
+ }
137
151
  /**
138
152
  * model transformer from model to view
139
153
  */
@@ -159,7 +173,8 @@ class AbstractCRUDController extends controllers_1.GeneralWEBController {
159
173
  async makeModelBase(proxy, options) {
160
174
  const parent = options?.parent ?? null;
161
175
  const useSession = options?.useSession ?? this.confUseSession;
162
- const throwable = options?.throwable ?? this.confThrowable;
176
+ //* v5 B13: an admin without a session (IAM SigV4, `roles: ['admin']` claim) creates without `403 IDENTITY-TOKEN`.
177
+ const throwable = options?.throwable ?? (this.confThrowable && !(useSession && proxy.hasAdminRole()));
163
178
  const $model = (0, test_helper_1.onlyDefined)({
164
179
  type: this.manager.type,
165
180
  });
@@ -242,7 +257,12 @@ class AbstractCRUDController extends controllers_1.GeneralWEBController {
242
257
  const model = param ? this.bodyToModel(param, true) : null; // could have all
243
258
  const useSession = this.confUseSession;
244
259
  const $prxy = proxy.getManagerProxy(this.modelType);
245
- const { $page, $param } = $prxy.packSearchParam(param, model, { useSession });
260
+ //* v5 B13: the caller may list at all (guest, no session, empty `sid`/`uid` → 403), session on only.
261
+ if (useSession && !$prxy.canDo('list', undefined, this.canDoOptions(errScope)))
262
+ throw new Error(`403 NOT ALLOWED - action[list] is invalid @${errScope}`);
263
+ //* v5 B13: pin the rows per the effective `list` scope (the same merge as `canDo`).
264
+ const scope = useSession ? $prxy.effectivePolicy(this.confPolicy).list : undefined;
265
+ const { $page, $param } = $prxy.packSearchParam(param, model, { useSession, scope, errScope });
246
266
  (0, engine_1._log)(this.logNS, `>> $param =`, engine_1.$U.json($param));
247
267
  //* search from manager.
248
268
  const $res = await this.manager.list($page, $param);
@@ -317,15 +337,15 @@ class AbstractCRUDController extends controllers_1.GeneralWEBController {
317
337
  };
318
338
  /**
319
339
  * v5 B4: report the manager's field list (`GET /<type>/fields/admin`) to verify it in Lambda too.
320
- * - allowed only by channel: local express (`$U.isLocalMode()`) or an internal request (empty `$ctx.domain`).
321
- * - internal = no `host` header (direct `lambda:Invoke`, see `isExternal()`); `packContext()` then leaves
322
- * `domain` empty, so the empty `domain` is the signal here (`NextContext` has no external flag).
340
+ * - v5 B14: allowed only when `$ctx.channel !== 'external'` (set once by the entry: `local` for the local
341
+ * express, `internal` for a host-less invoke or a protocol call). `domain` is information only, never the gate.
323
342
  * - no admin role is required: a direct invoke is already gated by IAM `lambda:InvokeFunction`.
324
343
  */
325
344
  async doGetAdminFields($ctx, errScope) {
326
345
  const local = engine_1.$U.isLocalMode();
346
+ //* `runtime.external` keeps reporting the request domain (information, unchanged).
327
347
  const external = !!`${$ctx?.domain ?? ''}`.trim();
328
- if (!local && external)
348
+ if ($ctx?.channel === 'external')
329
349
  throw new Error(`403 NOT ALLOWED - fields/admin is local or direct-invoke only @${errScope}`);
330
350
  //* the lists: L2 core (16), the manager's full list, and the model-specific rest.
331
351
  const core = (0, lemon_model_2.fieldsOf)(lemon_model_1.CoreModel);
@@ -380,7 +400,8 @@ class AbstractCRUDController extends controllers_1.GeneralWEBController {
380
400
  const model = await $prxy.get(id, false);
381
401
  if (!model?.id)
382
402
  throw new Error(`404 NOT FOUND - not found @${errScope}`);
383
- if (!proxy.canDo('read', model, { errScope }))
403
+ //* v5 B13: session switch and policy of this controller.
404
+ if (!proxy.canDo('read', model, this.canDoOptions(errScope)))
384
405
  return null; // no permission to read.
385
406
  // STEP.2 returns as view.
386
407
  if (model?.deletedAt > 0)
@@ -420,7 +441,8 @@ class AbstractCRUDController extends controllers_1.GeneralWEBController {
420
441
  throw new Error(`.type (ModelType) is missing - ${errScope}`); // confirm type explicitly.
421
442
  const $prxy = proxy.getManagerProxy(this.modelType);
422
443
  const $valid = await $prxy.validateModel(toCreate, null);
423
- if (!proxy.canDo('create', { ...$valid, ...$base }, { errScope }))
444
+ //* v5 B13: session switch and policy of this controller.
445
+ if (!proxy.canDo('create', { ...$valid, ...$base }, this.canDoOptions(errScope)))
424
446
  return null; // no permission to create.
425
447
  const $saves = await $prxy.onBeforeSave($valid, null);
426
448
  const $saved = await $prxy.makeModel({ ...$saves, ...$base }, false); //WARN! - already validated.
@@ -458,9 +480,17 @@ class AbstractCRUDController extends controllers_1.GeneralWEBController {
458
480
  if (!$base.type)
459
481
  throw new Error(`.type (ModelType) is missing - ${errScope}`); // confirm type explicitly.
460
482
  const $prxy = proxy.getManagerProxy(this.modelType);
461
- const _can = (model) => proxy.canDo('create', { ...model, ...$base }, { errScope });
462
- const $valid = await Promise.all(models.map(N => $prxy.validateModel(N, null).then(N => (_can(N) ? N : null))));
463
- //* only for all validated models.
483
+ //* v5 B13 phase 1: validate every item and collect the denied ones (`false` counts as denied), no write.
484
+ const $valid = await Promise.all(models.map(N => $prxy.validateModel(N, null)));
485
+ const $opts = this.canDoOptions(errScope, { throwable: false });
486
+ const denied = $valid.reduce((L, N, i) => {
487
+ if (!proxy.canDo('create', { ...N, ...$base }, $opts))
488
+ L.push(N?.id ? `${N.id}` : `#${i}`);
489
+ return L;
490
+ }, []);
491
+ if (denied.length)
492
+ throw new Error(`403 NOT ALLOWED - bulk[create] denied ids[${denied.join(',')}] @${errScope}`);
493
+ //* v5 B13 phase 2: every item passed, so write them all.
464
494
  const filtered = await (0, helpers_1.my_sequence)($valid, async (validated) => {
465
495
  const filtered = await $prxy.onBeforeSave(validated, null);
466
496
  const created = await $prxy.makeModel({ ...filtered, ...$base }, false); //WARN! - already validated.
@@ -496,7 +526,8 @@ class AbstractCRUDController extends controllers_1.GeneralWEBController {
496
526
  throw new Error(`404 NOT FOUND - not found @${errScope}`);
497
527
  if ($org?.deletedAt)
498
528
  throw new Error(`404 NOT FOUND - deleted @${errScope}`);
499
- if (!proxy.canDo('update', $org, { errScope }))
529
+ //* v5 B13: session switch and policy of this controller.
530
+ if (!proxy.canDo('update', $org, this.canDoOptions(errScope)))
500
531
  return null; // no permission to update.
501
532
  // STEP.3 validate and update.
502
533
  const $valid = await $prxy.validateModel(toUpdate, id);
@@ -531,6 +562,10 @@ class AbstractCRUDController extends controllers_1.GeneralWEBController {
531
562
  const $prxy = proxy.getManagerProxy(this.modelType);
532
563
  if (!$prxy)
533
564
  throw new Error(`.model-type[${this.modelType}] is required - ${errScope}`);
565
+ //* v5 B13: a session-less non-admin caller keeps the `403 IDENTITY-TOKEN` message (as the single handlers).
566
+ if (this.confUseSession && !proxy.hasAdminRole())
567
+ proxy.getCurrentSession({ throwable: this.confThrowable });
568
+ //* v5 B13 phase 1: load every stored row (404 first, current messages) and check it, no write.
534
569
  const _can = async (N, i) => {
535
570
  const errScope = `doPutBulk(${this.type()}:${i}/${N?.id ?? ''})`;
536
571
  const model = N?.id ? await $prxy.get(N?.id, false) : null;
@@ -538,12 +573,16 @@ class AbstractCRUDController extends controllers_1.GeneralWEBController {
538
573
  throw new Error(`404 NOT FOUND - not found @${errScope}`);
539
574
  if (model?.deletedAt)
540
575
  throw new Error(`404 NOT FOUND - deleted @${errScope}`);
541
- if (!proxy.canDo('update', model, { errScope }))
542
- return null; // no permission to update.
543
- // return model;
544
- return N; // 업데이트할 새 데이터를 반환 (기존 model이 아님)
576
+ const allowed = proxy.canDo('update', model, this.canDoOptions(errScope, { throwable: false }));
577
+ return { N, allowed }; // 업데이트할 새 데이터를 반환 (기존 model이 아님)
545
578
  };
546
- const list = await Promise.all(models.map(N => _can(N)));
579
+ const checked = await Promise.all(models.map((N, i) => _can(N, i)));
580
+ //* v5 B13: one denied row → 403 with every denied id, before any write.
581
+ const denied = checked.filter(C => !C.allowed).map(C => `${C.N?.id ?? ''}`);
582
+ if (denied.length)
583
+ throw new Error(`403 NOT ALLOWED - bulk[update] denied ids[${denied.join(',')}] @${errScope}`);
584
+ //* v5 B13 phase 2: every row passed, so write them all.
585
+ const list = checked.map(C => C.N);
547
586
  //* validate and update.
548
587
  const $res = await (0, helpers_1.my_parrallel)(list, async (model, i) => {
549
588
  if (!model?.id)
@@ -588,8 +627,9 @@ class AbstractCRUDController extends controllers_1.GeneralWEBController {
588
627
  throw new Error(`404 NOT FOUND - not found @${errScope}`);
589
628
  if (!destroy && model?.deletedAt)
590
629
  throw new Error(`404 NOT FOUND - deleted @${errScope}`);
591
- if (!proxy.canDo('delete', model, { errScope }))
592
- return null; // no permission to update.
630
+ //* v5 B13: session switch and policy of this controller.
631
+ if (!proxy.canDo('delete', model, this.canDoOptions(errScope)))
632
+ return null; // no permission to delete.
593
633
  const deleted = await $prxy.$mgr.delete(id, isLocal && destroy);
594
634
  const $final = await $prxy.onAfterSave(null, deleted);
595
635
  return this.modelAsView($final || deleted);
@@ -1 +1 @@
1
- {"version":3,"file":"abstract-controllers.js","sourceRoot":"","sources":["../../../src/extended/cores/abstract-controllers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"abstract-controllers.js","sourceRoot":"","sources":["../../../src/extended/cores/abstract-controllers.ts"],"names":[],"mappings":"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"}