lemon-core 3.1.1 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -12
- package/dist/controllers/dummy-controller.d.ts +1 -1
- package/dist/controllers/general-api-controller.d.ts +1 -1
- package/dist/controllers/general-api-controller.js.map +1 -1
- package/dist/controllers/general-controller.d.ts +1 -1
- package/dist/cores/aws/aws-kms-service.d.ts +1 -0
- package/dist/cores/aws/aws-s3-service.d.ts +11 -2
- package/dist/cores/aws/aws-s3-service.js +2 -1
- package/dist/cores/aws/aws-s3-service.js.map +1 -1
- package/dist/cores/aws/aws-sns-service.d.ts +2 -2
- package/dist/cores/aws/aws-sns-service.js +2 -2
- package/dist/cores/cache/cache-service.js +3 -1
- package/dist/cores/cache/cache-service.js.map +1 -1
- package/dist/cores/core-services.d.ts +1 -2
- package/dist/cores/core-services.js +0 -25
- package/dist/cores/core-services.js.map +1 -1
- package/dist/cores/dynamo/dynamo-query-service.d.ts +1 -1
- package/dist/cores/dynamo/dynamo-scan-service.d.ts +1 -1
- package/dist/cores/dynamo/dynamo-service.d.ts +1 -1
- package/dist/cores/dynamo/dynamo-service.js +2 -2
- package/dist/cores/dynamo/dynamo-service.js.map +1 -1
- package/dist/cores/elastic/elastic6-query-service.d.ts +1 -1
- package/dist/cores/elastic/elastic6-service.d.ts +7 -4
- package/dist/cores/elastic/elastic6-service.js +6 -4
- package/dist/cores/elastic/elastic6-service.js.map +1 -1
- package/dist/cores/index.d.ts +1 -1
- package/dist/cores/index.js +1 -1
- package/dist/cores/index.js.map +1 -1
- package/dist/cores/lambda/lambda-cron-handler.d.ts +1 -1
- package/dist/cores/lambda/lambda-dynamo-stream-handler.d.ts +1 -1
- package/dist/cores/lambda/lambda-dynamo-stream-handler.js +1 -1
- package/dist/cores/lambda/lambda-dynamo-stream-handler.js.map +1 -1
- package/dist/cores/lambda/lambda-handler.d.ts +2 -1
- package/dist/cores/lambda/lambda-handler.js.map +1 -1
- package/dist/cores/lambda/lambda-notification-handler.d.ts +1 -1
- package/dist/cores/lambda/lambda-sns-handler.d.ts +1 -1
- package/dist/cores/lambda/lambda-sqs-handler.d.ts +1 -1
- package/dist/cores/lambda/lambda-web-handler.d.ts +4 -2
- package/dist/cores/lambda/lambda-web-handler.js +19 -10
- package/dist/cores/lambda/lambda-web-handler.js.map +1 -1
- package/dist/cores/protocol/protocol-service.d.ts +1 -1
- package/dist/cores/storage/http-storage-service.js +2 -2
- package/dist/cores/storage/http-storage-service.js.map +1 -1
- package/dist/cores/storage/model-manager.d.ts +2 -1
- package/dist/cores/storage/model-manager.js +3 -3
- package/dist/cores/storage/model-manager.js.map +1 -1
- package/dist/cores/storage/proxy-storage-service.d.ts +5 -73
- package/dist/cores/storage/proxy-storage-service.js +13 -13
- package/dist/cores/storage/proxy-storage-service.js.map +1 -1
- package/dist/cores/storage/redis-storage-service.js +1 -1
- package/dist/cores/storage/redis-storage-service.js.map +1 -1
- package/dist/cores/storage/storage-service.d.ts +5 -17
- package/dist/cores/storage/storage-service.js +3 -0
- package/dist/cores/storage/storage-service.js.map +1 -1
- package/dist/engine/engine.d.ts +5 -5
- package/dist/engine/engine.js +4 -4
- package/dist/engine/engine.js.map +1 -1
- package/dist/engine/utilities.js +2 -2
- package/dist/engine/utilities.js.map +1 -1
- package/dist/environ.js +1 -1
- package/dist/environ.js.map +1 -1
- package/dist/extended/abstract-service.d.ts +21 -4
- package/dist/extended/abstract-service.js +23 -8
- package/dist/extended/abstract-service.js.map +1 -1
- package/dist/helpers/helpers.d.ts +9 -10
- package/dist/helpers/helpers.js +9 -2
- package/dist/helpers/helpers.js.map +1 -1
- package/dist/tools/shared.js +1 -1
- package/dist/tools/shared.js.map +1 -1
- package/package.json +31 -30
- package/dist/cores/api-service.d.ts +0 -239
- package/dist/cores/api-service.js +0 -674
- package/dist/cores/api-service.js.map +0 -1
- package/dist/cores/cache-service.d.ts +0 -424
- package/dist/cores/cache-service.js +0 -948
- package/dist/cores/cache-service.js.map +0 -1
- package/dist/cores/core-types.d.ts +0 -398
- package/dist/cores/core-types.js +0 -15
- package/dist/cores/core-types.js.map +0 -1
- package/dist/cores/dynamo-query-service.d.ts +0 -52
- package/dist/cores/dynamo-query-service.js +0 -127
- package/dist/cores/dynamo-query-service.js.map +0 -1
- package/dist/cores/dynamo-scan-service.d.ts +0 -70
- package/dist/cores/dynamo-scan-service.js +0 -164
- package/dist/cores/dynamo-scan-service.js.map +0 -1
- package/dist/cores/dynamo-service.d.ts +0 -192
- package/dist/cores/dynamo-service.js +0 -525
- package/dist/cores/dynamo-service.js.map +0 -1
- package/dist/cores/elastic6-query-service.d.ts +0 -104
- package/dist/cores/elastic6-query-service.js +0 -510
- package/dist/cores/elastic6-query-service.js.map +0 -1
- package/dist/cores/elastic6-service.d.ts +0 -273
- package/dist/cores/elastic6-service.js +0 -903
- package/dist/cores/elastic6-service.js.map +0 -1
- package/dist/cores/hangul-service.d.ts +0 -102
- package/dist/cores/hangul-service.js +0 -205
- package/dist/cores/hangul-service.js.map +0 -1
- package/dist/cores/http-storage-service.d.ts +0 -22
- package/dist/cores/http-storage-service.js +0 -129
- package/dist/cores/http-storage-service.js.map +0 -1
- package/dist/cores/model-manager.d.ts +0 -93
- package/dist/cores/model-manager.js +0 -192
- package/dist/cores/model-manager.js.map +0 -1
- package/dist/cores/proxy-storage-service.d.ts +0 -573
- package/dist/cores/proxy-storage-service.js +0 -913
- package/dist/cores/proxy-storage-service.js.map +0 -1
- package/dist/cores/redis-storage-service.d.ts +0 -183
- package/dist/cores/redis-storage-service.js +0 -391
- package/dist/cores/redis-storage-service.js.map +0 -1
- package/dist/cores/storage-service.d.ts +0 -170
- package/dist/cores/storage-service.js +0 -389
- package/dist/cores/storage-service.js.map +0 -1
|
@@ -1,525 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dynamo-service.js","sourceRoot":"","sources":["../../src/cores/dynamo-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
import { GeneralItem, Elastic6SimpleQueriable, QueryResult, SimpleSearchParam, AutocompleteSearchParam, SearchBody } from './core-types';
|
|
2
|
-
import { Elastic6Service, SearchType } from './elastic6-service';
|
|
3
|
-
/**
|
|
4
|
-
* class: `Elastic6QueryService`
|
|
5
|
-
* - support simple query like range search.
|
|
6
|
-
*/
|
|
7
|
-
export declare class Elastic6QueryService<T extends GeneralItem> implements Elastic6SimpleQueriable<T> {
|
|
8
|
-
protected readonly service: Elastic6Service;
|
|
9
|
-
/**
|
|
10
|
-
* use query w/ the given search-service.
|
|
11
|
-
* @param service the origin search-service to use.
|
|
12
|
-
*/
|
|
13
|
-
constructor(service: Elastic6Service);
|
|
14
|
-
/**
|
|
15
|
-
* get options
|
|
16
|
-
*/
|
|
17
|
-
protected get options(): import("./elastic6-service").Elastic6Option;
|
|
18
|
-
/**
|
|
19
|
-
* say hello of identity.
|
|
20
|
-
*/
|
|
21
|
-
hello: () => string;
|
|
22
|
-
/**
|
|
23
|
-
* query all by id.
|
|
24
|
-
*
|
|
25
|
-
* @param id
|
|
26
|
-
* @param limit
|
|
27
|
-
* @param isDesc
|
|
28
|
-
*/
|
|
29
|
-
queryAll(id: string, limit?: number, isDesc?: boolean): Promise<QueryResult<T>>;
|
|
30
|
-
/**
|
|
31
|
-
* search in simple mode
|
|
32
|
-
* - 기본적으로 'mini-language'를 그대로 지원하도록한다.
|
|
33
|
-
* - 입력의 파라마터의 키값은 테스트할 필드들이다.
|
|
34
|
-
* {"stock":">1"} => query_string : "stock:>1"
|
|
35
|
-
*
|
|
36
|
-
* - 파라미터 예약:
|
|
37
|
-
* $query : ES _search 용 쿼리를 그대로 이용.
|
|
38
|
-
* $exist : 'a,!b,c' => a AND NOT b AND c 를 _exists_ 항목으로 풀어씀.
|
|
39
|
-
* $source : _source 항목에 포함될 내용. (undefined => _source:false)
|
|
40
|
-
* $limit : same as "size"
|
|
41
|
-
* $page : same as "from" / "size" ($limit 를 ipp 으로 함축하여 이용).
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
* [Mini-Language]
|
|
46
|
-
* ```
|
|
47
|
-
* # find title field which contains quick or brown.
|
|
48
|
-
* title:(quick OR brown)
|
|
49
|
-
*
|
|
50
|
-
* # not-null value.
|
|
51
|
-
* _exists_:title
|
|
52
|
-
*
|
|
53
|
-
* # regular exp.
|
|
54
|
-
* name:/joh?n(ath[oa]n)/
|
|
55
|
-
* ```
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
* 참고: https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-query-string-query.html#query-string-syntax
|
|
59
|
-
* 참고: http://okfnlabs.org/blog/2013/07/01/elasticsearch-query-tutorial.html
|
|
60
|
-
*
|
|
61
|
-
* @param param search param
|
|
62
|
-
*/
|
|
63
|
-
searchSimple(param: SimpleSearchParam): Promise<QueryResult<T>>;
|
|
64
|
-
/**
|
|
65
|
-
* search with raw query language.
|
|
66
|
-
*
|
|
67
|
-
* @param body SearchBody.
|
|
68
|
-
* @returns results.
|
|
69
|
-
*/
|
|
70
|
-
search(body: SearchBody, searchType?: SearchType): Promise<any>;
|
|
71
|
-
/**
|
|
72
|
-
* convert result as `QueryResult`
|
|
73
|
-
* @param body the query body requested
|
|
74
|
-
* @param res the result
|
|
75
|
-
* @returns QueryResult
|
|
76
|
-
*/
|
|
77
|
-
asQueryResult(body: SearchBody, res: any): QueryResult<T>;
|
|
78
|
-
/**
|
|
79
|
-
* convert `AutocompleteSearchParam` to `SearchBody`
|
|
80
|
-
* @param param AutocompleteSearchParam
|
|
81
|
-
* @returns SearchBody
|
|
82
|
-
*/
|
|
83
|
-
asSearchBody(param: AutocompleteSearchParam): {
|
|
84
|
-
field: string;
|
|
85
|
-
query: string;
|
|
86
|
-
body: SearchBody;
|
|
87
|
-
};
|
|
88
|
-
/**
|
|
89
|
-
* search item in Search-as-You-Type way
|
|
90
|
-
* @param param AutocompleteSearchParam
|
|
91
|
-
*/
|
|
92
|
-
searchAutocomplete(param: AutocompleteSearchParam): Promise<{
|
|
93
|
-
list: T[];
|
|
94
|
-
total?: number;
|
|
95
|
-
page?: number;
|
|
96
|
-
limit?: number;
|
|
97
|
-
aggregations?: any;
|
|
98
|
-
last?: any;
|
|
99
|
-
}>;
|
|
100
|
-
/**
|
|
101
|
-
* build query parameter from search param.
|
|
102
|
-
*/
|
|
103
|
-
buildQueryBody: (param: SimpleSearchParam) => SearchBody;
|
|
104
|
-
}
|