lemon-core 3.0.0 → 3.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (189) hide show
  1. package/README.md +13 -21
  2. package/dist/common/test-helper.js +19 -11
  3. package/dist/common/test-helper.js.map +1 -1
  4. package/dist/controllers/dummy-controller.d.ts +1 -1
  5. package/dist/controllers/dummy-controller.js +2 -2
  6. package/dist/controllers/dummy-controller.js.map +1 -1
  7. package/dist/controllers/general-api-controller.d.ts +1 -1
  8. package/dist/controllers/general-api-controller.js +5 -5
  9. package/dist/controllers/general-api-controller.js.map +1 -1
  10. package/dist/controllers/general-controller.js +2 -1
  11. package/dist/controllers/general-controller.js.map +1 -1
  12. package/dist/controllers/index.js +6 -2
  13. package/dist/controllers/index.js.map +1 -1
  14. package/dist/cores/api/api-service.d.ts +239 -0
  15. package/dist/cores/api/api-service.js +674 -0
  16. package/dist/cores/api/api-service.js.map +1 -0
  17. package/dist/cores/api/index.d.ts +10 -0
  18. package/dist/cores/api/index.js +27 -0
  19. package/dist/cores/api/index.js.map +1 -0
  20. package/dist/cores/api-service.js +19 -18
  21. package/dist/cores/api-service.js.map +1 -1
  22. package/dist/cores/aws/aws-kms-service.d.ts +53 -2
  23. package/dist/cores/aws/aws-kms-service.js +112 -29
  24. package/dist/cores/aws/aws-kms-service.js.map +1 -1
  25. package/dist/cores/aws/aws-s3-service.js +19 -18
  26. package/dist/cores/aws/aws-s3-service.js.map +1 -1
  27. package/dist/cores/aws/aws-sns-service.js +10 -10
  28. package/dist/cores/aws/aws-sns-service.js.map +1 -1
  29. package/dist/cores/aws/aws-sqs-service.js +12 -12
  30. package/dist/cores/aws/aws-sqs-service.js.map +1 -1
  31. package/dist/cores/aws/index.js +1 -1
  32. package/dist/cores/cache/cache-service.d.ts +440 -0
  33. package/dist/cores/cache/cache-service.js +967 -0
  34. package/dist/cores/cache/cache-service.js.map +1 -0
  35. package/dist/cores/cache/index.d.ts +10 -0
  36. package/dist/cores/cache/index.js +27 -0
  37. package/dist/cores/cache/index.js.map +1 -0
  38. package/dist/cores/cache-service.d.ts +54 -18
  39. package/dist/cores/cache-service.js +56 -45
  40. package/dist/cores/cache-service.js.map +1 -1
  41. package/dist/cores/config/config-service.js +11 -10
  42. package/dist/cores/config/config-service.js.map +1 -1
  43. package/dist/cores/core-services.js +6 -2
  44. package/dist/cores/core-services.js.map +1 -1
  45. package/dist/cores/core-types.d.ts +42 -12
  46. package/dist/cores/dynamo/dynamo-query-service.d.ts +52 -0
  47. package/dist/cores/dynamo/dynamo-query-service.js +127 -0
  48. package/dist/cores/dynamo/dynamo-query-service.js.map +1 -0
  49. package/dist/cores/dynamo/dynamo-scan-service.d.ts +70 -0
  50. package/dist/cores/dynamo/dynamo-scan-service.js +164 -0
  51. package/dist/cores/dynamo/dynamo-scan-service.js.map +1 -0
  52. package/dist/cores/dynamo/dynamo-service.d.ts +192 -0
  53. package/dist/cores/dynamo/dynamo-service.js +525 -0
  54. package/dist/cores/dynamo/dynamo-service.js.map +1 -0
  55. package/dist/cores/dynamo/index.d.ts +12 -0
  56. package/dist/cores/dynamo/index.js +29 -0
  57. package/dist/cores/dynamo/index.js.map +1 -0
  58. package/dist/cores/dynamo-query-service.js +7 -7
  59. package/dist/cores/dynamo-query-service.js.map +1 -1
  60. package/dist/cores/dynamo-scan-service.js +8 -8
  61. package/dist/cores/dynamo-scan-service.js.map +1 -1
  62. package/dist/cores/dynamo-service.js +19 -19
  63. package/dist/cores/dynamo-service.js.map +1 -1
  64. package/dist/cores/elastic/elastic6-query-service.d.ts +104 -0
  65. package/dist/cores/elastic/elastic6-query-service.js +510 -0
  66. package/dist/cores/elastic/elastic6-query-service.js.map +1 -0
  67. package/dist/cores/elastic/elastic6-service.d.ts +273 -0
  68. package/dist/cores/elastic/elastic6-service.js +903 -0
  69. package/dist/cores/elastic/elastic6-service.js.map +1 -0
  70. package/dist/cores/elastic/hangul-service.d.ts +102 -0
  71. package/dist/cores/elastic/hangul-service.js +205 -0
  72. package/dist/cores/elastic/hangul-service.js.map +1 -0
  73. package/dist/cores/elastic/index.d.ts +12 -0
  74. package/dist/cores/elastic/index.js +29 -0
  75. package/dist/cores/elastic/index.js.map +1 -0
  76. package/dist/cores/elastic6-query-service.js +7 -7
  77. package/dist/cores/elastic6-query-service.js.map +1 -1
  78. package/dist/cores/elastic6-service.js +57 -65
  79. package/dist/cores/elastic6-service.js.map +1 -1
  80. package/dist/cores/hangul-service.d.ts +17 -3
  81. package/dist/cores/hangul-service.js +17 -8
  82. package/dist/cores/hangul-service.js.map +1 -1
  83. package/dist/cores/http-storage-service.js +1 -1
  84. package/dist/cores/http-storage-service.js.map +1 -1
  85. package/dist/cores/index.d.ts +9 -15
  86. package/dist/cores/index.js +14 -15
  87. package/dist/cores/index.js.map +1 -1
  88. package/dist/cores/lambda/index.js +8 -4
  89. package/dist/cores/lambda/index.js.map +1 -1
  90. package/dist/cores/lambda/lambda-cognito-handler.js +2 -2
  91. package/dist/cores/lambda/lambda-cognito-handler.js.map +1 -1
  92. package/dist/cores/lambda/lambda-cron-handler.js +2 -2
  93. package/dist/cores/lambda/lambda-cron-handler.js.map +1 -1
  94. package/dist/cores/lambda/lambda-dynamo-stream-handler.d.ts +2 -2
  95. package/dist/cores/lambda/lambda-dynamo-stream-handler.js +20 -20
  96. package/dist/cores/lambda/lambda-dynamo-stream-handler.js.map +1 -1
  97. package/dist/cores/lambda/lambda-handler.js +12 -11
  98. package/dist/cores/lambda/lambda-handler.js.map +1 -1
  99. package/dist/cores/lambda/lambda-notification-handler.js +10 -10
  100. package/dist/cores/lambda/lambda-notification-handler.js.map +1 -1
  101. package/dist/cores/lambda/lambda-sns-handler.js +13 -13
  102. package/dist/cores/lambda/lambda-sns-handler.js.map +1 -1
  103. package/dist/cores/lambda/lambda-sqs-handler.js +13 -13
  104. package/dist/cores/lambda/lambda-sqs-handler.js.map +1 -1
  105. package/dist/cores/lambda/lambda-web-handler.d.ts +158 -8
  106. package/dist/cores/lambda/lambda-web-handler.js +330 -119
  107. package/dist/cores/lambda/lambda-web-handler.js.map +1 -1
  108. package/dist/cores/lambda/lambda-wss-handler.js +16 -12
  109. package/dist/cores/lambda/lambda-wss-handler.js.map +1 -1
  110. package/dist/cores/model-manager.js +11 -11
  111. package/dist/cores/model-manager.js.map +1 -1
  112. package/dist/cores/protocol/protocol-service.d.ts +4 -0
  113. package/dist/cores/protocol/protocol-service.js +46 -40
  114. package/dist/cores/protocol/protocol-service.js.map +1 -1
  115. package/dist/cores/proxy-storage-service.js +7 -10
  116. package/dist/cores/proxy-storage-service.js.map +1 -1
  117. package/dist/cores/redis-storage-service.js +13 -13
  118. package/dist/cores/redis-storage-service.js.map +1 -1
  119. package/dist/cores/storage/http-storage-service.d.ts +22 -0
  120. package/dist/cores/storage/http-storage-service.js +129 -0
  121. package/dist/cores/storage/http-storage-service.js.map +1 -0
  122. package/dist/cores/storage/index.d.ts +14 -0
  123. package/dist/cores/storage/index.js +31 -0
  124. package/dist/cores/storage/index.js.map +1 -0
  125. package/dist/cores/storage/model-manager.d.ts +93 -0
  126. package/dist/cores/storage/model-manager.js +192 -0
  127. package/dist/cores/storage/model-manager.js.map +1 -0
  128. package/dist/cores/storage/proxy-storage-service.d.ts +573 -0
  129. package/dist/cores/storage/proxy-storage-service.js +913 -0
  130. package/dist/cores/storage/proxy-storage-service.js.map +1 -0
  131. package/dist/cores/storage/redis-storage-service.d.ts +183 -0
  132. package/dist/cores/storage/redis-storage-service.js +391 -0
  133. package/dist/cores/storage/redis-storage-service.js.map +1 -0
  134. package/dist/cores/storage/storage-service.d.ts +169 -0
  135. package/dist/cores/storage/storage-service.js +374 -0
  136. package/dist/cores/storage/storage-service.js.map +1 -0
  137. package/dist/cores/storage-service.d.ts +1 -1
  138. package/dist/cores/storage-service.js +10 -8
  139. package/dist/cores/storage-service.js.map +1 -1
  140. package/dist/engine/builder.js +27 -20
  141. package/dist/engine/builder.js.map +1 -1
  142. package/dist/engine/engine.js +53 -44
  143. package/dist/engine/engine.js.map +1 -1
  144. package/dist/engine/index.js +8 -4
  145. package/dist/engine/index.js.map +1 -1
  146. package/dist/engine/utilities.d.ts +4 -3
  147. package/dist/engine/utilities.js +32 -37
  148. package/dist/engine/utilities.js.map +1 -1
  149. package/dist/environ.d.ts +2 -2
  150. package/dist/environ.js +20 -10
  151. package/dist/environ.js.map +1 -1
  152. package/dist/exec-cli.js +26 -26
  153. package/dist/exec-cli.js.map +1 -1
  154. package/dist/extended/abstract-service.d.ts +533 -0
  155. package/dist/extended/abstract-service.js +915 -0
  156. package/dist/extended/abstract-service.js.map +1 -0
  157. package/dist/extended/index.d.ts +10 -0
  158. package/dist/extended/index.js +27 -0
  159. package/dist/extended/index.js.map +1 -0
  160. package/dist/helpers/helpers.d.ts +273 -0
  161. package/dist/helpers/helpers.js +613 -0
  162. package/dist/helpers/helpers.js.map +1 -0
  163. package/dist/helpers/index.d.ts +10 -0
  164. package/dist/helpers/index.js +27 -0
  165. package/dist/helpers/index.js.map +1 -0
  166. package/dist/index.d.ts +7 -5
  167. package/dist/index.js +11 -4
  168. package/dist/index.js.map +1 -1
  169. package/dist/lib/dynamo/expressions.js +35 -27
  170. package/dist/lib/dynamo/expressions.js.map +1 -1
  171. package/dist/lib/dynamo/query.js +24 -20
  172. package/dist/lib/dynamo/query.js.map +1 -1
  173. package/dist/lib/dynamo/scan.js +17 -13
  174. package/dist/lib/dynamo/scan.js.map +1 -1
  175. package/dist/lib/dynamo/serializer.js +11 -7
  176. package/dist/lib/dynamo/serializer.js.map +1 -1
  177. package/dist/lib/dynamo/utils.js +19 -14
  178. package/dist/lib/dynamo/utils.js.map +1 -1
  179. package/dist/lib/dynamodb-value.js +3 -3
  180. package/dist/lib/dynamodb-value.js.map +1 -1
  181. package/dist/lib/index.js +6 -2
  182. package/dist/lib/index.js.map +1 -1
  183. package/dist/tools/express.js +21 -15
  184. package/dist/tools/express.js.map +1 -1
  185. package/dist/tools/index.js +6 -2
  186. package/dist/tools/index.js.map +1 -1
  187. package/dist/tools/shared.js +12 -6
  188. package/dist/tools/shared.js.map +1 -1
  189. package/package.json +16 -15
@@ -0,0 +1,525 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.DummyDynamoService = exports.DynamoService = void 0;
16
+ /**
17
+ * `dynamo-service.ts`
18
+ * - common service for dynamo
19
+ *
20
+ * @author Steve Jung <steve@lemoncloud.io>
21
+ * @date 2019-08-28 initial version
22
+ * @date 2019-10-16 cleanup and optimize log
23
+ * @date 2019-11-19 optimize 404 error case, and normalize key.
24
+ * @date 2019-12-10 support `DummyDynamoService.listItems()` for mocks
25
+ *
26
+ * @copyright (C) 2019 LemonCloud Co Ltd. - All Rights Reserved.
27
+ */
28
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
29
+ const engine_1 = require("../../engine/");
30
+ const tools_1 = require("../../tools/");
31
+ const aws_sdk_1 = __importDefault(require("aws-sdk"));
32
+ const NS = engine_1.$U.NS('DYNA', 'green'); // NAMESPACE TO BE PRINTED.
33
+ //! create(or get) instance.
34
+ const instance = () => {
35
+ const region = 'ap-northeast-2';
36
+ return DynamoService.instance(region);
37
+ };
38
+ //! normalize dynamo properties.
39
+ const normalize = (data) => {
40
+ if (data === '')
41
+ return null;
42
+ if (!data)
43
+ return data;
44
+ if (Array.isArray(data))
45
+ return data.map(normalize);
46
+ if (typeof data == 'object') {
47
+ return Object.keys(data).reduce((O, key) => {
48
+ const val = data[key];
49
+ O[key] = normalize(val);
50
+ return O;
51
+ }, {});
52
+ }
53
+ return data;
54
+ };
55
+ /**
56
+ * class: `DynamoService`
57
+ * - basic CRUD service for AWS DynamoDB.
58
+ */
59
+ class DynamoService {
60
+ constructor(options) {
61
+ /**
62
+ * say hello of identity.
63
+ */
64
+ this.hello = () => `dynamo-service:${this.options.tableName}`;
65
+ // eslint-disable-next-line prettier/prettier
66
+ (0, engine_1._inf)(NS, `DynamoService(${options.tableName}/${options.idName}${options.sortName ? '/' : ''}${options.sortName || ''})...`);
67
+ if (!options.tableName)
68
+ throw new Error('.tableName is required');
69
+ if (!options.idName)
70
+ throw new Error('.idName is required');
71
+ this.options = options;
72
+ }
73
+ /**
74
+ * simple instance maker.
75
+ * @param region (default as `ap-northeast-2`)
76
+ */
77
+ static instance(region) {
78
+ region = `${region || 'ap-northeast-2'}`;
79
+ const config = { region };
80
+ const dynamo = new aws_sdk_1.default.DynamoDB(config); // DynamoDB Main.
81
+ const dynamodoc = new aws_sdk_1.default.DynamoDB.DocumentClient(config); // DynamoDB Document.
82
+ const dynamostr = new aws_sdk_1.default.DynamoDBStreams(config); // DynamoDB Stream.
83
+ return { dynamo, dynamostr, dynamodoc };
84
+ }
85
+ /**
86
+ * prepare `CreateTable` payload.
87
+ *
88
+ * @param ReadCapacityUnits
89
+ * @param WriteCapacityUnits
90
+ * @param StreamEnabled
91
+ */
92
+ prepareCreateTable(ReadCapacityUnits = 1, WriteCapacityUnits = 1, StreamEnabled = true) {
93
+ const { tableName, idName, sortName, idType, sortType } = this.options;
94
+ (0, engine_1._log)(NS, `prepareCreateTable(${tableName}, ${idName}, ${sortName || ''}, ${sortType || ''})...`);
95
+ const keyType = (type = '') => {
96
+ type = type || 'string';
97
+ switch (type) {
98
+ case 'number':
99
+ return 'N';
100
+ case 'string':
101
+ return 'S';
102
+ default:
103
+ break;
104
+ }
105
+ throw new Error(`invalid key-type:${type}`);
106
+ };
107
+ const StreamViewType = 'NEW_AND_OLD_IMAGES';
108
+ //! prepare payload.
109
+ const payload = {
110
+ TableName: tableName,
111
+ KeySchema: [
112
+ {
113
+ AttributeName: idName,
114
+ KeyType: 'HASH',
115
+ },
116
+ ],
117
+ AttributeDefinitions: [
118
+ {
119
+ AttributeName: idName,
120
+ AttributeType: keyType(idType),
121
+ },
122
+ ],
123
+ ProvisionedThroughput: { ReadCapacityUnits, WriteCapacityUnits },
124
+ StreamSpecification: { StreamEnabled, StreamViewType },
125
+ };
126
+ //! set sort-key.
127
+ if (sortName) {
128
+ payload.KeySchema.push({
129
+ AttributeName: sortName,
130
+ KeyType: 'RANGE',
131
+ });
132
+ payload.AttributeDefinitions.push({
133
+ AttributeName: sortName,
134
+ AttributeType: keyType(sortType),
135
+ });
136
+ }
137
+ //! returns.
138
+ return payload;
139
+ }
140
+ /**
141
+ * prepare `DeleteTable` payload.
142
+ */
143
+ prepareDeleteTable() {
144
+ const { tableName } = this.options;
145
+ (0, engine_1._log)(NS, `prepareDeleteTable(${tableName})...`);
146
+ return {
147
+ TableName: tableName,
148
+ };
149
+ }
150
+ /**
151
+ * prepare `SaveItem` payload.
152
+ *
153
+ * @param id partition-key
154
+ * @param item
155
+ */
156
+ prepareSaveItem(id, item) {
157
+ const { tableName, idName, sortName } = this.options;
158
+ // _log(NS, `prepareSaveItem(${tableName})...`);
159
+ // item && _log(NS, '> item =', item);
160
+ if (sortName && item[sortName] === undefined)
161
+ throw new Error(`.${sortName} is required. ${idName}:${id}`);
162
+ delete item[idName]; // clear the saved id.
163
+ const node = Object.assign({ [idName]: id }, item); // copy
164
+ const data = normalize(node);
165
+ //! prepare payload.
166
+ const payload = {
167
+ TableName: tableName,
168
+ Item: data,
169
+ };
170
+ return payload;
171
+ }
172
+ /**
173
+ * prepare `Key` by id + sort key.
174
+ *
175
+ * @param id partition-key
176
+ * @param sort sort-key
177
+ */
178
+ prepareItemKey(id, sort) {
179
+ const { tableName, idName, sortName } = this.options;
180
+ if (!id)
181
+ throw new Error('@id is required!');
182
+ // _log(NS, `prepareItemKey(${tableName}/${id}/${sort || ''})...`);
183
+ //! prepare payload.
184
+ const payload = {
185
+ TableName: tableName,
186
+ Key: {
187
+ [idName]: id,
188
+ },
189
+ };
190
+ if (sortName) {
191
+ if (sort === undefined)
192
+ throw new Error(`@sort is required. ${idName}:${id}`);
193
+ payload.Key[sortName] = sort;
194
+ }
195
+ return payload;
196
+ }
197
+ /**
198
+ * prepare `UpdateItem` payload.
199
+ *
200
+ * @param id partition-key
201
+ * @param sort sort-key
202
+ * @param $update update set
203
+ * @param $increment increment set.
204
+ */
205
+ prepareUpdateItem(id, sort, $update, $increment) {
206
+ const debug = 0 ? true : false;
207
+ const { tableName, idName, sortName } = this.options;
208
+ debug && (0, engine_1._log)(NS, `prepareUpdateItem(${tableName}/${id}/${sort || ''})...`);
209
+ debug && $update && (0, engine_1._log)(NS, `> $update =`, engine_1.$U.json($update));
210
+ debug && $increment && (0, engine_1._log)(NS, `> $increment =`, engine_1.$U.json($increment));
211
+ const Key = this.prepareItemKey(id, sort).Key;
212
+ const norm = (_) => `${_}`.replace(/[.\\:\/]/g, '_');
213
+ //! prepare payload.
214
+ let payload = Object.entries($update).reduce((memo, [key, value]) => {
215
+ //! ignore if key
216
+ if (key === idName || key === sortName)
217
+ return memo;
218
+ const key2 = norm(key);
219
+ value = normalize(value);
220
+ if (value && Array.isArray(value.setIndex)) {
221
+ //! support set items in list
222
+ value.setIndex.forEach(([idx, value], seq) => {
223
+ if (idx !== undefined && value !== undefined) {
224
+ memo.ExpressionAttributeNames[`#${key2}`] = key;
225
+ memo.ExpressionAttributeValues[`:${key2}_${seq}_`] = value;
226
+ memo.UpdateExpression.SET.push(`#${key2}[${idx}] = :${key2}_${seq}_`);
227
+ }
228
+ });
229
+ }
230
+ else if (value && Array.isArray(value.removeIndex)) {
231
+ //! support removing items from list
232
+ value.removeIndex.forEach((idx) => {
233
+ if (idx !== undefined) {
234
+ memo.ExpressionAttributeNames[`#${key2}`] = key2;
235
+ memo.UpdateExpression.REMOVE.push(`#${key2}[${idx}]`);
236
+ }
237
+ });
238
+ }
239
+ else {
240
+ //! prepare update-expression.
241
+ memo.ExpressionAttributeNames[`#${key2}`] = key;
242
+ memo.ExpressionAttributeValues[`:${key2}`] = value === '' ? null : value;
243
+ memo.UpdateExpression.SET.push(`#${key2} = :${key2}`);
244
+ debug && (0, engine_1._log)(NS, '>> ' + `#${key} :=`, typeof value, engine_1.$U.json(value));
245
+ }
246
+ return memo;
247
+ }, {
248
+ TableName: tableName,
249
+ Key,
250
+ UpdateExpression: { SET: [], REMOVE: [], ADD: [], DELETE: [] },
251
+ ExpressionAttributeNames: {},
252
+ ExpressionAttributeValues: {},
253
+ ConditionExpression: null,
254
+ ReturnValues: 'UPDATED_NEW',
255
+ });
256
+ //! prepare increment update.
257
+ if ($increment) {
258
+ //! increment field.
259
+ payload = Object.entries($increment).reduce((memo, [key, value]) => {
260
+ const key2 = norm(key);
261
+ if (!Array.isArray(value)) {
262
+ memo.ExpressionAttributeNames[`#${key2}`] = key;
263
+ memo.ExpressionAttributeValues[`:${key2}`] = value;
264
+ memo.UpdateExpression.ADD.push(`#${key2} :${key2}`);
265
+ debug && (0, engine_1._log)(NS, '>> ' + `#${key2} = #${key2} + :${value}`);
266
+ }
267
+ else {
268
+ memo.ExpressionAttributeNames[`#${key2}`] = key; // target attribute name
269
+ memo.ExpressionAttributeValues[`:${key2}`] = value; // list to append like `[1,2,3]`
270
+ memo.ExpressionAttributeValues[`:${key2}_0`] = []; // empty array if not exists.
271
+ memo.UpdateExpression.SET.push(`#${key2} = list_append(if_not_exists(#${key2}, :${key2}_0), :${key2})`);
272
+ debug && (0, engine_1._log)(NS, '>> ' + `#${key2} = #${key2} + ${value}`);
273
+ }
274
+ return memo;
275
+ }, payload);
276
+ }
277
+ //! build final update expression.
278
+ payload.UpdateExpression = Object.keys(payload.UpdateExpression) // ['SET', 'REMOVE', 'ADD', 'DELETE']
279
+ .map(actionName => {
280
+ const actions = payload.UpdateExpression[actionName];
281
+ return actions.length > 0 ? `${actionName} ${actions.join(', ')}` : ''; // e.g 'SET #a = :a, #b = :b'
282
+ })
283
+ .filter(exp => exp.length > 0)
284
+ .join(' ');
285
+ (0, engine_1._log)(NS, `> UpdateExpression[${id}] =`, payload.UpdateExpression);
286
+ return payload;
287
+ }
288
+ /**
289
+ * create-table
290
+ *
291
+ * @param ReadCapacityUnits
292
+ * @param WriteCapacityUnits
293
+ */
294
+ createTable(ReadCapacityUnits = 1, WriteCapacityUnits = 1) {
295
+ return __awaiter(this, void 0, void 0, function* () {
296
+ (0, engine_1._log)(NS, `createTable(${ReadCapacityUnits}, ${WriteCapacityUnits})...`);
297
+ const payload = this.prepareCreateTable(ReadCapacityUnits, WriteCapacityUnits);
298
+ return instance()
299
+ .dynamo.createTable(payload)
300
+ .promise()
301
+ .then(res => {
302
+ (0, engine_1._log)(NS, '> createTable.res =', res);
303
+ return res;
304
+ });
305
+ });
306
+ }
307
+ /**
308
+ * delete-table
309
+ *
310
+ */
311
+ deleteTable() {
312
+ return __awaiter(this, void 0, void 0, function* () {
313
+ (0, engine_1._log)(NS, `deleteTable()...`);
314
+ const payload = this.prepareDeleteTable();
315
+ return instance()
316
+ .dynamo.deleteTable(payload)
317
+ .promise()
318
+ .then(res => {
319
+ (0, engine_1._log)(NS, '> deleteTable.res =', res);
320
+ return res;
321
+ });
322
+ });
323
+ }
324
+ /**
325
+ * read-item
326
+ * - read whole data of item.
327
+ *
328
+ * @param id
329
+ * @param sort
330
+ */
331
+ readItem(id, sort) {
332
+ return __awaiter(this, void 0, void 0, function* () {
333
+ const { tableName, idName, sortName } = this.options;
334
+ // _log(NS, `readItem(${id})...`);
335
+ const itemKey = this.prepareItemKey(id, sort);
336
+ // _log(NS, `> pkey[${id}${sort ? '/' : ''}${sort || ''}] =`, $U.json(itemKey));
337
+ return instance()
338
+ .dynamodoc.get(itemKey)
339
+ .promise()
340
+ .then(res => {
341
+ // _log(NS, '> readItem.res =', $U.json(res));
342
+ if (!res.Item)
343
+ throw new Error(`404 NOT FOUND - ${idName}:${id}${sort ? '/' : ''}${sort || ''}`);
344
+ return res.Item;
345
+ })
346
+ .catch((e) => {
347
+ if (`${e.message}` == 'Requested resource not found')
348
+ throw new Error(`404 NOT FOUND - ${idName}:${id}`);
349
+ throw e;
350
+ });
351
+ });
352
+ }
353
+ /**
354
+ * save-item
355
+ * - save whole data with param (use update if partial save)
356
+ *
357
+ * **WARN** overwrited if exists.
358
+ *
359
+ * @param id
360
+ * @param item
361
+ */
362
+ saveItem(id, item) {
363
+ return __awaiter(this, void 0, void 0, function* () {
364
+ const { tableName, idName, sortName } = this.options;
365
+ // _log(NS, `saveItem(${id})...`);
366
+ const payload = this.prepareSaveItem(id, item);
367
+ // _log(NS, '> payload :=', payload);
368
+ return instance()
369
+ .dynamodoc.put(payload)
370
+ .promise()
371
+ .then(res => {
372
+ (0, engine_1._log)(NS, '> saveItem.res =', engine_1.$U.json(res));
373
+ return payload.Item;
374
+ })
375
+ .catch((e) => {
376
+ if (`${e.message}` == 'Requested resource not found')
377
+ throw new Error(`404 NOT FOUND - ${idName}:${id}`);
378
+ throw e;
379
+ });
380
+ });
381
+ }
382
+ /**
383
+ * delete-item
384
+ * - destroy whole data of item.
385
+ *
386
+ * @param id
387
+ * @param sort
388
+ */
389
+ deleteItem(id, sort) {
390
+ return __awaiter(this, void 0, void 0, function* () {
391
+ // _log(NS, `deleteItem(${id})...`);
392
+ const payload = this.prepareItemKey(id, sort);
393
+ return instance()
394
+ .dynamodoc.delete(payload)
395
+ .promise()
396
+ .then(res => {
397
+ (0, engine_1._log)(NS, '> deleteItem.res =', engine_1.$U.json(res));
398
+ //TODO - improve the returned result
399
+ return null;
400
+ })
401
+ .catch((e) => {
402
+ if (`${e.message}` == 'Requested resource not found')
403
+ return {};
404
+ throw e;
405
+ });
406
+ });
407
+ }
408
+ /**
409
+ * update-item (or increment-item)
410
+ * - update or create if not exists.
411
+ *
412
+ * @param id
413
+ * @param sort
414
+ * @param updates
415
+ * @param increments
416
+ */
417
+ updateItem(id, sort, updates, increments) {
418
+ return __awaiter(this, void 0, void 0, function* () {
419
+ const { idName } = this.options;
420
+ // _log(NS, `updateItem(${id})...`);
421
+ const payload = this.prepareUpdateItem(id, sort, updates, increments);
422
+ return instance()
423
+ .dynamodoc.update(payload)
424
+ .promise()
425
+ .then(res => {
426
+ (0, engine_1._log)(NS, `> updateItem[${id}].res =`, engine_1.$U.json(res));
427
+ const attr = res.Attributes;
428
+ const $key = Object.assign({}, payload.Key);
429
+ return Object.assign(attr, $key);
430
+ })
431
+ .catch((e) => {
432
+ if (`${e.message}` == 'Requested resource not found')
433
+ throw new Error(`404 NOT FOUND - ${idName}:${id}`);
434
+ throw e;
435
+ });
436
+ });
437
+ }
438
+ }
439
+ exports.DynamoService = DynamoService;
440
+ /**
441
+ * export to test..
442
+ */
443
+ DynamoService.normalize = normalize;
444
+ /** ****************************************************************************************************************
445
+ * Dummy Dynamo Service
446
+ ** ****************************************************************************************************************/
447
+ /**
448
+ * class: `DummyDynamoService`
449
+ * - service in-memory dummy data
450
+ */
451
+ class DummyDynamoService extends DynamoService {
452
+ constructor(dataFile, options) {
453
+ super(options);
454
+ this.buffer = {};
455
+ /**
456
+ * say hello()
457
+ */
458
+ this.hello = () => `dummy-dynamo-service:${this.options.tableName}`;
459
+ (0, engine_1._log)(NS, `DummyDynamoService(${dataFile || ''})...`);
460
+ if (!dataFile)
461
+ throw new Error('@dataFile(string) is required!');
462
+ const dummy = (0, tools_1.loadDataYml)(dataFile);
463
+ this.load(dummy.data);
464
+ }
465
+ load(data) {
466
+ const { idName } = this.options;
467
+ if (!data || !Array.isArray(data))
468
+ throw new Error('@data should be array!');
469
+ data.map(item => {
470
+ const id = `${item[idName] || ''}`;
471
+ this.buffer[id] = item;
472
+ });
473
+ }
474
+ /**
475
+ * ONLY FOR DUMMY
476
+ * - send list of data.
477
+ *
478
+ * @param page page number starts from 1
479
+ * @param limit limit of count.
480
+ */
481
+ listItems(page, limit) {
482
+ return __awaiter(this, void 0, void 0, function* () {
483
+ page = engine_1.$U.N(page, 1);
484
+ limit = engine_1.$U.N(limit, 2);
485
+ const keys = Object.keys(this.buffer);
486
+ const total = keys.length;
487
+ const list = keys.slice((page - 1) * limit, page * limit).map(_ => this.buffer[_]);
488
+ return { page, limit, total, list };
489
+ });
490
+ }
491
+ readItem(id, sort) {
492
+ return __awaiter(this, void 0, void 0, function* () {
493
+ const { idName } = this.options;
494
+ const item = this.buffer[id];
495
+ if (item === undefined)
496
+ throw new Error(`404 NOT FOUND - ${idName}:${id}`);
497
+ return Object.assign({ [idName]: id }, item);
498
+ });
499
+ }
500
+ saveItem(id, item) {
501
+ return __awaiter(this, void 0, void 0, function* () {
502
+ const { idName } = this.options;
503
+ this.buffer[id] = normalize(item);
504
+ return Object.assign({ [idName]: id }, this.buffer[id]);
505
+ });
506
+ }
507
+ deleteItem(id, sort) {
508
+ return __awaiter(this, void 0, void 0, function* () {
509
+ delete this.buffer[id];
510
+ return null;
511
+ });
512
+ }
513
+ updateItem(id, sort, updates, increments) {
514
+ return __awaiter(this, void 0, void 0, function* () {
515
+ const { idName } = this.options;
516
+ const item = this.buffer[id];
517
+ if (item === undefined)
518
+ throw new Error(`404 NOT FOUND - ${idName}:${id}`);
519
+ this.buffer[id] = Object.assign(Object.assign({}, item), normalize(updates));
520
+ return Object.assign({ [idName]: id }, this.buffer[id]);
521
+ });
522
+ }
523
+ }
524
+ exports.DummyDynamoService = DummyDynamoService;
525
+ //# sourceMappingURL=dynamo-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamo-service.js","sourceRoot":"","sources":["../../../src/cores/dynamo/dynamo-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * `cores/dynamo/index.tx`
3
+ * - default index to export
4
+ *
5
+ * @author Steve Jung <steve@lemoncloud.io>
6
+ * @date 2022-05-13 initial file to group
7
+ *
8
+ * @copyright (C) lemoncloud.io 2022 - All Rights Reserved.
9
+ */
10
+ export * from './dynamo-service';
11
+ export * from './dynamo-query-service';
12
+ export * from './dynamo-scan-service';
@@ -0,0 +1,29 @@
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
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ /**
18
+ * `cores/dynamo/index.tx`
19
+ * - default index to export
20
+ *
21
+ * @author Steve Jung <steve@lemoncloud.io>
22
+ * @date 2022-05-13 initial file to group
23
+ *
24
+ * @copyright (C) lemoncloud.io 2022 - All Rights Reserved.
25
+ */
26
+ __exportStar(require("./dynamo-service"), exports);
27
+ __exportStar(require("./dynamo-query-service"), exports);
28
+ __exportStar(require("./dynamo-scan-service"), exports);
29
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cores/dynamo/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;;GAQG;AACH,mDAAiC;AACjC,yDAAuC;AACvC,wDAAsC"}
@@ -43,7 +43,7 @@ class DynamoQueryService {
43
43
  */
44
44
  this.hello = () => `dynamo-query-service:${this.options.tableName}`;
45
45
  // eslint-disable-next-line prettier/prettier
46
- engine_1._inf(NS, `DynamoQueryService(${options.tableName}/${options.idName}${options.sortName ? '/' : ''}${options.sortName || ''})...`);
46
+ (0, engine_1._inf)(NS, `DynamoQueryService(${options.tableName}/${options.idName}${options.sortName ? '/' : ''}${options.sortName || ''})...`);
47
47
  if (!options.tableName)
48
48
  throw new Error('.tableName is required');
49
49
  if (!options.idName)
@@ -66,7 +66,7 @@ class DynamoQueryService {
66
66
  */
67
67
  queryRangeBy(pkey, from, to, limit, last, isDesc) {
68
68
  return __awaiter(this, void 0, void 0, function* () {
69
- engine_1._log(NS, `queryRangeBy(${pkey}, ${from}, ${to})...`);
69
+ (0, engine_1._log)(NS, `queryRangeBy(${pkey}, ${from}, ${to})...`);
70
70
  //! load table information..
71
71
  const { tableName, idName, sortName, idType, sortType } = this.options;
72
72
  const query = new query_1.default(pkey, { schema: { hashKey: idName, rangeKey: sortName }, tableName: () => tableName }, serializer_1.default);
@@ -95,7 +95,7 @@ class DynamoQueryService {
95
95
  payload.ExpressionAttributeNames = filter(payload.ExpressionAttributeNames);
96
96
  payload.ExpressionAttributeValues = filter(payload.ExpressionAttributeValues);
97
97
  payload.KeyConditionExpression = payload.KeyConditionExpression.replace(/([\#\:])@/g, '$1_');
98
- engine_1._log(NS, `> payload[${pkey}] =`, engine_1.$U.json(payload));
98
+ (0, engine_1._log)(NS, `> payload[${pkey}] =`, engine_1.$U.json(payload));
99
99
  //! get instance of dynamodoc, and execute query().
100
100
  const { dynamodoc } = dynamo_service_1.DynamoService.instance();
101
101
  const res = yield dynamodoc.query(payload).promise();
@@ -106,10 +106,10 @@ class DynamoQueryService {
106
106
  const scannedCount = res.ScannedCount;
107
107
  const $lek = res.LastEvaluatedKey || {};
108
108
  const last = engine_1.$U.N($lek[sortName], 0);
109
- engine_1._log(NS, `> query[${pkey}].items.len =`, items.length);
110
- engine_1._log(NS, `> query[${pkey}].count =`, count);
111
- engine_1._log(NS, `> query[${pkey}].scannedCount =`, scannedCount);
112
- engine_1._log(NS, `> query[${pkey}].lastKey =`, last);
109
+ (0, engine_1._log)(NS, `> query[${pkey}].items.len =`, items.length);
110
+ (0, engine_1._log)(NS, `> query[${pkey}].count =`, count);
111
+ (0, engine_1._log)(NS, `> query[${pkey}].scannedCount =`, scannedCount);
112
+ (0, engine_1._log)(NS, `> query[${pkey}].lastKey =`, last);
113
113
  //! prepare result-set
114
114
  const result = {
115
115
  list: items,
@@ -1 +1 @@
1
- {"version":3,"file":"dynamo-query-service.js","sourceRoot":"","sources":["../../src/cores/dynamo-query-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dynamo-query-service.js","sourceRoot":"","sources":["../../src/cores/dynamo-query-service.ts"],"names":[],"mappings":"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"}