lemon-core 3.0.2 → 3.1.2
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 -0
- package/dist/common/test-helper.js +19 -11
- package/dist/common/test-helper.js.map +1 -1
- package/dist/controllers/dummy-controller.d.ts +2 -2
- package/dist/controllers/dummy-controller.js +2 -2
- package/dist/controllers/dummy-controller.js.map +1 -1
- package/dist/controllers/general-api-controller.d.ts +2 -2
- package/dist/controllers/general-api-controller.js +5 -5
- package/dist/controllers/general-api-controller.js.map +1 -1
- package/dist/controllers/general-controller.d.ts +1 -1
- package/dist/controllers/general-controller.js +2 -1
- package/dist/controllers/general-controller.js.map +1 -1
- package/dist/controllers/index.js +6 -2
- package/dist/controllers/index.js.map +1 -1
- package/dist/cores/{api-service.d.ts → api/api-service.d.ts} +0 -0
- package/dist/cores/{api-service.js → api/api-service.js} +22 -21
- package/dist/cores/api/api-service.js.map +1 -0
- package/dist/cores/api/index.d.ts +10 -0
- package/dist/cores/api/index.js +27 -0
- package/dist/cores/api/index.js.map +1 -0
- package/dist/cores/aws/aws-kms-service.d.ts +53 -2
- package/dist/cores/aws/aws-kms-service.js +112 -29
- package/dist/cores/aws/aws-kms-service.js.map +1 -1
- package/dist/cores/aws/aws-s3-service.js +19 -18
- package/dist/cores/aws/aws-s3-service.js.map +1 -1
- package/dist/cores/aws/aws-sns-service.js +10 -10
- package/dist/cores/aws/aws-sns-service.js.map +1 -1
- package/dist/cores/aws/aws-sqs-service.js +12 -12
- package/dist/cores/aws/aws-sqs-service.js.map +1 -1
- package/dist/cores/aws/index.js +1 -1
- package/dist/cores/{cache-service.d.ts → cache/cache-service.d.ts} +77 -25
- package/dist/cores/{cache-service.js → cache/cache-service.js} +77 -47
- package/dist/cores/cache/cache-service.js.map +1 -0
- package/dist/cores/cache/index.d.ts +10 -0
- package/dist/cores/cache/index.js +27 -0
- package/dist/cores/cache/index.js.map +1 -0
- package/dist/cores/config/config-service.js +11 -10
- package/dist/cores/config/config-service.js.map +1 -1
- package/dist/cores/core-services.d.ts +1 -2
- package/dist/cores/core-services.js +0 -21
- package/dist/cores/core-services.js.map +1 -1
- package/dist/cores/{dynamo-query-service.d.ts → dynamo/dynamo-query-service.d.ts} +1 -1
- package/dist/cores/{dynamo-query-service.js → dynamo/dynamo-query-service.js} +10 -10
- package/dist/cores/dynamo/dynamo-query-service.js.map +1 -0
- package/dist/cores/{dynamo-scan-service.d.ts → dynamo/dynamo-scan-service.d.ts} +1 -1
- package/dist/cores/{dynamo-scan-service.js → dynamo/dynamo-scan-service.js} +11 -11
- package/dist/cores/dynamo/dynamo-scan-service.js.map +1 -0
- package/dist/cores/{dynamo-service.d.ts → dynamo/dynamo-service.d.ts} +1 -1
- package/dist/cores/{dynamo-service.js → dynamo/dynamo-service.js} +21 -21
- package/dist/cores/dynamo/dynamo-service.js.map +1 -0
- package/dist/cores/dynamo/index.d.ts +12 -0
- package/dist/cores/dynamo/index.js +29 -0
- package/dist/cores/dynamo/index.js.map +1 -0
- package/dist/cores/{elastic6-query-service.d.ts → elastic/elastic6-query-service.d.ts} +1 -1
- package/dist/cores/{elastic6-query-service.js → elastic/elastic6-query-service.js} +8 -8
- package/dist/cores/elastic/elastic6-query-service.js.map +1 -0
- package/dist/cores/{elastic6-service.d.ts → elastic/elastic6-service.d.ts} +1 -1
- package/dist/cores/{elastic6-service.js → elastic/elastic6-service.js} +60 -68
- package/dist/cores/elastic/elastic6-service.js.map +1 -0
- package/dist/cores/{hangul-service.d.ts → elastic/hangul-service.d.ts} +17 -3
- package/dist/cores/{hangul-service.js → elastic/hangul-service.js} +17 -8
- package/dist/cores/elastic/hangul-service.js.map +1 -0
- package/dist/cores/elastic/index.d.ts +12 -0
- package/dist/cores/elastic/index.js +29 -0
- package/dist/cores/elastic/index.js.map +1 -0
- package/dist/cores/index.d.ts +10 -16
- package/dist/cores/index.js +15 -16
- package/dist/cores/index.js.map +1 -1
- package/dist/cores/lambda/index.js +8 -4
- package/dist/cores/lambda/index.js.map +1 -1
- package/dist/cores/lambda/lambda-cognito-handler.js +2 -2
- package/dist/cores/lambda/lambda-cognito-handler.js.map +1 -1
- package/dist/cores/lambda/lambda-cron-handler.d.ts +1 -1
- package/dist/cores/lambda/lambda-cron-handler.js +2 -2
- package/dist/cores/lambda/lambda-cron-handler.js.map +1 -1
- package/dist/cores/lambda/lambda-dynamo-stream-handler.d.ts +3 -3
- package/dist/cores/lambda/lambda-dynamo-stream-handler.js +20 -20
- 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 +12 -11
- 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-notification-handler.js +10 -10
- package/dist/cores/lambda/lambda-notification-handler.js.map +1 -1
- package/dist/cores/lambda/lambda-sns-handler.d.ts +1 -1
- package/dist/cores/lambda/lambda-sns-handler.js +13 -13
- package/dist/cores/lambda/lambda-sns-handler.js.map +1 -1
- package/dist/cores/lambda/lambda-sqs-handler.d.ts +1 -1
- package/dist/cores/lambda/lambda-sqs-handler.js +13 -13
- package/dist/cores/lambda/lambda-sqs-handler.js.map +1 -1
- package/dist/cores/lambda/lambda-web-handler.d.ts +158 -8
- package/dist/cores/lambda/lambda-web-handler.js +330 -119
- package/dist/cores/lambda/lambda-web-handler.js.map +1 -1
- package/dist/cores/lambda/lambda-wss-handler.js +16 -12
- package/dist/cores/lambda/lambda-wss-handler.js.map +1 -1
- package/dist/cores/protocol/protocol-service.d.ts +5 -1
- package/dist/cores/protocol/protocol-service.js +46 -40
- package/dist/cores/protocol/protocol-service.js.map +1 -1
- package/dist/cores/{http-storage-service.d.ts → storage/http-storage-service.d.ts} +1 -1
- package/dist/cores/{http-storage-service.js → storage/http-storage-service.js} +6 -6
- package/dist/cores/storage/http-storage-service.js.map +1 -0
- package/dist/cores/storage/index.d.ts +14 -0
- package/dist/cores/storage/index.js +31 -0
- package/dist/cores/storage/index.js.map +1 -0
- package/dist/cores/{model-manager.d.ts → storage/model-manager.d.ts} +2 -1
- package/dist/cores/{model-manager.js → storage/model-manager.js} +12 -12
- package/dist/cores/storage/model-manager.js.map +1 -0
- package/dist/cores/{proxy-storage-service.d.ts → storage/proxy-storage-service.d.ts} +3 -72
- package/dist/cores/{proxy-storage-service.js → storage/proxy-storage-service.js} +13 -19
- package/dist/cores/storage/proxy-storage-service.js.map +1 -0
- package/dist/cores/{redis-storage-service.d.ts → storage/redis-storage-service.d.ts} +0 -0
- package/dist/cores/{redis-storage-service.js → storage/redis-storage-service.js} +14 -14
- package/dist/cores/storage/redis-storage-service.js.map +1 -0
- package/dist/cores/{storage-service.d.ts → storage/storage-service.d.ts} +6 -19
- package/dist/cores/{storage-service.js → storage/storage-service.js} +9 -19
- package/dist/cores/storage/storage-service.js.map +1 -0
- package/dist/engine/builder.js +27 -20
- package/dist/engine/builder.js.map +1 -1
- package/dist/engine/engine.d.ts +1 -1
- package/dist/engine/engine.js +53 -44
- package/dist/engine/engine.js.map +1 -1
- package/dist/engine/index.js +8 -4
- package/dist/engine/index.js.map +1 -1
- package/dist/engine/utilities.d.ts +4 -3
- package/dist/engine/utilities.js +32 -37
- package/dist/engine/utilities.js.map +1 -1
- package/dist/environ.d.ts +2 -2
- package/dist/environ.js +20 -10
- package/dist/environ.js.map +1 -1
- package/dist/exec-cli.js +26 -26
- package/dist/exec-cli.js.map +1 -1
- package/dist/extended/abstract-service.d.ts +540 -0
- package/dist/extended/abstract-service.js +924 -0
- package/dist/extended/abstract-service.js.map +1 -0
- package/dist/extended/index.d.ts +10 -0
- package/dist/extended/index.js +27 -0
- package/dist/extended/index.js.map +1 -0
- package/dist/helpers/helpers.d.ts +8 -1
- package/dist/helpers/helpers.js +25 -12
- package/dist/helpers/helpers.js.map +1 -1
- package/dist/helpers/index.js +6 -2
- package/dist/helpers/index.js.map +1 -1
- package/dist/index.d.ts +6 -5
- package/dist/index.js +10 -4
- package/dist/index.js.map +1 -1
- package/dist/lib/dynamo/expressions.js +35 -27
- package/dist/lib/dynamo/expressions.js.map +1 -1
- package/dist/lib/dynamo/query.js +24 -20
- package/dist/lib/dynamo/query.js.map +1 -1
- package/dist/lib/dynamo/scan.js +17 -13
- package/dist/lib/dynamo/scan.js.map +1 -1
- package/dist/lib/dynamo/serializer.js +11 -7
- package/dist/lib/dynamo/serializer.js.map +1 -1
- package/dist/lib/dynamo/utils.js +19 -14
- package/dist/lib/dynamo/utils.js.map +1 -1
- package/dist/lib/dynamodb-value.js +3 -3
- package/dist/lib/dynamodb-value.js.map +1 -1
- package/dist/lib/index.js +6 -2
- package/dist/lib/index.js.map +1 -1
- package/dist/tools/express.js +21 -15
- package/dist/tools/express.js.map +1 -1
- package/dist/tools/index.js +6 -2
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/shared.js +12 -6
- package/dist/tools/shared.js.map +1 -1
- package/package.json +18 -15
- package/dist/cores/api-service.js.map +0 -1
- package/dist/cores/cache-service.js.map +0 -1
- package/dist/cores/core-types.d.ts +0 -368
- package/dist/cores/core-types.js +0 -15
- package/dist/cores/core-types.js.map +0 -1
- package/dist/cores/dynamo-query-service.js.map +0 -1
- package/dist/cores/dynamo-scan-service.js.map +0 -1
- package/dist/cores/dynamo-service.js.map +0 -1
- package/dist/cores/elastic6-query-service.js.map +0 -1
- package/dist/cores/elastic6-service.js.map +0 -1
- package/dist/cores/hangul-service.js.map +0 -1
- package/dist/cores/http-storage-service.js.map +0 -1
- package/dist/cores/model-manager.js.map +0 -1
- package/dist/cores/proxy-storage-service.js.map +0 -1
- package/dist/cores/redis-storage-service.js.map +0 -1
- package/dist/cores/storage-service.js.map +0 -1
- package/dist/tools/helpers.d.ts +0 -243
- package/dist/tools/helpers.js +0 -593
- package/dist/tools/helpers.js.map +0 -1
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `cores/storage/index.tx`
|
|
3
|
+
* - default index to export all for storage-service
|
|
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 './model-manager';
|
|
11
|
+
export * from './redis-storage-service';
|
|
12
|
+
export * from './storage-service';
|
|
13
|
+
export * from './proxy-storage-service';
|
|
14
|
+
export * from './http-storage-service';
|
|
@@ -0,0 +1,31 @@
|
|
|
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/storage/index.tx`
|
|
19
|
+
* - default index to export all for storage-service
|
|
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("./model-manager"), exports);
|
|
27
|
+
__exportStar(require("./redis-storage-service"), exports);
|
|
28
|
+
__exportStar(require("./storage-service"), exports);
|
|
29
|
+
__exportStar(require("./proxy-storage-service"), exports);
|
|
30
|
+
__exportStar(require("./http-storage-service"), exports);
|
|
31
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cores/storage/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;;GAQG;AACH,kDAAgC;AAChC,0DAAwC;AACxC,oDAAkC;AAClC,0DAAwC;AACxC,yDAAuC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { CoreModel
|
|
1
|
+
import { CoreModel } from 'lemon-model';
|
|
2
|
+
import { StorageMakeable, GeneralModelFilter, TypedStorageService, UniqueFieldManager } from './proxy-storage-service';
|
|
2
3
|
/**
|
|
3
4
|
* class: `AbstractManager`
|
|
4
5
|
* - abstract model manager to cover all models which extend CoreModel.
|
|
@@ -20,7 +20,7 @@ exports.AbstractManager = void 0;
|
|
|
20
20
|
* @copyright (C) 2020 LemonCloud Co Ltd. - All Rights Reserved.
|
|
21
21
|
*/
|
|
22
22
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
23
|
-
const engine_1 = require("
|
|
23
|
+
const engine_1 = require("../../engine/");
|
|
24
24
|
const proxy_storage_service_1 = require("./proxy-storage-service");
|
|
25
25
|
const NS = engine_1.$U.NS('MMGR', 'cyan'); // default namespace name
|
|
26
26
|
/**
|
|
@@ -94,7 +94,7 @@ class AbstractManager extends proxy_storage_service_1.GeneralModelFilter {
|
|
|
94
94
|
*/
|
|
95
95
|
insert(model) {
|
|
96
96
|
return __awaiter(this, void 0, void 0, function* () {
|
|
97
|
-
this.NS && engine_1._inf(this.NS, `insert(${this.type})...`);
|
|
97
|
+
this.NS && (0, engine_1._inf)(this.NS, `insert(${this.type})...`);
|
|
98
98
|
if (!model)
|
|
99
99
|
throw new Error(`@model (${this.type}-model) is required!`);
|
|
100
100
|
const $def = this.prepareDefault(null);
|
|
@@ -102,11 +102,11 @@ class AbstractManager extends proxy_storage_service_1.GeneralModelFilter {
|
|
|
102
102
|
const id = `${(created && created.id) || ''}`;
|
|
103
103
|
if (!id)
|
|
104
104
|
throw new Error('.id (string) is missing - insert() failed!');
|
|
105
|
-
this.NS && engine_1._log(this.NS, `> model.base =`, engine_1.$U.json(model));
|
|
105
|
+
this.NS && (0, engine_1._log)(this.NS, `> model.base =`, engine_1.$U.json(model));
|
|
106
106
|
const $saves = Object.assign({}, model); // clone
|
|
107
107
|
delete $saves.id; // ensure there is no 'id' field
|
|
108
108
|
const saved = yield this.storage.save(id, $saves);
|
|
109
|
-
this.NS && engine_1._log(this.NS, `> model.saved =`, engine_1.$U.json(saved));
|
|
109
|
+
this.NS && (0, engine_1._log)(this.NS, `> model.saved =`, engine_1.$U.json(saved));
|
|
110
110
|
return Object.assign(Object.assign(Object.assign({}, created), saved), { id });
|
|
111
111
|
});
|
|
112
112
|
}
|
|
@@ -116,7 +116,7 @@ class AbstractManager extends proxy_storage_service_1.GeneralModelFilter {
|
|
|
116
116
|
*/
|
|
117
117
|
retrieve(id) {
|
|
118
118
|
return __awaiter(this, void 0, void 0, function* () {
|
|
119
|
-
this.NS && engine_1._inf(this.NS, `retrieve(${this.type}/${id})...`);
|
|
119
|
+
this.NS && (0, engine_1._inf)(this.NS, `retrieve(${this.type}/${id})...`);
|
|
120
120
|
if (!id)
|
|
121
121
|
throw new Error(`@id is required!`);
|
|
122
122
|
return this.storage.read(id).catch(e => {
|
|
@@ -134,7 +134,7 @@ class AbstractManager extends proxy_storage_service_1.GeneralModelFilter {
|
|
|
134
134
|
*/
|
|
135
135
|
update(id, model, $inc) {
|
|
136
136
|
return __awaiter(this, void 0, void 0, function* () {
|
|
137
|
-
this.NS && engine_1._inf(this.NS, `update(${this.type}/${id})...`);
|
|
137
|
+
this.NS && (0, engine_1._inf)(this.NS, `update(${this.type}/${id})...`);
|
|
138
138
|
return this._updateModel(id, model, $inc, false);
|
|
139
139
|
});
|
|
140
140
|
}
|
|
@@ -146,7 +146,7 @@ class AbstractManager extends proxy_storage_service_1.GeneralModelFilter {
|
|
|
146
146
|
*/
|
|
147
147
|
updateOrCreate(id, model, $inc) {
|
|
148
148
|
return __awaiter(this, void 0, void 0, function* () {
|
|
149
|
-
this.NS && engine_1._inf(this.NS, `updateOrCreate(${this.type}/${id})...`);
|
|
149
|
+
this.NS && (0, engine_1._inf)(this.NS, `updateOrCreate(${this.type}/${id})...`);
|
|
150
150
|
return this._updateModel(id, model, $inc, true);
|
|
151
151
|
});
|
|
152
152
|
}
|
|
@@ -157,13 +157,13 @@ class AbstractManager extends proxy_storage_service_1.GeneralModelFilter {
|
|
|
157
157
|
*/
|
|
158
158
|
delete(id, destroy = true) {
|
|
159
159
|
return __awaiter(this, void 0, void 0, function* () {
|
|
160
|
-
this.NS && engine_1._inf(this.NS, `delete(${this.type}/${id})...`);
|
|
160
|
+
this.NS && (0, engine_1._inf)(this.NS, `delete(${this.type}/${id})...`);
|
|
161
161
|
if (!id)
|
|
162
162
|
throw new Error(`@id is required!`);
|
|
163
163
|
const $org = yield this.prepare(id, null, false);
|
|
164
|
-
this.NS && engine_1._log(this.NS, `> model.org =`, engine_1.$U.json($org));
|
|
164
|
+
this.NS && (0, engine_1._log)(this.NS, `> model.org =`, engine_1.$U.json($org));
|
|
165
165
|
const deleted = yield this.storage.delete(id, destroy);
|
|
166
|
-
this.NS && engine_1._log(this.NS, `> model.deleted =`, engine_1.$U.json(deleted));
|
|
166
|
+
this.NS && (0, engine_1._log)(this.NS, `> model.deleted =`, engine_1.$U.json(deleted));
|
|
167
167
|
return Object.assign(Object.assign(Object.assign({}, $org), deleted), { id });
|
|
168
168
|
});
|
|
169
169
|
}
|
|
@@ -180,10 +180,10 @@ class AbstractManager extends proxy_storage_service_1.GeneralModelFilter {
|
|
|
180
180
|
if (!id)
|
|
181
181
|
throw new Error(`@id is required!`);
|
|
182
182
|
const $org = yield this.prepare(id, null, isCreate);
|
|
183
|
-
this.NS && engine_1._log(this.NS, `> model.org =`, engine_1.$U.json($org));
|
|
183
|
+
this.NS && (0, engine_1._log)(this.NS, `> model.org =`, engine_1.$U.json($org));
|
|
184
184
|
const $ups = Object.assign({}, model);
|
|
185
185
|
const updated = yield this.storage.update(id, $ups, $inc);
|
|
186
|
-
this.NS && engine_1._log(this.NS, `> model.updated =`, engine_1.$U.json(updated));
|
|
186
|
+
this.NS && (0, engine_1._log)(this.NS, `> model.updated =`, engine_1.$U.json(updated));
|
|
187
187
|
return Object.assign(Object.assign(Object.assign({}, $org), updated), { id });
|
|
188
188
|
});
|
|
189
189
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-manager.js","sourceRoot":"","sources":["../../../src/cores/storage/model-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { GeneralAPIController } from '
|
|
1
|
+
import { Elastic6SimpleQueriable, CoreModel } from 'lemon-model';
|
|
2
|
+
import { StorageService } from './storage-service';
|
|
3
|
+
import { GeneralAPIController } from '../../controllers/general-api-controller';
|
|
4
4
|
/**
|
|
5
5
|
* class: `CoreKey`
|
|
6
6
|
* - to represent internal partition-key and model-id.
|
|
@@ -43,75 +43,6 @@ export interface CoreKeyMakeable<ModelType extends string> {
|
|
|
43
43
|
*/
|
|
44
44
|
asKey?(type: ModelType, id: string): string;
|
|
45
45
|
}
|
|
46
|
-
/**
|
|
47
|
-
* class: `InternalModel`
|
|
48
|
-
* - common internal properties. (ONLY FOR INTERNAL PROCESSING)
|
|
49
|
-
*/
|
|
50
|
-
export interface InternalModel<T> {
|
|
51
|
-
/**
|
|
52
|
-
* internal unique partition-key (valid if using default idName )
|
|
53
|
-
*/
|
|
54
|
-
_id?: string;
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* class: `CoreModel`
|
|
58
|
-
* - general model out of base Model to support the common usage
|
|
59
|
-
*/
|
|
60
|
-
export interface CoreModel<ModelType extends string> extends StorageModel, InternalModel<CoreModel<ModelType>> {
|
|
61
|
-
/**
|
|
62
|
-
* namespace
|
|
63
|
-
*/
|
|
64
|
-
ns?: string;
|
|
65
|
-
/**
|
|
66
|
-
* type of model
|
|
67
|
-
*/
|
|
68
|
-
type?: ModelType;
|
|
69
|
-
/**
|
|
70
|
-
* stereo: stereo-type in common type.
|
|
71
|
-
*/
|
|
72
|
-
stereo?: string;
|
|
73
|
-
/**
|
|
74
|
-
* site-id
|
|
75
|
-
*/
|
|
76
|
-
sid?: string;
|
|
77
|
-
/**
|
|
78
|
-
* user-id
|
|
79
|
-
*/
|
|
80
|
-
uid?: string;
|
|
81
|
-
/**
|
|
82
|
-
* group-id
|
|
83
|
-
*/
|
|
84
|
-
gid?: string;
|
|
85
|
-
/**
|
|
86
|
-
* lock count to secure sync
|
|
87
|
-
*/
|
|
88
|
-
lock?: number;
|
|
89
|
-
/**
|
|
90
|
-
* next sequence number (use `nextSeq()`)
|
|
91
|
-
*/
|
|
92
|
-
next?: number;
|
|
93
|
-
/**
|
|
94
|
-
* meta the json stringified string.
|
|
95
|
-
*/
|
|
96
|
-
meta?: string | any;
|
|
97
|
-
/**
|
|
98
|
-
* created timestamp
|
|
99
|
-
*/
|
|
100
|
-
createdAt?: number;
|
|
101
|
-
/**
|
|
102
|
-
* updated timestamp
|
|
103
|
-
*/
|
|
104
|
-
updatedAt?: number;
|
|
105
|
-
/**
|
|
106
|
-
* deleted timestamp
|
|
107
|
-
*/
|
|
108
|
-
deletedAt?: number;
|
|
109
|
-
/**
|
|
110
|
-
* error message will be set if error occurred
|
|
111
|
-
*/
|
|
112
|
-
error?: string;
|
|
113
|
-
}
|
|
114
|
-
export declare const CORE_FIELDS: string[];
|
|
115
46
|
/**
|
|
116
47
|
* type: ModelFilter
|
|
117
48
|
*
|
|
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.UniqueFieldManager = exports.ModelUtil = exports.TypedStorageService = exports.ProxyStorageService = exports.GeneralModelFilter = exports.GeneralKeyMaker =
|
|
12
|
+
exports.UniqueFieldManager = exports.ModelUtil = exports.TypedStorageService = exports.ProxyStorageService = exports.GeneralModelFilter = exports.GeneralKeyMaker = void 0;
|
|
13
13
|
/**
|
|
14
14
|
* `proxy-storage-service.js`
|
|
15
15
|
* - common service for `accounts`
|
|
@@ -21,15 +21,12 @@ exports.UniqueFieldManager = exports.ModelUtil = exports.TypedStorageService = e
|
|
|
21
21
|
* @copyright (C) 2019 LemonCloud Co Ltd. - All Rights Reserved.
|
|
22
22
|
*/
|
|
23
23
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
24
|
-
const engine_1 = require("
|
|
24
|
+
const engine_1 = require("../../engine/");
|
|
25
|
+
const lemon_model_1 = require("lemon-model");
|
|
26
|
+
const test_helper_1 = require("../../common/test-helper");
|
|
25
27
|
const storage_service_1 = require("./storage-service");
|
|
26
|
-
const
|
|
27
|
-
const general_api_controller_1 = require("../controllers/general-api-controller");
|
|
28
|
+
const general_api_controller_1 = require("../../controllers/general-api-controller");
|
|
28
29
|
const NS = engine_1.$U.NS('PSTR', 'blue'); // NAMESPACE TO BE PRINTED.
|
|
29
|
-
//NOTE! - BE WARE TO USE `ts-transformer-keys` DUE TO MISSING `ttypescript`
|
|
30
|
-
// export const CORE_FIELDS: string[] = keys<CoreModel>().filter(_ => !_.startsWith('_'));
|
|
31
|
-
// _inf(NS, '! CORE_FIELDS =', CORE_FIELDS.join(', ')); // for debugging.
|
|
32
|
-
exports.CORE_FIELDS = 'ns,type,sid,uid,gid,lock,next,meta,createdAt,updatedAt,deletedAt'.split(',');
|
|
33
30
|
/**
|
|
34
31
|
* class: `GeneralKeyMaker`
|
|
35
32
|
* - use ':' as delimiter to join [ns, type, id]
|
|
@@ -308,17 +305,14 @@ class ProxyStorageService {
|
|
|
308
305
|
*/
|
|
309
306
|
nextSeq(type, initNext) {
|
|
310
307
|
return __awaiter(this, void 0, void 0, function* () {
|
|
311
|
-
engine_1._log(NS, `nextSeq(${type})..`);
|
|
308
|
+
(0, engine_1._log)(NS, `nextSeq(${type})..`);
|
|
312
309
|
const { createdAt, updatedAt } = this.asTime();
|
|
313
310
|
const _id = this.asKey(ProxyStorageService.TYPE_SEQUENCE, `${type}`);
|
|
314
|
-
// eslint-disable-next-line @typescript-eslint/no-object-literal-type-assertion
|
|
315
311
|
let res = yield this.storage.increment(_id, { next: 1 }, { updatedAt }); // it will create new row if not exists. (like upset)
|
|
316
312
|
if (res.next == 1) {
|
|
317
313
|
const $key = this.service.asKey$(ProxyStorageService.TYPE_SEQUENCE, `${type}`);
|
|
318
314
|
initNext = initNext === undefined ? ProxyStorageService.AUTO_SEQUENCE : initNext;
|
|
319
|
-
// eslint-disable-next-line @typescript-eslint/no-object-literal-type-assertion
|
|
320
315
|
const $upd = { next: initNext };
|
|
321
|
-
// eslint-disable-next-line @typescript-eslint/no-object-literal-type-assertion
|
|
322
316
|
const $inc = Object.assign(Object.assign({}, $key), { createdAt, updatedAt });
|
|
323
317
|
res = yield this.storage.increment(_id, $upd, $inc); //! increment w/ update-set
|
|
324
318
|
}
|
|
@@ -331,7 +325,7 @@ class ProxyStorageService {
|
|
|
331
325
|
*/
|
|
332
326
|
nextUuid(type) {
|
|
333
327
|
return __awaiter(this, void 0, void 0, function* () {
|
|
334
|
-
engine_1._log(NS, `nextUuid(${type})..`);
|
|
328
|
+
(0, engine_1._log)(NS, `nextUuid(${type})..`);
|
|
335
329
|
return engine_1.$U.uuid();
|
|
336
330
|
});
|
|
337
331
|
}
|
|
@@ -351,7 +345,7 @@ class ProxyStorageService {
|
|
|
351
345
|
*/
|
|
352
346
|
clearSeq(type) {
|
|
353
347
|
return __awaiter(this, void 0, void 0, function* () {
|
|
354
|
-
engine_1._log(NS, `nextSeq(${type})..`);
|
|
348
|
+
(0, engine_1._log)(NS, `nextSeq(${type})..`);
|
|
355
349
|
const _id = this.asKey(ProxyStorageService.TYPE_SEQUENCE, `${type}`);
|
|
356
350
|
yield this.storage.delete(_id);
|
|
357
351
|
});
|
|
@@ -462,7 +456,7 @@ class ProxyStorageService {
|
|
|
462
456
|
model[this.idName] = _id; //! make sure the internal id
|
|
463
457
|
//! apply filter.
|
|
464
458
|
const $ups = this.filters.beforeSave(model, $org); //! `$org` should be null if create.
|
|
465
|
-
engine_1._log(NS, `> ${type}[${id}].update =`, engine_1.$U.json($ups));
|
|
459
|
+
(0, engine_1._log)(NS, `> ${type}[${id}].update =`, engine_1.$U.json($ups));
|
|
466
460
|
//! if null, then nothing to update.
|
|
467
461
|
if (!$ups) {
|
|
468
462
|
const res = { [this.idName]: _id };
|
|
@@ -531,7 +525,7 @@ class ProxyStorageService {
|
|
|
531
525
|
//! then, try to increment the lock
|
|
532
526
|
return incLock(_id, ttl > 0 ? 1 : 0);
|
|
533
527
|
});
|
|
534
|
-
engine_1._log(NS, `! waitLock(${_id}, ${ttl}). lock =`, lock);
|
|
528
|
+
(0, engine_1._log)(NS, `! waitLock(${_id}, ${ttl}). lock =`, lock);
|
|
535
529
|
if (lock == 1 || lock == 0) {
|
|
536
530
|
return true;
|
|
537
531
|
}
|
|
@@ -553,7 +547,7 @@ class ProxyStorageService {
|
|
|
553
547
|
*/
|
|
554
548
|
doRelease(type, id) {
|
|
555
549
|
return __awaiter(this, void 0, void 0, function* () {
|
|
556
|
-
engine_1._log(NS, `doRelease(${type}, ${id})... `);
|
|
550
|
+
(0, engine_1._log)(NS, `doRelease(${type}, ${id})... `);
|
|
557
551
|
const _id = this.asKey(type, id);
|
|
558
552
|
const $up = { lock: 0 };
|
|
559
553
|
const node = yield this.storage.update(_id, $up).catch(() => ({ lock: 0 }));
|
|
@@ -586,7 +580,7 @@ class ProxyStorageService {
|
|
|
586
580
|
else {
|
|
587
581
|
if (!fields)
|
|
588
582
|
throw new Error(`@fields (list of field) is required!`);
|
|
589
|
-
fields = clearDuplicated(
|
|
583
|
+
fields = clearDuplicated(lemon_model_1.CORE_FIELDS.concat(fields));
|
|
590
584
|
return new storage_service_1.DynamoStorageService(table, fields, idName);
|
|
591
585
|
}
|
|
592
586
|
}
|
|
@@ -654,7 +648,7 @@ class TypedStorageService {
|
|
|
654
648
|
this.insert = (node) => __awaiter(this, void 0, void 0, function* () {
|
|
655
649
|
return this.nextId().then(_ => {
|
|
656
650
|
const id = `${_}`;
|
|
657
|
-
engine_1._log(NS, `> next-id[${this.type}] =`, id);
|
|
651
|
+
(0, engine_1._log)(NS, `> next-id[${this.type}] =`, id);
|
|
658
652
|
return this.readOrCreate(id, Object.assign(Object.assign({}, node), { id }));
|
|
659
653
|
});
|
|
660
654
|
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proxy-storage-service.js","sourceRoot":"","sources":["../../../src/cores/storage/proxy-storage-service.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
@@ -23,7 +23,7 @@ exports.DummyRedisStorageService = exports.RedisStorageService = void 0;
|
|
|
23
23
|
* @copyright (C) lemoncloud.io 2020 - All Rights Reserved.
|
|
24
24
|
*/
|
|
25
25
|
const ioredis_1 = __importDefault(require("ioredis"));
|
|
26
|
-
const engine_1 = require("
|
|
26
|
+
const engine_1 = require("../../engine");
|
|
27
27
|
// Log namespace
|
|
28
28
|
const NS = engine_1.$U.NS('RSTR', 'blue');
|
|
29
29
|
/** ********************************************************************************************************************
|
|
@@ -57,9 +57,9 @@ class RedisStorageService {
|
|
|
57
57
|
this.tableName = tableName;
|
|
58
58
|
}
|
|
59
59
|
this.ttl = defTimeout;
|
|
60
|
-
engine_1._inf(NS, `RedisStorageService constructed.`);
|
|
61
|
-
engine_1._inf(NS, ` > tableName =`, this.tableName);
|
|
62
|
-
engine_1._inf(NS, ` > default TTL =`, this.ttl);
|
|
60
|
+
(0, engine_1._inf)(NS, `RedisStorageService constructed.`);
|
|
61
|
+
(0, engine_1._inf)(NS, ` > tableName =`, this.tableName);
|
|
62
|
+
(0, engine_1._inf)(NS, ` > default TTL =`, this.ttl);
|
|
63
63
|
}
|
|
64
64
|
/**
|
|
65
65
|
* Say hello
|
|
@@ -88,7 +88,7 @@ class RedisStorageService {
|
|
|
88
88
|
const data = yield this.redis.hgetall(key); // {} if the key does not exist
|
|
89
89
|
if (Object.keys(data).length > 0) {
|
|
90
90
|
const ret = this.deserialize(data);
|
|
91
|
-
engine_1._log(NS, `> read[${id}].ret =`, engine_1.$U.json(ret));
|
|
91
|
+
(0, engine_1._log)(NS, `> read[${id}].ret =`, engine_1.$U.json(ret));
|
|
92
92
|
return ret;
|
|
93
93
|
}
|
|
94
94
|
throw new Error(`404 NOT FOUND - ${this.tableName}/${id}`);
|
|
@@ -115,7 +115,7 @@ class RedisStorageService {
|
|
|
115
115
|
if (Object.keys(data).length > 0) {
|
|
116
116
|
yield this.redis.unwatch(); // Unlock
|
|
117
117
|
const ret = this.deserialize(data);
|
|
118
|
-
engine_1._log(NS, `> readOrCreate[${id}(read)].ret =`, engine_1.$U.json(ret));
|
|
118
|
+
(0, engine_1._log)(NS, `> readOrCreate[${id}(read)].ret =`, engine_1.$U.json(ret));
|
|
119
119
|
return ret;
|
|
120
120
|
}
|
|
121
121
|
// 2. Otherwise try to create a new model
|
|
@@ -127,12 +127,12 @@ class RedisStorageService {
|
|
|
127
127
|
if (results) {
|
|
128
128
|
RedisStorageService.throwIfTransactionError(results);
|
|
129
129
|
const ret = this.deserialize(data);
|
|
130
|
-
engine_1._log(NS, `> readOrCreate[${id}(created)].ret =`, engine_1.$U.json(ret));
|
|
130
|
+
(0, engine_1._log)(NS, `> readOrCreate[${id}(created)].ret =`, engine_1.$U.json(ret));
|
|
131
131
|
return ret;
|
|
132
132
|
}
|
|
133
133
|
}
|
|
134
134
|
const message = `transaction max retries exceeded.`;
|
|
135
|
-
engine_1._err(NS, `> readOrCreate[${id}].err =`, message);
|
|
135
|
+
(0, engine_1._err)(NS, `> readOrCreate[${id}].err =`, message);
|
|
136
136
|
throw new Error(`redis transaction error: ${message}`);
|
|
137
137
|
});
|
|
138
138
|
}
|
|
@@ -161,7 +161,7 @@ class RedisStorageService {
|
|
|
161
161
|
const results = yield pipeline.exec();
|
|
162
162
|
RedisStorageService.throwIfTransactionError(results);
|
|
163
163
|
const ret = this.deserialize(data);
|
|
164
|
-
engine_1._log(NS, `> save[${id}].ret =`, engine_1.$U.json(ret));
|
|
164
|
+
(0, engine_1._log)(NS, `> save[${id}].ret =`, engine_1.$U.json(ret));
|
|
165
165
|
return ret;
|
|
166
166
|
});
|
|
167
167
|
}
|
|
@@ -178,7 +178,7 @@ class RedisStorageService {
|
|
|
178
178
|
if (!update)
|
|
179
179
|
throw new Error(`@update is required.`);
|
|
180
180
|
const ret = yield this.updateCAS(id, update, increment);
|
|
181
|
-
engine_1._log(NS, `> update[${id}].ret =`, engine_1.$U.json(ret));
|
|
181
|
+
(0, engine_1._log)(NS, `> update[${id}].ret =`, engine_1.$U.json(ret));
|
|
182
182
|
return ret;
|
|
183
183
|
});
|
|
184
184
|
}
|
|
@@ -196,7 +196,7 @@ class RedisStorageService {
|
|
|
196
196
|
if (!increment)
|
|
197
197
|
throw new Error(`@increment is required.`);
|
|
198
198
|
const ret = yield this.updateCAS(id, update, increment);
|
|
199
|
-
engine_1._log(NS, `> increment[${id}].ret =`, engine_1.$U.json(ret));
|
|
199
|
+
(0, engine_1._log)(NS, `> increment[${id}].ret =`, engine_1.$U.json(ret));
|
|
200
200
|
return ret;
|
|
201
201
|
});
|
|
202
202
|
}
|
|
@@ -221,7 +221,7 @@ class RedisStorageService {
|
|
|
221
221
|
const data = results[0][1];
|
|
222
222
|
if (Object.keys(data).length > 0) {
|
|
223
223
|
const ret = this.deserialize(data);
|
|
224
|
-
engine_1._log(NS, `> delete[${id}].ret =`, engine_1.$U.json(ret));
|
|
224
|
+
(0, engine_1._log)(NS, `> delete[${id}].ret =`, engine_1.$U.json(ret));
|
|
225
225
|
return ret;
|
|
226
226
|
}
|
|
227
227
|
throw new Error(`404 NOT FOUND - ${this.tableName}/${id}`);
|
|
@@ -295,7 +295,7 @@ class RedisStorageService {
|
|
|
295
295
|
}
|
|
296
296
|
}
|
|
297
297
|
const message = `transaction max retries exceeded.`;
|
|
298
|
-
engine_1._err(NS, `> updateCAS[${id}].err =`, message);
|
|
298
|
+
(0, engine_1._err)(NS, `> updateCAS[${id}].err =`, message);
|
|
299
299
|
throw new Error(`redis error: ${message}`);
|
|
300
300
|
});
|
|
301
301
|
}
|
|
@@ -355,7 +355,7 @@ class DummyRedisStorageService extends RedisStorageService {
|
|
|
355
355
|
constructor() {
|
|
356
356
|
super({
|
|
357
357
|
endpoint: 'localhost:6379',
|
|
358
|
-
tableName: ++DummyRedisStorageService.dbIndex,
|
|
358
|
+
tableName: ++DummyRedisStorageService.dbIndex, // Open non-default DB
|
|
359
359
|
});
|
|
360
360
|
}
|
|
361
361
|
/**
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redis-storage-service.js","sourceRoot":"","sources":["../../../src/cores/storage/redis-storage-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
* only for type information for internal partition-key.
|
|
4
|
-
*/
|
|
5
|
-
export interface InternalKey {
|
|
6
|
-
_id?: string;
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* use shared `NoSQL` data storage. (ex: DynamoDB, MongoDB, ...)
|
|
10
|
-
* - use `key-value` simple storage service.
|
|
11
|
-
* - `no-search`: need to support 'search' function. (but scan)
|
|
12
|
-
*/
|
|
13
|
-
export interface StorageModel extends InternalKey {
|
|
14
|
-
id?: string;
|
|
15
|
-
type?: string;
|
|
16
|
-
stereo?: string;
|
|
17
|
-
meta?: string | any;
|
|
18
|
-
}
|
|
1
|
+
import { StorageModel } from 'lemon-model';
|
|
2
|
+
export { StorageModel };
|
|
19
3
|
/**
|
|
20
4
|
* Abstract Concept of `StorageService`
|
|
21
5
|
* - simplified `storage-service` for `NoSQL` data.
|
|
@@ -73,7 +57,10 @@ export interface StorageService<T extends StorageModel> {
|
|
|
73
57
|
*/
|
|
74
58
|
delete(id: string): Promise<T>;
|
|
75
59
|
}
|
|
76
|
-
|
|
60
|
+
/** ****************************************************************************************************************
|
|
61
|
+
* Data Storage Service
|
|
62
|
+
** ****************************************************************************************************************/
|
|
63
|
+
import { KEY_TYPE } from '../dynamo/';
|
|
77
64
|
/**
|
|
78
65
|
* class: `DynamoStorageService`
|
|
79
66
|
* - service via DynamoDB with id + json data.
|