@trunkrs/common 1.4.4 → 1.4.9
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/package.json +1 -1
- package/services/aws/dynamodb/BaseDynamoDataStorage.d.ts +6 -1
- package/services/aws/dynamodb/BaseDynamoDataStorage.js +9 -0
- package/services/aws/dynamodb/BaseDynamoDataStorage.js.map +1 -1
- package/services/aws/dynamodb/DynamoDataStorage.js +4 -9
- package/services/aws/dynamodb/DynamoDataStorage.js.map +1 -1
- package/services/aws/dynamodb/DynamoIndexDataStorage.js +14 -5
- package/services/aws/dynamodb/DynamoIndexDataStorage.js.map +1 -1
- package/services/aws/dynamodb/utils/index.d.ts +1 -1
- package/services/aws/dynamodb/utils/index.js.map +1 -1
- package/services/aws/dynamodb/utils/query/QueryBuilder.d.ts +5 -1
- package/services/aws/dynamodb/utils/query/QueryBuilder.js +17 -11
- package/services/aws/dynamodb/utils/query/QueryBuilder.js.map +1 -1
- package/utils/caching/S3Cache.d.ts +18 -0
- package/utils/caching/S3Cache.js +114 -0
- package/utils/caching/S3Cache.js.map +1 -0
- package/utils/caching/index.d.ts +1 -0
- package/utils/caching/index.js +3 -1
- package/utils/caching/index.js.map +1 -1
- package/utils/controllers/HttpControllerFactory.js +0 -3
- package/utils/controllers/HttpControllerFactory.js.map +1 -1
- package/utils/handlers/HttpHandlerBuilder/index.js +3 -3
- package/utils/handlers/HttpHandlerBuilder/index.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,9 +1,14 @@
|
|
|
1
|
-
import { DynamoDB } from 'aws-sdk';
|
|
1
|
+
import { AWSError, DynamoDB } from 'aws-sdk';
|
|
2
|
+
import { Key } from 'aws-sdk/clients/dynamodb';
|
|
3
|
+
import { PromiseResult } from 'aws-sdk/lib/request';
|
|
4
|
+
import { DocumentClient } from 'aws-sdk/lib/dynamodb/document_client';
|
|
5
|
+
import { QueryOperation } from './utils';
|
|
2
6
|
declare abstract class BaseDynamoDataStorage<TEntity> {
|
|
3
7
|
protected readonly tableName: string;
|
|
4
8
|
protected abstract readonly keys: Array<keyof TEntity>;
|
|
5
9
|
protected readonly documentClient: DynamoDB.DocumentClient;
|
|
6
10
|
protected constructor(tableName: string);
|
|
11
|
+
protected executeQueryOperation({ operation, query }: QueryOperation, lastKey?: Key): Promise<PromiseResult<DocumentClient.QueryOutput, AWSError>>;
|
|
7
12
|
protected getKeyPairFromModel(model: TEntity): Partial<TEntity>;
|
|
8
13
|
}
|
|
9
14
|
export default BaseDynamoDataStorage;
|
|
@@ -6,6 +6,15 @@ class BaseDynamoDataStorage {
|
|
|
6
6
|
this.tableName = tableName;
|
|
7
7
|
this.documentClient = new aws_sdk_1.DynamoDB.DocumentClient();
|
|
8
8
|
}
|
|
9
|
+
executeQueryOperation({ operation, query }, lastKey) {
|
|
10
|
+
return operation === 'Query'
|
|
11
|
+
? this.documentClient
|
|
12
|
+
.query({ ...query, ExclusiveStartKey: lastKey })
|
|
13
|
+
.promise()
|
|
14
|
+
: this.documentClient
|
|
15
|
+
.scan({ ...query, ExclusiveStartKey: lastKey })
|
|
16
|
+
.promise();
|
|
17
|
+
}
|
|
9
18
|
getKeyPairFromModel(model) {
|
|
10
19
|
const keyDictionary = {};
|
|
11
20
|
this.keys.forEach((key) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseDynamoDataStorage.js","sourceRoot":"","sources":["../../../../services/aws/dynamodb/BaseDynamoDataStorage.ts"],"names":[],"mappings":";;AAAA,
|
|
1
|
+
{"version":3,"file":"BaseDynamoDataStorage.js","sourceRoot":"","sources":["../../../../services/aws/dynamodb/BaseDynamoDataStorage.ts"],"names":[],"mappings":";;AAAA,qCAA4C;AAQ5C,MAAe,qBAAqB;IAKlC,YAAyC,SAAiB;QAAjB,cAAS,GAAT,SAAS,CAAQ;QACxD,IAAI,CAAC,cAAc,GAAG,IAAI,kBAAQ,CAAC,cAAc,EAAE,CAAA;IACrD,CAAC;IAES,qBAAqB,CAC7B,EAAE,SAAS,EAAE,KAAK,EAAkB,EACpC,OAAa;QAEb,OAAO,SAAS,KAAK,OAAO;YAC1B,CAAC,CAAC,IAAI,CAAC,cAAc;iBAChB,KAAK,CAAC,EAAE,GAAG,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC;iBAC/C,OAAO,EAAE;YACd,CAAC,CAAC,IAAI,CAAC,cAAc;iBAChB,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC;iBAC9C,OAAO,EAAE,CAAA;IAClB,CAAC;IAES,mBAAmB,CAAC,KAAc;QAC1C,MAAM,aAAa,GAAqB,EAAE,CAAA;QAE1C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACxB,aAAa,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAA;QACjC,CAAC,CAAC,CAAA;QAEF,OAAO,aAAa,CAAA;IACtB,CAAC;CACF;AAED,kBAAe,qBAAqB,CAAA"}
|
|
@@ -64,16 +64,11 @@ class DynamoDataStorage extends BaseDynamoDataStorage_1.default {
|
|
|
64
64
|
}
|
|
65
65
|
async find(query) {
|
|
66
66
|
var _a;
|
|
67
|
-
const
|
|
67
|
+
const operation = utils_1.QueryBuilder.buildQuery(query, this.tableName, this.keys);
|
|
68
68
|
const results = [];
|
|
69
69
|
let lastEvaluatedKey;
|
|
70
70
|
do {
|
|
71
|
-
const page = await this.
|
|
72
|
-
.query({
|
|
73
|
-
...dynamoQuery,
|
|
74
|
-
ExclusiveStartKey: lastEvaluatedKey,
|
|
75
|
-
})
|
|
76
|
-
.promise();
|
|
71
|
+
const page = await this.executeQueryOperation(operation, lastEvaluatedKey);
|
|
77
72
|
if ((_a = page.Items) === null || _a === void 0 ? void 0 : _a.length) {
|
|
78
73
|
results.push(...page.Items);
|
|
79
74
|
}
|
|
@@ -86,8 +81,8 @@ class DynamoDataStorage extends BaseDynamoDataStorage_1.default {
|
|
|
86
81
|
...query,
|
|
87
82
|
limit: 1,
|
|
88
83
|
};
|
|
89
|
-
const
|
|
90
|
-
const results = await this.
|
|
84
|
+
const operation = utils_1.QueryBuilder.buildQuery(limitedQuery, this.tableName, this.keys);
|
|
85
|
+
const results = await this.executeQueryOperation(operation);
|
|
91
86
|
return results.Items ? results.Items[0] : null;
|
|
92
87
|
}
|
|
93
88
|
async remove(entity) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DynamoDataStorage.js","sourceRoot":"","sources":["../../../../services/aws/dynamodb/DynamoDataStorage.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"DynamoDataStorage.js","sourceRoot":"","sources":["../../../../services/aws/dynamodb/DynamoDataStorage.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,17 +11,26 @@ class DynamoIndexDataStorage extends BaseDynamoDataStorage_1.default {
|
|
|
11
11
|
this.indexName = indexName;
|
|
12
12
|
}
|
|
13
13
|
async find(query) {
|
|
14
|
-
|
|
15
|
-
const
|
|
16
|
-
|
|
14
|
+
var _a;
|
|
15
|
+
const operation = utils_1.QueryBuilder.buildQuery(query, this.tableName, this.keys, this.indexName);
|
|
16
|
+
const results = [];
|
|
17
|
+
let lastEvaluatedKey;
|
|
18
|
+
do {
|
|
19
|
+
const page = await this.executeQueryOperation(operation, lastEvaluatedKey);
|
|
20
|
+
if ((_a = page.Items) === null || _a === void 0 ? void 0 : _a.length) {
|
|
21
|
+
results.push(...page.Items);
|
|
22
|
+
}
|
|
23
|
+
lastEvaluatedKey = page.LastEvaluatedKey;
|
|
24
|
+
} while (lastEvaluatedKey);
|
|
25
|
+
return results;
|
|
17
26
|
}
|
|
18
27
|
async findOne(query) {
|
|
19
28
|
const limitedQuery = {
|
|
20
29
|
...query,
|
|
21
30
|
limit: 1,
|
|
22
31
|
};
|
|
23
|
-
const
|
|
24
|
-
const results = await this.
|
|
32
|
+
const operation = utils_1.QueryBuilder.buildQuery(limitedQuery, this.tableName, this.keys, this.indexName);
|
|
33
|
+
const results = await this.executeQueryOperation(operation);
|
|
25
34
|
return results.Items ? results.Items[0] : null;
|
|
26
35
|
}
|
|
27
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DynamoIndexDataStorage.js","sourceRoot":"","sources":["../../../../services/aws/dynamodb/DynamoIndexDataStorage.ts"],"names":[],"mappings":";;;;;AAEA,oFAA2D;AAC3D,mCAAuD;AAGvD,MAAe,sBACb,SAAQ,+BAA8B;IAGtC,YACE,SAAiB,EACE,SAAiB;QAEpC,KAAK,CAAC,SAAS,CAAC,CAAA;QAFG,cAAS,GAAT,SAAS,CAAQ;IAGtC,CAAC;IAEM,KAAK,CAAC,IAAI,CACf,KAA+B
|
|
1
|
+
{"version":3,"file":"DynamoIndexDataStorage.js","sourceRoot":"","sources":["../../../../services/aws/dynamodb/DynamoIndexDataStorage.ts"],"names":[],"mappings":";;;;;AAEA,oFAA2D;AAC3D,mCAAuD;AAGvD,MAAe,sBACb,SAAQ,+BAA8B;IAGtC,YACE,SAAiB,EACE,SAAiB;QAEpC,KAAK,CAAC,SAAS,CAAC,CAAA;QAFG,cAAS,GAAT,SAAS,CAAQ;IAGtC,CAAC;IAEM,KAAK,CAAC,IAAI,CACf,KAA+B;;QAE/B,MAAM,SAAS,GAAG,oBAAY,CAAC,UAAU,CACvC,KAAK,EACL,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,SAAS,CACf,CAAA;QAED,MAAM,OAAO,GAAG,EAAE,CAAA;QAClB,IAAI,gBAAgB,CAAA;QAEpB,GAAG;YAED,MAAM,IAAI,GAA+B,MAAM,IAAI,CAAC,qBAAqB,CACvE,SAAS,EACT,gBAAgB,CACjB,CAAA;YAED,IAAI,MAAA,IAAI,CAAC,KAAK,0CAAE,MAAM,EAAE;gBACtB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAA;aAC5B;YAED,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAA;SACzC,QAAQ,gBAAgB,EAAC;QAE1B,OAAO,OAA0B,CAAA;IACnC,CAAC;IAEM,KAAK,CAAC,OAAO,CAClB,KAA8C;QAE9C,MAAM,YAAY,GAAG;YACnB,GAAG,KAAK;YACR,KAAK,EAAE,CAAC;SACT,CAAA;QAED,MAAM,SAAS,GAAG,oBAAY,CAAC,UAAU,CACvC,YAAY,EACZ,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,SAAS,CACf,CAAA;QAGD,MAAM,OAAO,GACX,MAAM,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAA;QAC7C,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,CAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAa,CAAC,CAAC,CAAC,IAAI,CAAA;IAC7D,CAAC;CACF;AAED,kBAAe,sBAAsB,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { default as QueryParameters } from './query/QueryParameters';
|
|
2
2
|
export { default as QueryWhereStatement } from './query/QueryWhereStatement';
|
|
3
|
-
export { default as QueryBuilder } from './query/QueryBuilder';
|
|
3
|
+
export { default as QueryBuilder, QueryOperation } from './query/QueryBuilder';
|
|
4
4
|
export { default as PrimaryKey } from './PrimaryKey';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../services/aws/dynamodb/utils/index.ts"],"names":[],"mappings":";;;;;;AAGA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../services/aws/dynamodb/utils/index.ts"],"names":[],"mappings":";;;;;;AAGA,qDAA8E;AAArE,6HAAA,OAAO,OAAgB"}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { DynamoDB } from 'aws-sdk';
|
|
2
2
|
import QueryParameters from './QueryParameters';
|
|
3
|
+
export interface QueryOperation {
|
|
4
|
+
operation: 'Query' | 'Scan';
|
|
5
|
+
query: DynamoDB.DocumentClient.QueryInput;
|
|
6
|
+
}
|
|
3
7
|
declare class QueryBuilder {
|
|
4
8
|
private static buildProjectionExpression;
|
|
5
9
|
private static buildAttributeValues;
|
|
@@ -7,6 +11,6 @@ declare class QueryBuilder {
|
|
|
7
11
|
private static buildQueryStatements;
|
|
8
12
|
private static buildExpression;
|
|
9
13
|
private static splitKeyAndFilterCondition;
|
|
10
|
-
static buildQuery<TEntity>(query: QueryParameters<TEntity>, tableName: string, primaryKeys: Array<keyof TEntity>, indexName?: string):
|
|
14
|
+
static buildQuery<TEntity>(query: QueryParameters<TEntity>, tableName: string, primaryKeys: Array<keyof TEntity>, indexName?: string): QueryOperation;
|
|
11
15
|
}
|
|
12
16
|
export default QueryBuilder;
|
|
@@ -67,18 +67,24 @@ class QueryBuilder {
|
|
|
67
67
|
static buildQuery(query, tableName, primaryKeys, indexName) {
|
|
68
68
|
const { where, limit, select } = query;
|
|
69
69
|
const { keyCondition, filterCondition } = this.splitKeyAndFilterCondition(where, primaryKeys);
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
:
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
70
|
+
const keyExpression = this.buildExpression(keyCondition);
|
|
71
|
+
const op = {
|
|
72
|
+
operation: keyExpression ? 'Query' : 'Scan',
|
|
73
|
+
query: {
|
|
74
|
+
TableName: tableName,
|
|
75
|
+
IndexName: indexName,
|
|
76
|
+
Limit: limit,
|
|
77
|
+
ProjectionExpression: select
|
|
78
|
+
? QueryBuilder.buildProjectionExpression(select)
|
|
79
|
+
: undefined,
|
|
80
|
+
KeyConditionExpression: keyExpression,
|
|
81
|
+
FilterExpression: this.buildExpression(filterCondition),
|
|
82
|
+
ExpressionAttributeNames: QueryBuilder.buildAttributeNames(where),
|
|
83
|
+
ExpressionAttributeValues: this.buildAttributeValues(where),
|
|
84
|
+
},
|
|
81
85
|
};
|
|
86
|
+
console.log('Execution ddb operation', op);
|
|
87
|
+
return op;
|
|
82
88
|
}
|
|
83
89
|
}
|
|
84
90
|
exports.default = QueryBuilder;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryBuilder.js","sourceRoot":"","sources":["../../../../../../services/aws/dynamodb/utils/query/QueryBuilder.ts"],"names":[],"mappings":";;;;;AAEA,iFAAwD;
|
|
1
|
+
{"version":3,"file":"QueryBuilder.js","sourceRoot":"","sources":["../../../../../../services/aws/dynamodb/utils/query/QueryBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Serializer } from '../serialization';
|
|
2
|
+
import Cache from './Cache';
|
|
3
|
+
declare class S3Cache extends Cache {
|
|
4
|
+
private readonly serializer;
|
|
5
|
+
private readonly bucketArn;
|
|
6
|
+
private readonly keyPrefix;
|
|
7
|
+
private readonly expirationTagName;
|
|
8
|
+
private readonly s3Client;
|
|
9
|
+
constructor(serializer: Serializer, bucketArn: string, keyPrefix?: string, stalenessTimeout?: number);
|
|
10
|
+
private getFullKey;
|
|
11
|
+
hasKey(key: string): Promise<boolean>;
|
|
12
|
+
add<TValue>(key: string, value: TValue): Promise<void>;
|
|
13
|
+
get<TValue>(key: string): Promise<TValue | null>;
|
|
14
|
+
getOrAdd<TValue>(key: string, factory: () => Promise<TValue>): Promise<TValue>;
|
|
15
|
+
remove(key: string): Promise<void>;
|
|
16
|
+
clear(): Promise<void>;
|
|
17
|
+
}
|
|
18
|
+
export default S3Cache;
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const aws_sdk_1 = require("aws-sdk");
|
|
7
|
+
const Cache_1 = __importDefault(require("./Cache"));
|
|
8
|
+
class S3Cache extends Cache_1.default {
|
|
9
|
+
constructor(serializer, bucketArn, keyPrefix = 'cached', stalenessTimeout = 0) {
|
|
10
|
+
super(stalenessTimeout);
|
|
11
|
+
this.serializer = serializer;
|
|
12
|
+
this.bucketArn = bucketArn;
|
|
13
|
+
this.keyPrefix = keyPrefix;
|
|
14
|
+
this.expirationTagName = 'CacheExpiration';
|
|
15
|
+
this.s3Client = new aws_sdk_1.S3();
|
|
16
|
+
}
|
|
17
|
+
getFullKey(key) {
|
|
18
|
+
return `${this.keyPrefix}/${key}`;
|
|
19
|
+
}
|
|
20
|
+
async hasKey(key) {
|
|
21
|
+
try {
|
|
22
|
+
const meta = await this.s3Client
|
|
23
|
+
.headObject({
|
|
24
|
+
Bucket: this.bucketArn,
|
|
25
|
+
Key: this.getFullKey(key),
|
|
26
|
+
})
|
|
27
|
+
.promise();
|
|
28
|
+
const { [this.expirationTagName]: expiration } = meta.Metadata;
|
|
29
|
+
return this.isValidItem({
|
|
30
|
+
expiration: new Date(expiration),
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
catch (error) {
|
|
34
|
+
const s3Error = error;
|
|
35
|
+
if (s3Error.statusCode === 404) {
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
throw error;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
async add(key, value) {
|
|
42
|
+
const cacheItem = this.createItem(value);
|
|
43
|
+
await this.s3Client
|
|
44
|
+
.putObject({
|
|
45
|
+
Bucket: this.bucketArn,
|
|
46
|
+
Key: this.getFullKey(key),
|
|
47
|
+
Body: this.serializer.serialize(value, 'string'),
|
|
48
|
+
Metadata: {
|
|
49
|
+
[this.expirationTagName]: String(Number(cacheItem.expiration)),
|
|
50
|
+
},
|
|
51
|
+
})
|
|
52
|
+
.promise();
|
|
53
|
+
}
|
|
54
|
+
async get(key) {
|
|
55
|
+
const isValid = await this.hasKey(key);
|
|
56
|
+
if (!isValid) {
|
|
57
|
+
return null;
|
|
58
|
+
}
|
|
59
|
+
const object = await this.s3Client
|
|
60
|
+
.getObject({
|
|
61
|
+
Bucket: this.bucketArn,
|
|
62
|
+
Key: this.getFullKey(key),
|
|
63
|
+
})
|
|
64
|
+
.promise();
|
|
65
|
+
return this.serializer.deserialize(object.Body);
|
|
66
|
+
}
|
|
67
|
+
async getOrAdd(key, factory) {
|
|
68
|
+
const value = await this.get(key);
|
|
69
|
+
if (value) {
|
|
70
|
+
return value;
|
|
71
|
+
}
|
|
72
|
+
const newValue = await factory();
|
|
73
|
+
await this.add(key, newValue);
|
|
74
|
+
return newValue;
|
|
75
|
+
}
|
|
76
|
+
async remove(key) {
|
|
77
|
+
try {
|
|
78
|
+
await this.s3Client
|
|
79
|
+
.deleteObject({
|
|
80
|
+
Bucket: this.bucketArn,
|
|
81
|
+
Key: this.getFullKey(key),
|
|
82
|
+
})
|
|
83
|
+
.promise();
|
|
84
|
+
}
|
|
85
|
+
catch (error) {
|
|
86
|
+
const s3Error = error;
|
|
87
|
+
if (s3Error.statusCode !== 404) {
|
|
88
|
+
throw error;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
async clear() {
|
|
93
|
+
const bucketItems = await this.s3Client
|
|
94
|
+
.listObjectsV2({
|
|
95
|
+
Bucket: this.bucketArn,
|
|
96
|
+
})
|
|
97
|
+
.promise();
|
|
98
|
+
if (!bucketItems.Contents || !bucketItems.Contents.length) {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
await this.s3Client
|
|
102
|
+
.deleteObjects({
|
|
103
|
+
Bucket: this.bucketArn,
|
|
104
|
+
Delete: {
|
|
105
|
+
Objects: bucketItems.Contents.map((bucketObject) => ({
|
|
106
|
+
Key: bucketObject.Key,
|
|
107
|
+
})),
|
|
108
|
+
},
|
|
109
|
+
})
|
|
110
|
+
.promise();
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
exports.default = S3Cache;
|
|
114
|
+
//# sourceMappingURL=S3Cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"S3Cache.js","sourceRoot":"","sources":["../../../utils/caching/S3Cache.ts"],"names":[],"mappings":"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"}
|
package/utils/caching/index.d.ts
CHANGED
|
@@ -3,3 +3,4 @@ export { default as FileCache } from './FileCache';
|
|
|
3
3
|
export { default as GlobalAtomicCache } from './GlobalAtomicCache';
|
|
4
4
|
export { default as MemoryCache } from './MemoryCache';
|
|
5
5
|
export { default as SecretCache } from './SecretCache';
|
|
6
|
+
export { default as S3Cache } from './S3Cache';
|
package/utils/caching/index.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.SecretCache = exports.MemoryCache = exports.GlobalAtomicCache = exports.FileCache = exports.Cache = void 0;
|
|
6
|
+
exports.S3Cache = exports.SecretCache = exports.MemoryCache = exports.GlobalAtomicCache = exports.FileCache = exports.Cache = void 0;
|
|
7
7
|
var Cache_1 = require("./Cache");
|
|
8
8
|
Object.defineProperty(exports, "Cache", { enumerable: true, get: function () { return __importDefault(Cache_1).default; } });
|
|
9
9
|
var FileCache_1 = require("./FileCache");
|
|
@@ -14,4 +14,6 @@ var MemoryCache_1 = require("./MemoryCache");
|
|
|
14
14
|
Object.defineProperty(exports, "MemoryCache", { enumerable: true, get: function () { return __importDefault(MemoryCache_1).default; } });
|
|
15
15
|
var SecretCache_1 = require("./SecretCache");
|
|
16
16
|
Object.defineProperty(exports, "SecretCache", { enumerable: true, get: function () { return __importDefault(SecretCache_1).default; } });
|
|
17
|
+
var S3Cache_1 = require("./S3Cache");
|
|
18
|
+
Object.defineProperty(exports, "S3Cache", { enumerable: true, get: function () { return __importDefault(S3Cache_1).default; } });
|
|
17
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../utils/caching/index.ts"],"names":[],"mappings":";;;;;;AAAA,iCAA0C;AAAjC,+GAAA,OAAO,OAAS;AAEzB,yCAAkD;AAAzC,uHAAA,OAAO,OAAa;AAC7B,yDAAkE;AAAzD,uIAAA,OAAO,OAAqB;AACrC,6CAAsD;AAA7C,2HAAA,OAAO,OAAe;AAC/B,6CAAsD;AAA7C,2HAAA,OAAO,OAAe"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../utils/caching/index.ts"],"names":[],"mappings":";;;;;;AAAA,iCAA0C;AAAjC,+GAAA,OAAO,OAAS;AAEzB,yCAAkD;AAAzC,uHAAA,OAAO,OAAa;AAC7B,yDAAkE;AAAzD,uIAAA,OAAO,OAAqB;AACrC,6CAAsD;AAA7C,2HAAA,OAAO,OAAe;AAC/B,6CAAsD;AAA7C,2HAAA,OAAO,OAAe;AAC/B,qCAA8C;AAArC,mHAAA,OAAO,OAAW"}
|
|
@@ -64,13 +64,10 @@ class HttpControllerFactory {
|
|
|
64
64
|
throw new handlers_1.NoEventHandlerSetError();
|
|
65
65
|
}
|
|
66
66
|
const controller = ControllerFactory_1.default.provide(descriptor.controller);
|
|
67
|
-
console.log('Route input: ', input);
|
|
68
|
-
console.log('Route param descriptor: ', descriptor.params);
|
|
69
67
|
const params = descriptor.params.map(({ source, parameterKey }) => {
|
|
70
68
|
const paramSource = HttpControllerFactory.getParamSource(source, input);
|
|
71
69
|
return parameterKey ? (paramSource !== null && paramSource !== void 0 ? paramSource : {})[parameterKey] : paramSource;
|
|
72
70
|
});
|
|
73
|
-
console.log('Route params: ', params);
|
|
74
71
|
return controller[descriptor.action].apply(controller, params);
|
|
75
72
|
}
|
|
76
73
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpControllerFactory.js","sourceRoot":"","sources":["../../../utils/controllers/HttpControllerFactory.ts"],"names":[],"mappings":";;;;;;;;;;;AACA,gFAAuD;AACvD,2DAAqE;AAErE,4EAAmD;AAuBnD,MAAM,qBAAqB;IAYlB,MAAM,CAAC,cAAc,CAC1B,UAAe,EACf,MAAuB,EACvB,UAAsB,EACtB,KAAa;;QAEb,IAAI,CAAC,KAAK;YAAE,OAAM;QAClB,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;QAEnE,MAAM,SAAS,GAAG,GAAG,UAAU,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,CAAA;QACxD,MAAM,aAAa,GAAG;YACpB,GAAG,CAAC,MAAA,uBAAA,qBAAqB,yDAAwB,CAAC,GAAG,CAAC,SAAS,CAAC,mCAAI;gBAClE,MAAM,EAAE,EAAE;aACX,CAAC;YACF,UAAU;YACV,MAAM;YACN,UAAU;YACV,KAAK;SACN,CAAA;QAED,uBAAA,qBAAqB,oDAAmB,CAAC,GAAG,CAC1C,GAAG,UAAU,IAAI,QAAQ,EAAE,EAC3B,aAAa,CACd,CAAA;QACD,uBAAA,qBAAqB,yDAAwB,CAAC,GAAG,CAC/C,GAAG,UAAU,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,EACtC,aAAa,CACd,CAAA;IACH,CAAC;IASM,MAAM,CAAC,uBAAuB,CACnC,UAAe,EACf,SAA0B,EAC1B,MAAmB,EACnB,YAAqB;;QAErB,MAAM,cAAc,GAAG,GAAG,UAAU,CAAC,IAAI,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,CAAA;QAChE,MAAM,UAAU,GAAG,MAAA,uBAAA,qBAAqB,yDAAwB,CAAC,GAAG,CAClE,cAAc,CACf,mCAAI;YACH,UAAU;YACV,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,EAA2B;SACpC,CAAA;QAED,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAA;QAEjD,uBAAA,qBAAqB,yDAAwB,CAAC,GAAG,CAC/C,cAAc,EACd,UAAU,CACX,CAAA;IACH,CAAC;IAEO,MAAM,CAAC,cAAc,CAC3B,MAAmB,EACnB,KAA2B;QAE3B,QAAQ,MAAM,EAAE;YACd,KAAK,qBAAW,CAAC,IAAI;gBACnB,OAAO,KAAK,CAAC,IAAI,CAAA;YACnB,KAAK,qBAAW,CAAC,KAAK;gBACpB,OAAO,KAAK,CAAC,KAAK,CAAA;YACpB,KAAK,qBAAW,CAAC,KAAK;gBACpB,OAAO,KAAK,CAAC,KAAK,CAAA;YACpB,KAAK,qBAAW,CAAC,OAAO;gBACtB,OAAO,KAAK,CAAC,OAAO,CAAA;YACtB,KAAK,qBAAW,CAAC,OAAO;gBACtB,OAAO,KAAK,CAAC,OAAO,CAAA;YACtB;gBACE,OAAO,IAAI,CAAA;SACd;IACH,CAAC;IAQM,MAAM,CAAC,aAAa,CACzB,MAAkB,EAClB,KAAa,EACb,KAA2B;QAE3B,MAAM,UAAU,GAAG,uBAAA,qBAAqB,oDAAmB,CAAC,GAAG,CAC7D,GAAG,MAAM,CAAC,WAAW,EAAE,IAAI,KAAK,EAAE,CACnC,CAAA;QAED,IAAI,CAAC,UAAU,EAAE;YACf,MAAM,IAAI,iCAAsB,EAAE,CAAA;SACnC;QAED,MAAM,UAAU,GAAG,2BAAiB,CAAC,OAAO,CAAM,UAAU,CAAC,UAAU,CAAC,CAAA;QAExE,
|
|
1
|
+
{"version":3,"file":"HttpControllerFactory.js","sourceRoot":"","sources":["../../../utils/controllers/HttpControllerFactory.ts"],"names":[],"mappings":"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"}
|
|
@@ -106,12 +106,12 @@ class HttpHandlerBuilder {
|
|
|
106
106
|
async proxyEventToActionInput(event) {
|
|
107
107
|
const middlewareContext = await this.executeMiddleWare(event);
|
|
108
108
|
let input = {};
|
|
109
|
-
if (__classPrivateFieldGet(this, _HttpHandlerBuilder_useBodyInput, "f") && event.body) {
|
|
110
|
-
input = this.serializer.deserialize(event.body);
|
|
111
|
-
}
|
|
112
109
|
if (__classPrivateFieldGet(this, _HttpHandlerBuilder_useQueryInput, "f")) {
|
|
113
110
|
input = (0, qs_1.parse)(event.rawQueryString);
|
|
114
111
|
}
|
|
112
|
+
else if (event.body) {
|
|
113
|
+
input = this.serializer.deserialize(event.body);
|
|
114
|
+
}
|
|
115
115
|
if (__classPrivateFieldGet(this, _HttpHandlerBuilder_schema, "f")) {
|
|
116
116
|
input = await HttpHandlerBuilder.validateSchema(__classPrivateFieldGet(this, _HttpHandlerBuilder_schema, "f"), middlewareContext, input);
|
|
117
117
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../utils/handlers/HttpHandlerBuilder/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../utils/handlers/HttpHandlerBuilder/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2BAA8C;AAE9C,yCAA4C;AAE5C,kEAGiC;AAGjC,oGAEgD;AAShD,8DAGwC;AACxC,sDAAuD;AAIvD,4FAAmE;AAGnE,MAAM,kBAAkB;IAoBtB,YACmB,MAAc,EACd,UAAsB;QADtB,WAAM,GAAN,MAAM,CAAQ;QACd,eAAU,GAAV,UAAU,CAAY;QArBzC,+CAAgD,EAAE,EAAA;QAElD,6CAAoE;QAEpE,4CAAiB,KAAK,EAAA;QAEtB,2CAAgB,KAAK,EAAA;IAgBlB,CAAC;IAVG,MAAM,CAAC,MAAM;QAClB,MAAM,MAAM,GAAG,eAAa,CAAC,OAAO,CAAS,cAAY,CAAC,CAAA;QAC1D,MAAM,UAAU,GAAG,eAAa,CAAC,OAAO,CAAa,kBAAgB,CAAC,CAAA;QAEtE,OAAO,IAAI,kBAAkB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IACnD,CAAC;IAYM,sBAAsB,CAC3B,QAAyB;QAEzB,2BAAiB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAA;QAE5C,OAAO,IAAI,CAAA;IACb,CAAC;IAOM,cAAc,CACnB,KAAmD;QAEnD,uBAAA,IAAI,4CAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAElC,OAAO,IAGN,CAAA;IACH,CAAC;IAQM,cAAc,CACnB,MAE6C;QAE7C,uBAAA,IAAI,oCAAiB,KAAK,MAAA,CAAA;QAC1B,uBAAA,IAAI,qCAAkB,IAAI,MAAA,CAAA;QAE1B,uBAAA,IAAI,8BAAW,MAA6C,MAAA,CAAA;QAE5D,OAAO,IAAiE,CAAA;IAC1E,CAAC;IAOM,aAAa,CAClB,MAE6C;QAE7C,uBAAA,IAAI,oCAAiB,IAAI,MAAA,CAAA;QACzB,uBAAA,IAAI,qCAAkB,KAAK,MAAA,CAAA;QAE3B,uBAAA,IAAI,8BAAW,MAA6C,MAAA,CAAA;QAE5D,OAAO,IAAiE,CAAA;IAC1E,CAAC;IAKM,KAAK;QACV,IAAI,CAAC,2BAAiB,CAAC,WAAW,EAAE,EAAE;YACpC,MAAM,IAAI,0BAAe,EAAE,CAAA;SAC5B;QAED,OAAO,KAAK,EACV,KAAuC,EACK,EAAE;YAC9C,IAAI;gBACF,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAA;gBAChE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAA;gBACrD,MAAM,MAAM,GAAG,MAAM,+BAAqB,CAAC,aAAa,CAEtD,MAAM,EAAE,KAAK,EAAE,cAAc,CAAC,CAAA;gBAEhC,IAAI,CAAC,MAAM,EAAE;oBACX,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAA;iBACrC;gBAED,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,MAAM,CAAA;gBACnC,OAAO,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;aAClD;YAAC,OAAO,KAAK,EAAE;gBACd,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAA;aACrC;QACH,CAAC,CAAA;IACH,CAAC;IAEO,iBAAiB,CACvB,KAAuC;QAEvC,MAAM,EACJ,QAAQ,EACR,cAAc,EAAE,EACd,IAAI,EAAE,EAAE,MAAM,EAAE,GACjB,GACF,GAAG,KAAK,CAAA;QACT,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;QAE3D,OAAO;YACL,MAAoB;YACpB,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK;SACnD,CAAA;IACH,CAAC;IAEO,KAAK,CAAC,uBAAuB,CACnC,KAAuC;QAEvC,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAA;QAE7D,IAAI,KAAK,GAAG,EAAE,CAAA;QACd,IAAI,uBAAA,IAAI,yCAAe,EAAE;YACvB,KAAK,GAAG,IAAA,UAAgB,EAAC,KAAK,CAAC,cAAc,CAAC,CAAA;SAC/C;aAAM,IAAI,KAAK,CAAC,IAAI,EAAE;YACrB,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;SAChD;QAED,IAAI,uBAAA,IAAI,kCAAQ,EAAE;YAChB,KAAK,GAAG,MAAM,kBAAkB,CAAC,cAAc,CAC7C,uBAAA,IAAI,kCAAQ,EACZ,iBAAiB,EACjB,KAAK,CACN,CAAA;SACF;QAED,OAAO;YACL,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,IAAI,EAAE,KAAK;YACX,KAAK,EAAE,KAAK,CAAC,cAAc;YAC3B,KAAK,EAAE,KAAK,CAAC,qBAAqB;YAClC,OAAO,EAAE,iBAAiB;SAC3B,CAAA;IACH,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,cAAc,CACjC,MAA+D,EAC/D,OAAgB,EAChB,mBAA4B;QAE5B,IAAI,aAAa,GAAG,MAAM,CAAA;QAC1B,IAAI,OAAO,aAAa,KAAK,UAAU,EAAE;YACvC,aAAa,GAAI,MAAsC,CAAC,OAAO,CAAC,CAAA;SACjE;QAED,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAA;QAE1D,IAAI,MAAM,CAAC,KAAK,EAAE;YAChB,MAAM,IAAI,0BAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;SACxC;QAED,OAAO,MAAM,CAAC,KAAK,CAAA;IACrB,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC7B,KAAuC;QAEvC,IAAI,OAAO,GAAG,EAAE,CAAA;QAEhB,KACE,IAAI,aAAa,GAAG,CAAC,EACrB,aAAa,GAAG,uBAAA,IAAI,4CAAkB,CAAC,MAAM,EAC7C,aAAa,IAAI,CAAC,EAClB;YACA,MAAM,EAAE,CAAC,aAAa,CAAC,EAAE,eAAe,EAAE,GAAG,uBAAA,IAAI,4CAAkB,CAAA;YAGnE,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;YAExD,OAAO,GAAG,IAAA,eAAS,EAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAA;SAC3C;QAED,OAAO,OAAmB,CAAA;IAC5B,CAAC;IAEO,mBAAmB,CACzB,UAAkB,EAClB,IAAU;QAEV,QAAQ,OAAO,IAAI,EAAE;YACnB,KAAK,QAAQ;gBACX,IAAI,IAAI,YAAY,MAAM,EAAE;oBAC1B,OAAO;wBACL,UAAU;wBACV,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;wBAC7B,eAAe,EAAE,IAAI;qBACtB,CAAA;iBACF;gBAED,OAAO;oBACL,UAAU;oBACV,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC;oBAC/C,OAAO,EAAE;wBACP,cAAc,EAAE,kBAAkB;qBACnC;iBACF,CAAA;YAEH,KAAK,QAAQ;gBACX,OAAO;oBACL,eAAe,EAAE,IAAI;oBACrB,IAAI;oBACJ,UAAU;iBACX,CAAA;YAEH,KAAK,QAAQ,CAAC;YACd,KAAK,QAAQ,CAAC;YACd,KAAK,SAAS;gBACZ,OAAO;oBACL,UAAU;oBACV,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC;iBACnB,CAAA;YAEH;gBACE,OAAO;oBACL,UAAU;iBACX,CAAA;SACJ;IACH,CAAC;IAEO,iBAAiB,CAAC,KAAc;QACtC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAExB,IAAI,KAAK,YAAY,gBAAS,EAAE;YAC9B,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,EAAE,CAAA;YAErC,OAAO;gBACL,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,IAAI,EAAE,aAAa;oBACjB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,aAAa,EAAE,QAAQ,CAAC;oBACpD,CAAC,CAAC,SAAS;aACd,CAAA;SACF;QAED,OAAO;YACL,UAAU,EAAE,GAAG;SAChB,CAAA;IACH,CAAC;CACF;;AAED,kBAAe,kBAAkB,CAAA"}
|