lemon-core 4.3.0 → 5.0.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 (160) hide show
  1. package/README.md +127 -2
  2. package/dist/common/lemon-error.d.ts +34 -0
  3. package/dist/common/lemon-error.js +52 -0
  4. package/dist/common/lemon-error.js.map +1 -0
  5. package/dist/controllers/general-api-controller.d.ts +7 -0
  6. package/dist/controllers/general-api-controller.js +7 -0
  7. package/dist/controllers/general-api-controller.js.map +1 -1
  8. package/dist/cores/api/api-service.js +10 -43
  9. package/dist/cores/api/api-service.js.map +1 -1
  10. package/dist/cores/aws/aws-kms-service.d.ts +13 -5
  11. package/dist/cores/aws/aws-kms-service.js +23 -9
  12. package/dist/cores/aws/aws-kms-service.js.map +1 -1
  13. package/dist/cores/aws/aws-s3-service.d.ts +30 -4
  14. package/dist/cores/aws/aws-s3-service.js +35 -15
  15. package/dist/cores/aws/aws-s3-service.js.map +1 -1
  16. package/dist/cores/aws/aws-sns-service.js +59 -9
  17. package/dist/cores/aws/aws-sns-service.js.map +1 -1
  18. package/dist/cores/aws/aws-sqs-service.d.ts +1 -1
  19. package/dist/cores/aws/aws-sqs-service.js +54 -12
  20. package/dist/cores/aws/aws-sqs-service.js.map +1 -1
  21. package/dist/cores/cache/cache-service.d.ts +10 -9
  22. package/dist/cores/cache/cache-service.js +9 -346
  23. package/dist/cores/cache/cache-service.js.map +1 -1
  24. package/dist/cores/config/config-service.d.ts +3 -15
  25. package/dist/cores/config/config-service.js +5 -34
  26. package/dist/cores/config/config-service.js.map +1 -1
  27. package/dist/cores/dynamo/dynamo-query-service.js +42 -2
  28. package/dist/cores/dynamo/dynamo-query-service.js.map +1 -1
  29. package/dist/cores/dynamo/dynamo-scan-service.js +42 -2
  30. package/dist/cores/dynamo/dynamo-scan-service.js.map +1 -1
  31. package/dist/cores/dynamo/dynamo-service.d.ts +45 -14
  32. package/dist/cores/dynamo/dynamo-service.js +48 -21
  33. package/dist/cores/dynamo/dynamo-service.js.map +1 -1
  34. package/dist/cores/dynamo/tools/expressions.js +32 -22
  35. package/dist/cores/dynamo/tools/expressions.js.map +1 -1
  36. package/dist/cores/dynamo/tools/lang.d.ts +30 -0
  37. package/dist/cores/dynamo/tools/lang.js +75 -0
  38. package/dist/cores/dynamo/tools/lang.js.map +1 -0
  39. package/dist/cores/dynamo/tools/query.js +20 -21
  40. package/dist/cores/dynamo/tools/query.js.map +1 -1
  41. package/dist/cores/dynamo/tools/scan.js +15 -16
  42. package/dist/cores/dynamo/tools/scan.js.map +1 -1
  43. package/dist/cores/dynamo/tools/serializer.js +40 -38
  44. package/dist/cores/dynamo/tools/serializer.js.map +1 -1
  45. package/dist/cores/dynamo/tools/utils.d.ts +6 -2
  46. package/dist/cores/dynamo/tools/utils.js +11 -8
  47. package/dist/cores/dynamo/tools/utils.js.map +1 -1
  48. package/dist/cores/elastic/elastic6-query-service.d.ts +1 -104
  49. package/dist/cores/elastic/elastic6-query-service.js +15 -489
  50. package/dist/cores/elastic/elastic6-query-service.js.map +1 -1
  51. package/dist/cores/elastic/elastic6-service.d.ts +1 -482
  52. package/dist/cores/elastic/elastic6-service.js +15 -1153
  53. package/dist/cores/elastic/elastic6-service.js.map +1 -1
  54. package/dist/cores/elastic/index.d.ts +2 -2
  55. package/dist/cores/elastic/index.js +3 -2
  56. package/dist/cores/elastic/index.js.map +1 -1
  57. package/dist/cores/elastic/os2-query-service.d.ts +104 -0
  58. package/dist/cores/elastic/os2-query-service.js +495 -0
  59. package/dist/cores/elastic/os2-query-service.js.map +1 -0
  60. package/dist/cores/elastic/os2-service.d.ts +372 -0
  61. package/dist/cores/elastic/os2-service.js +943 -0
  62. package/dist/cores/elastic/os2-service.js.map +1 -0
  63. package/dist/cores/index.d.ts +6 -1
  64. package/dist/cores/index.js +9 -2
  65. package/dist/cores/index.js.map +1 -1
  66. package/dist/cores/lambda/index.js +2 -1
  67. package/dist/cores/lambda/index.js.map +1 -1
  68. package/dist/cores/lambda/lambda-cron-handler.d.ts +1 -0
  69. package/dist/cores/lambda/lambda-cron-handler.js +5 -1
  70. package/dist/cores/lambda/lambda-cron-handler.js.map +1 -1
  71. package/dist/cores/lambda/lambda-dynamo-stream-handler.d.ts +5 -4
  72. package/dist/cores/lambda/lambda-dynamo-stream-handler.js +18 -5
  73. package/dist/cores/lambda/lambda-dynamo-stream-handler.js.map +1 -1
  74. package/dist/cores/lambda/lambda-handler.d.ts +22 -2
  75. package/dist/cores/lambda/lambda-handler.js +85 -23
  76. package/dist/cores/lambda/lambda-handler.js.map +1 -1
  77. package/dist/cores/lambda/lambda-sns-handler.d.ts +1 -0
  78. package/dist/cores/lambda/lambda-sns-handler.js +5 -0
  79. package/dist/cores/lambda/lambda-sns-handler.js.map +1 -1
  80. package/dist/cores/lambda/lambda-sqs-handler.d.ts +1 -0
  81. package/dist/cores/lambda/lambda-sqs-handler.js +20 -5
  82. package/dist/cores/lambda/lambda-sqs-handler.js.map +1 -1
  83. package/dist/cores/lambda/lambda-web-handler.d.ts +10 -0
  84. package/dist/cores/lambda/lambda-web-handler.js +107 -41
  85. package/dist/cores/lambda/lambda-web-handler.js.map +1 -1
  86. package/dist/cores/protocol/aws-lambda-helper.js +58 -11
  87. package/dist/cores/protocol/aws-lambda-helper.js.map +1 -1
  88. package/dist/cores/protocol/index.js +3 -0
  89. package/dist/cores/protocol/index.js.map +1 -1
  90. package/dist/cores/protocol/protocol-service.d.ts +26 -5
  91. package/dist/cores/protocol/protocol-service.js +42 -12
  92. package/dist/cores/protocol/protocol-service.js.map +1 -1
  93. package/dist/cores/protocol/protocol-sign.d.ts +72 -0
  94. package/dist/cores/protocol/protocol-sign.js +194 -0
  95. package/dist/cores/protocol/protocol-sign.js.map +1 -0
  96. package/dist/cores/storage/index.d.ts +0 -1
  97. package/dist/cores/storage/index.js +0 -1
  98. package/dist/cores/storage/index.js.map +1 -1
  99. package/dist/cores/storage/model-fields.d.ts +7 -0
  100. package/dist/cores/storage/model-fields.js +21 -0
  101. package/dist/cores/storage/model-fields.js.map +1 -0
  102. package/dist/cores/storage/model-manager.d.ts +3 -2
  103. package/dist/cores/storage/model-manager.js +7 -3
  104. package/dist/cores/storage/model-manager.js.map +1 -1
  105. package/dist/engine/builder.js +20 -2
  106. package/dist/engine/builder.js.map +1 -1
  107. package/dist/engine/engine.d.ts +2 -2
  108. package/dist/engine/engine.js +4 -4
  109. package/dist/engine/engine.js.map +1 -1
  110. package/dist/engine/utilities.d.ts +11 -12
  111. package/dist/engine/utilities.js +30 -82
  112. package/dist/engine/utilities.js.map +1 -1
  113. package/dist/environ.d.ts +0 -6
  114. package/dist/environ.js +1 -12
  115. package/dist/environ.js.map +1 -1
  116. package/dist/esm/index.mjs +140 -0
  117. package/dist/esm/testing.mjs +12 -0
  118. package/dist/extended/abstract-service.d.ts +48 -139
  119. package/dist/extended/abstract-service.js +46 -382
  120. package/dist/extended/abstract-service.js.map +1 -1
  121. package/dist/extended/cores/abstract-controllers.js +7 -7
  122. package/dist/extended/cores/abstract-controllers.js.map +1 -1
  123. package/dist/extended/cores/abstract-rest-apis.d.ts +2 -1
  124. package/dist/extended/cores/abstract-rest-apis.js +2 -1
  125. package/dist/extended/cores/abstract-rest-apis.js.map +1 -1
  126. package/dist/extended/cores/abstract-services.d.ts +48 -87
  127. package/dist/extended/cores/abstract-services.js +105 -244
  128. package/dist/extended/cores/abstract-services.js.map +1 -1
  129. package/dist/extended/cores/commons.d.ts +4 -113
  130. package/dist/extended/cores/commons.js +26 -180
  131. package/dist/extended/cores/commons.js.map +1 -1
  132. package/dist/extended/cores/types.d.ts +3 -225
  133. package/dist/extended/cores/types.js +28 -0
  134. package/dist/extended/cores/types.js.map +1 -1
  135. package/dist/helpers/helpers.d.ts +10 -5
  136. package/dist/helpers/helpers.js +46 -58
  137. package/dist/helpers/helpers.js.map +1 -1
  138. package/dist/helpers/types.d.ts +22 -10
  139. package/dist/index.d.ts +1 -5
  140. package/dist/index.js +8 -14
  141. package/dist/index.js.map +1 -1
  142. package/dist/lib/http-fetch.d.ts +54 -0
  143. package/dist/lib/http-fetch.js +133 -0
  144. package/dist/lib/http-fetch.js.map +1 -0
  145. package/dist/lib/lazy.d.ts +22 -0
  146. package/dist/lib/lazy.js +54 -0
  147. package/dist/lib/lazy.js.map +1 -0
  148. package/dist/lib/perf.d.ts +35 -0
  149. package/dist/lib/perf.js +52 -0
  150. package/dist/lib/perf.js.map +1 -0
  151. package/dist/tools/tools.d.ts +15 -3
  152. package/dist/tools/tools.js +21 -4
  153. package/dist/tools/tools.js.map +1 -1
  154. package/package.json +96 -39
  155. package/dist/cores/storage/redis-storage-service.d.ts +0 -183
  156. package/dist/cores/storage/redis-storage-service.js +0 -377
  157. package/dist/cores/storage/redis-storage-service.js.map +0 -1
  158. package/dist/generated/field-registry.d.ts +0 -12
  159. package/dist/generated/field-registry.js +0 -21
  160. package/dist/generated/field-registry.js.map +0 -1
@@ -1,185 +1,31 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.$T = exports.onlyDefined = void 0;
4
- exports.parseListParam = parseListParam;
5
- exports.parsePaginateParam = parsePaginateParam;
6
- const helpers_1 = require("../../helpers/");
7
- const engine_1 = require("../../engine/");
8
- /** local copy of legacy `$T.B` — keep decoupled: L1 `$T.B` semantics differ across version lines (4.2.x returns boolean). */
9
- const _B = (val, def = 0) => {
10
- if (val === null || val === undefined)
11
- return def;
12
- if (typeof val === 'boolean')
13
- return val ? 1 : 0;
14
- if (typeof val === 'string' && ['y', 'yes', 't', 'true'].includes(val.toLowerCase()))
15
- return 1;
16
- return engine_1.$U.N(val, def) && 1;
17
- };
3
+ exports.onlyDefined = exports.parsePaginateParam = exports.parseListParam = exports.$T = void 0;
18
4
  /**
19
- * extract only the defined attribute.
20
- * ex) `{ a:1, b: undefined }` -> `{ a:1 }`
5
+ * `commons.ts`
6
+ * - common tools to export.
7
+ *
8
+ * @author Steve <steve@lemoncloud.io>
9
+ * @date 2022-11-01 optimized w/ `commons`
10
+ * @date 2024-06-24 optimized `parseListParam()`
11
+ * @date 2025-01-03 optimized `parseListParam()` w/ `offset`
12
+ * @date 2025-05-25 optimized `$T.N()` + `parsePaginateParam()` w/ `noLimit` option
13
+ * @date 2025-07-31 optimized `$T.B()` for boolean conversion.
14
+ * @date 2026-02-09 optimized `$T.F()` to keep the original function.
15
+ * @date 2026-04-10 optimized `types` to fix ts warning.
16
+ * @date 2026-10-28 v5 B3: re-exports only — each name has one definition below `extended/cores`.
17
+ *
18
+ * @copyright (C) 2022 LemonCloud Co Ltd. - All Rights Reserved.
19
+ * @origin `@lemoncloud/lemon-templates-api/cores`
21
20
  */
22
- const onlyDefined = (N) => N && typeof N === 'object'
23
- ? Object.entries(N).reduce((N, [k, v]) => {
24
- if (v !== undefined)
25
- N[k] = v;
26
- return N;
27
- }, {})
28
- : null;
29
- exports.onlyDefined = onlyDefined;
30
- /**
31
- * list param parser
32
- * @param param
33
- */
34
- function parseListParam(param, $def) {
35
- return (0, exports.onlyDefined)({
36
- sort: param?.sort !== undefined ? helpers_1.$T.S2(param?.sort, '') : '',
37
- limit: helpers_1.$T.N(param?.limit, $def?.limit ?? 10),
38
- });
39
- }
40
- /**
41
- * paginate param parser
42
- */
43
- function parsePaginateParam(param,
44
- /** default value or conditions */
45
- options) {
46
- const limit = options?.limit;
47
- const page = options?.page ?? 0;
48
- const res = (0, exports.onlyDefined)({
49
- ...parseListParam(param, { limit }),
50
- page: helpers_1.$T.N(param?.page, page),
51
- offset: param?.offset !== undefined ? helpers_1.$T.N(param?.offset, 0) : undefined,
52
- });
53
- const noLimit = options?.noLimit ?? res.limit == -1;
54
- const MAX_LIMIT = exports.$T.N(engine_1.$U.env('MAX_LIMIT', '2000'));
55
- if (MAX_LIMIT <= 0)
56
- throw new Error(`@env.MAX_LIMIT[${MAX_LIMIT}] (number) is invalid!`);
57
- //WARN! - limit the max result to 2000.
58
- if (!noLimit) {
59
- const limit = exports.$T.N(res?.limit ?? 0, 0);
60
- const page = exports.$T.N(res?.page ?? 0, 0);
61
- const maxPage = limit > 0 ? Math.floor(Math.min(limit * page, MAX_LIMIT) / limit) : MAX_LIMIT;
62
- res.page = Math.min(page, maxPage);
63
- }
64
- else {
65
- res.limit = MAX_LIMIT;
66
- res.page = 0;
67
- }
68
- //* returns.
69
- return res;
70
- }
71
- /**
72
- * common tools for transformer.
73
- * - extends the original `$T` in lemon-core.
74
- */
75
- exports.$T = {
76
- ...helpers_1.$T,
77
- /** clear white-spaces and trim */
78
- S2: (v, def) => helpers_1.$T.S2(v, def, ' ').trim(),
79
- /** array string with clear white-spaces and trim */
80
- SS: (v) => (v && Array.isArray(v) ? v : helpers_1.$T.SS(v)).map(v => helpers_1.$T.S2(v, '', ' ').trim()),
81
- /** remove duplicates from string array using reduce */
82
- US: (arr) => arr?.reduce((acc, v) => {
83
- if (!acc.includes(v))
84
- acc.push(v);
85
- return acc;
86
- }, []) ?? [],
87
- /** convert to `boolean`. */
88
- B: (v, def) => typeof v === 'boolean'
89
- ? v
90
- : typeof v === 'number' || typeof v === 'string'
91
- ? Boolean(exports.$T.BN(v, typeof def === 'boolean' ? (def ? 1 : 0) : def))
92
- : Boolean(def),
93
- /** convert to boolean style number. */
94
- BN: (v, def) => (v === undefined ? def : _B(v, def)),
95
- /** convert to `number` */
96
- N: (v, def = 0) => typeof v === 'boolean' ? (v ? 1 : 0) : typeof v === 'number' || typeof v === 'string' ? helpers_1.$T.N(v, def) : def,
97
- // /** convert to `float` w/ fixed(3) */
98
- // F: (n: number, def?: number) => _T.F3(n, def),
99
- /** cleanup if in undefined */
100
- clear: (N) => Object.entries(N).reduce((N, [k, v]) => {
101
- if (v !== undefined)
102
- N[k] = v;
103
- return N;
104
- }, {}),
105
- /** null to string */
106
- nul2str: (v) => {
107
- if (v === undefined)
108
- return undefined;
109
- return helpers_1.$T.S(v ?? '');
110
- },
111
- /**
112
- * find key in LUT table.
113
- */
114
- asLut: (key, $map, options) => {
115
- const $opts = typeof options === 'string' ? { name: options } : options;
116
- const name = $opts?.name ?? 'name';
117
- const throwable = $opts?.throwable ?? true;
118
- const _def = $opts?.default ?? null;
119
- const errScope = $opts?.errScope ?? `asLut(${name ?? ''})`;
120
- //* check of empty.
121
- if (key === undefined)
122
- return undefined;
123
- if (key === null)
124
- return _def;
125
- //* check if key is defined.
126
- if (typeof $map[key] === 'undefined') {
127
- //* lookup by value.
128
- const foundEntry = Object.entries($map).find(([k, v]) => v === key);
129
- if (foundEntry)
130
- return foundEntry[0];
131
- //! throw or default
132
- if (!throwable)
133
- return _def;
134
- if (errScope)
135
- throw new Error(`.${name}[${key}] is invalid key - ${errScope}`);
136
- throw new Error(`.${name}[${key}] is invalid!`);
137
- }
138
- return key;
139
- },
140
- /**
141
- * pack as meta in general-type.
142
- */
143
- asMeta: (body, options) => {
144
- const errScope = options?.errScope ?? '';
145
- if (!body)
146
- return {};
147
- if (typeof body !== 'object')
148
- throw new Error(`@body (object) is required ${errScope}`.trim());
149
- const isVal = (v) => typeof v === 'number' || typeof v === 'string';
150
- const res = Object.entries(body).reduce((R, [k, v]) => {
151
- if (isVal(v))
152
- R[k] = v;
153
- else if (v && Array.isArray(v))
154
- R[k] = v.filter(v => isVal(v));
155
- return R;
156
- }, {});
157
- return res;
158
- },
159
- /**
160
- * reduce aggregation from ES6
161
- * NOTE - 이거 반드시 최신꺼로 업데이트 필요함 @steve/250212
162
- */
163
- reduceAggr: ($aggr) => Object.keys($aggr).reduce((M, key) => {
164
- const N = $aggr[key];
165
- if (key == 'doc_count' && typeof N == 'number') {
166
- M['doc_count'] = { total: N };
167
- return M;
168
- }
169
- M[key] = Object.keys(N).reduce((M, x) => {
170
- const Y = N[x];
171
- if (x == 'doc_count')
172
- M['total'] = exports.$T.N(Y, 0);
173
- if (x == 'buckets' && Array.isArray(Y))
174
- return Y.reduce((M, N) => {
175
- if (typeof N?.key === 'string' && typeof N?.doc_count === 'number') {
176
- M[N?.key] = N.doc_count;
177
- }
178
- return M;
179
- }, M);
180
- return M;
181
- }, {});
182
- return M;
183
- }, {}),
184
- };
21
+ //* v5 B3: the single `$T` (32 members) lives in `helpers/helpers.ts`; re-exported to keep the L2 barrel and deep path.
22
+ var helpers_1 = require("../../helpers/");
23
+ Object.defineProperty(exports, "$T", { enumerable: true, get: function () { return helpers_1.$T; } });
24
+ //* v5 B3: the parsers were verbatim copies of the `helpers/helpers.ts` ones; re-exported for the same reason.
25
+ var helpers_2 = require("../../helpers/");
26
+ Object.defineProperty(exports, "parseListParam", { enumerable: true, get: function () { return helpers_2.parseListParam; } });
27
+ Object.defineProperty(exports, "parsePaginateParam", { enumerable: true, get: function () { return helpers_2.parsePaginateParam; } });
28
+ //* v5 B3: the copy was text-identical to the test-helper one (the root already used that); re-exported.
29
+ var test_helper_1 = require("../../common/test-helper");
30
+ Object.defineProperty(exports, "onlyDefined", { enumerable: true, get: function () { return test_helper_1.onlyDefined; } });
185
31
  //# sourceMappingURL=commons.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"commons.js","sourceRoot":"","sources":["../../../src/extended/cores/commons.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commons.js","sourceRoot":"","sources":["../../../src/extended/cores/commons.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,uHAAuH;AACvH,0CAAoC;AAA3B,6FAAA,EAAE,OAAA;AACX,8GAA8G;AAC9G,0CAAoE;AAA3D,yGAAA,cAAc,OAAA;AAAE,6GAAA,kBAAkB,OAAA;AAC3C,wGAAwG;AACxG,wDAAuD;AAA9C,0GAAA,WAAW,OAAA"}
@@ -4,233 +4,11 @@
4
4
  *
5
5
  * @author Steve <steve@lemoncloud.io>
6
6
  * @date 2022-06-21 optimized w/ `abstract-services`
7
- * @date 2022-06-28 added `Codable` interface for general types.
8
- * @date 2023-01-18 optimized with `lemon-core@3.2.4`
9
- * @date 2023-02-15 optimized with `lemon-core@3.2.5`
10
7
  * @date 2024-11-14 optimized `IdentityToken`.
8
+ * @date 2026-10-28 v5 B3: re-export only — the single definition lives in `helpers/types.ts`.
11
9
  *
12
10
  * @copyright (C) 2022 LemonCloud Co Ltd. - All Rights Reserved.
13
11
  * @origin `@lemoncloud/lemon-templates-api/cores`
14
12
  */
15
- import { NextIdentity, CoreModel, View, Body } from 'lemon-model';
16
- export type { CoreModel, View, Body };
17
- /** type: `IdentityTokenSite` */
18
- export interface IdentityTokenSite {
19
- /** site-code (ex: kwonsun) */
20
- code?: string;
21
- /** name of site (ex: 권선) */
22
- name?: string;
23
- }
24
- /** type: `IdentityTokenUser` */
25
- export interface IdentityTokenUser {
26
- /** name of user (ex: 홍길동) */
27
- name?: string;
28
- /** nick of user (ex: 홍사마) */
29
- nick?: string;
30
- /** (optional) login-id of user */
31
- login?: string;
32
- /** (optional) email of user */
33
- email?: string;
34
- }
35
- /** type: `IdentityTokenGroup` */
36
- export interface IdentityTokenGroup {
37
- /** site-code (ex: kwonsun) */
38
- code?: string;
39
- /** name of site (ex: 권선) */
40
- name?: string;
41
- }
42
- /**
43
- * type: `IdentityToken` (named as `session`)
44
- * - 계정토큰(= JWT(IdentityToken))으로, `/refresh`시 AWS Key와 함께 발급됨 (기본, 1일동안 유효함)
45
- * - `backend-api`에서 조직/그룹/사용자에 맞게 재설정됨!
46
- * - 세션토큰 검사는 `proxy.getCurrentSession()` 이용하기
47
- */
48
- export interface IdentityToken<T = any, U extends IdentityTokenUser = IdentityTokenUser, S extends IdentityTokenSite = IdentityTokenSite, G extends IdentityTokenGroup = IdentityTokenGroup> extends NextIdentity<T> {
49
- /**
50
- * cloud-id (= id in `AWS ACCOUNT_NO`)
51
- * - `#` 일경우, 무시됨.
52
- * - aws 계정 수준의 cloud-id
53
- */
54
- cid: string;
55
- /**
56
- * site-id (= id in `SiteModel(사이트)`)
57
- * - `#` 일경우, 특정 site에 엮이지 않음 (무시됨)
58
- * - `0000` 일경우, 기본 site 정보로 환경설정에 따름
59
- * - 메인 `backend-api` (see `.iss`)에서 관리되는 `site-model`의 id
60
- *
61
- * @see SiteModel
62
- */
63
- sid: string;
64
- /**
65
- * group-id (= id in `GroupModel(그룹)`)
66
- * - `group`은 `user`를 물리적 구분으로 나눠서 생각해볼때 이용가능함.
67
- *
68
- * @see GroupModel
69
- */
70
- gid: string;
71
- /**
72
- * user-id (= id in `UserModel(유저)`)
73
- * - 메인 `backend-api` (see `.iss`)에서 관리되는 `user-model`의 id.
74
- *
75
- * @see UserModel
76
- */
77
- uid: string;
78
- /**
79
- * auth-id (= id in `AuthModel(인정정보)`)
80
- * - 메인 `backend-api` (see `.iss`)에서 관리되는 `auth-model`의 id.
81
- * - 인증 정보를 통해서, 로그인의 추가 상세 정보를 알 수 있음.
82
- *
83
- * @see AuthModel
84
- */
85
- aid: string;
86
- /**
87
- * (optional) delegator-id (= 위임된 게스트 User ID)
88
- * - **중계서버(`backend-api`)에서만 유효한 필드.** 다른 시스템(socials 등)은 이 필드를 신뢰하지 말 것.
89
- * - 소셜 로그인 세션에서 원본 디바이스 게스트 User ID를 가리킴 (= `AuthModel.linkUserId`).
90
- * - 채팅(개인 채팅방) 도메인은 본 신원이 아닌 `did`를 채택하여 게스트의 데이터를 그대로 이용함.
91
- * - 게스트 세션이거나 위임이 없을 때는 `undefined`.
92
- */
93
- did?: string;
94
- /**
95
- * list of roles (like `user`, `admin`, `super`)
96
- */
97
- roles: string[];
98
- /**
99
- * (optional) internal `identity-id` (= delegated identity)
100
- * - `.identityId` 는 aws cognito 인증을 통해서, 현재 인증된 `identity-id`를 알 수 있음
101
- * - 다만, `delegated`된 경우에는 위임된 id 가 들어감.
102
- *
103
- * @deprecated 삭제될 예정! @241114
104
- */
105
- iid?: string;
106
- /**
107
- * service-name of issuer
108
- * ex) `lemon-backend-api`
109
- */
110
- iss?: string;
111
- /** Site Info */
112
- Site: S;
113
- /** User Info */
114
- User: U;
115
- /** (optional) Group Info */
116
- Group?: G;
117
- }
118
- /**
119
- * type `ListResult`
120
- */
121
- export interface ListResult<T, R = any> {
122
- /**
123
- * total searched count
124
- */
125
- total?: number;
126
- /**
127
- * max items count in the page
128
- */
129
- limit?: number;
130
- /**
131
- * current page number.
132
- */
133
- page?: number;
134
- /**
135
- * (optional) time took in sec
136
- */
137
- took?: number;
138
- /**
139
- * items searched
140
- */
141
- list: T[];
142
- /**
143
- * (optional) aggr list
144
- */
145
- aggr?: R | R[];
146
- }
147
- export interface AggrResult {
148
- [key: string]: {
149
- [key: string]: number;
150
- };
151
- }
152
- export interface AggrKeyCount {
153
- /** name of key(or bucket name) */
154
- key: string;
155
- /** number of count */
156
- val: number;
157
- }
158
- /**
159
- * type `PaginatedListResult`
160
- */
161
- export interface PaginatedListResult<T, R = string> extends ListResult<T, R> {
162
- /**
163
- * current page
164
- */
165
- page: number;
166
- }
167
- /**
168
- * type `ListParam`
169
- */
170
- export interface ListParam {
171
- /**
172
- * max items count to be fetched
173
- */
174
- limit?: number;
175
- /**
176
- * (optional) sorting order
177
- * - 'asc': older first
178
- * - 'desc': newer first
179
- * - string: extended sorting features
180
- */
181
- sort?: 'asc' | 'desc' | string;
182
- }
183
- /**
184
- * type `PaginateParam`
185
- */
186
- export interface PaginateParam extends ListParam {
187
- /**
188
- * page # to fetch (0-indexed)
189
- */
190
- page?: number;
191
- /**
192
- * (optional) offset # from start.
193
- */
194
- offset?: number;
195
- /**
196
- * (optional) flag to filter by uid
197
- */
198
- uid?: string;
199
- /**
200
- * (optional) flag to filter by sid (only for admin role)
201
- */
202
- sid?: string;
203
- }
204
- /**
205
- * type `BulkUpdateBody`
206
- */
207
- export interface BulkUpdateBody<T> extends BulkBody<T> {
208
- /**
209
- * list bulk update model with id
210
- */
211
- list: T[];
212
- }
213
- /**
214
- * body data for bulk
215
- */
216
- export interface BulkBody<T> {
217
- list: T[];
218
- }
219
- /**
220
- * list of the selected model-id
221
- */
222
- export interface BodyList<T extends {
223
- id: string;
224
- } = {
225
- id: string;
226
- }> {
227
- list: T[];
228
- }
229
- /**
230
- * type `BulkItemsResult`
231
- */
232
- export interface BulkItemsResult {
233
- success: number;
234
- failed: number;
235
- failedItems: any[];
236
- }
13
+ export * from '../../helpers/types';
14
+ export type { CoreModel, View, Body } from 'lemon-model';
@@ -1,3 +1,31 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ /**
18
+ * `types.ts`
19
+ * - common types used in `/cores`
20
+ *
21
+ * @author Steve <steve@lemoncloud.io>
22
+ * @date 2022-06-21 optimized w/ `abstract-services`
23
+ * @date 2024-11-14 optimized `IdentityToken`.
24
+ * @date 2026-10-28 v5 B3: re-export only — the single definition lives in `helpers/types.ts`.
25
+ *
26
+ * @copyright (C) 2022 LemonCloud Co Ltd. - All Rights Reserved.
27
+ * @origin `@lemoncloud/lemon-templates-api/cores`
28
+ */
29
+ //* v5 B3: keeps the deep path `dist/extended/cores/types` and the L2 barrel names; one definition (`helpers/types.ts`).
30
+ __exportStar(require("../../helpers/types"), exports);
3
31
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/extended/cores/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/extended/cores/types.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;GAWG;AACH,wHAAwH;AACxH,sDAAoC"}
@@ -8,6 +8,7 @@
8
8
  * @date 2021-12-21 protocol support `//self` url.
9
9
  * @date 2021-12-23 optimize types of $protocol.
10
10
  * @date 2022-03-17 addition text processing. (S2, P)
11
+ * @date 2026-10-28 v5 B3: single `$T` (L1/L2 merged), single `parseListParam`/`parsePaginateParam`.
11
12
  *
12
13
  * @copyright (C) 2021 LemonCloud Co Ltd. - All Rights Reserved.
13
14
  */
@@ -45,13 +46,17 @@ export declare const $T: {
45
46
  */
46
47
  S: <T extends string = string>(val: any, def?: string) => T;
47
48
  /**
48
- * as string w/o white-space.
49
+ * clear white-spaces and trim.
49
50
  */
50
- S2: <T extends string = string>(val: any, def?: string, delim?: string) => T;
51
+ S2: <T extends string = string>(v?: any, def?: string) => T;
51
52
  /**
52
- * transform to string[]
53
+ * array string with clear white-spaces and trim
53
54
  */
54
- SS: <T extends string = string>(val: any, def?: T[]) => T[];
55
+ SS: <T extends string = string>(v?: any) => T[];
56
+ /**
57
+ * remove duplicates from string array using reduce
58
+ */
59
+ US: <T extends string = string>(arr: T[]) => T[];
55
60
  /**
56
61
  * text to Plain text (remove html tag)
57
62
  */
@@ -59,7 +64,7 @@ export declare const $T: {
59
64
  /**
60
65
  * transform to number(integer).
61
66
  */
62
- N: (v?: boolean | number | string, def?: number) => number;
67
+ N: (v: boolean | number | string | unknown, def?: number) => number;
63
68
  /**
64
69
  * number array
65
70
  */