@lambada/utils 1.0.5 → 1.0.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/dist/error.d.ts +1 -0
- package/dist/error.js.map +1 -1
- package/dist/repository.d.ts +15 -5
- package/dist/repository.js +24 -16
- package/dist/repository.js.map +1 -1
- package/dist/repository.test.d.ts +1 -0
- package/dist/repository.test.js +40 -0
- package/dist/repository.test.js.map +1 -0
- package/dist/request.d.ts +8 -1
- package/dist/request.js +9 -5
- package/dist/request.js.map +1 -1
- package/package.json +6 -3
package/dist/error.d.ts
CHANGED
package/dist/error.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.js","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":";;;AAAA,MAAa,YAAa,SAAQ,KAAK;IAAvC;;QACI,cAAS,GAAY,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":";;;AAAA,MAAa,YAAa,SAAQ,KAAK;IAAvC;;QACI,cAAS,GAAY,IAAI,CAAA;IAE7B,CAAC;CAAA;AAHD,oCAGC"}
|
package/dist/repository.d.ts
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
|
+
import * as AWS from "aws-sdk";
|
|
2
|
+
import { AttributeValue, AttributeMap } from 'aws-sdk/clients/dynamodb';
|
|
1
3
|
import { ConditionExpression, ExpressionAttributeValueMap } from "aws-sdk/clients/dynamodb";
|
|
2
|
-
|
|
4
|
+
export interface IMarshaller {
|
|
5
|
+
marshallItem(item: {
|
|
6
|
+
[key: string]: any;
|
|
7
|
+
}): AttributeMap;
|
|
8
|
+
marshallValue(value: any): AttributeValue | undefined;
|
|
9
|
+
unmarshallItem(item: AttributeMap): any;
|
|
10
|
+
unmarshallValue(item: AttributeValue): any;
|
|
11
|
+
}
|
|
12
|
+
export declare const DefaultMarshaller: IMarshaller;
|
|
3
13
|
export declare class RepositoryBase {
|
|
4
14
|
protected readonly table: {
|
|
5
15
|
envKeyName: string;
|
|
@@ -7,20 +17,20 @@ export declare class RepositoryBase {
|
|
|
7
17
|
primaryKey: string;
|
|
8
18
|
rangeKey?: string;
|
|
9
19
|
};
|
|
10
|
-
protected marshaller:
|
|
20
|
+
protected marshaller: IMarshaller;
|
|
11
21
|
protected readonly tableName: string;
|
|
12
22
|
constructor(table: {
|
|
13
23
|
envKeyName: string;
|
|
14
24
|
name: string;
|
|
15
25
|
primaryKey: string;
|
|
16
26
|
rangeKey?: string;
|
|
17
|
-
});
|
|
27
|
+
}, customMarshaller?: IMarshaller);
|
|
18
28
|
/**
|
|
19
29
|
* Validates the table data before execution. This is important because if you've got more than one repo in a single service class,
|
|
20
30
|
* and a lambda that only uses one of them, then it would fail because it's expecting config for both tables, even if using one only.
|
|
21
31
|
* That's because the resource access given to each lambda also sets he environment variables needed.
|
|
22
32
|
*/
|
|
23
|
-
|
|
33
|
+
protected getDb(): AWS.DynamoDB;
|
|
24
34
|
protected scan<T>(args?: {
|
|
25
35
|
filter?: ConditionExpression;
|
|
26
36
|
filterValues?: ExpressionAttributeValueMap;
|
|
@@ -29,7 +39,7 @@ export declare class RepositoryBase {
|
|
|
29
39
|
protected query<T>(primaryKey: {
|
|
30
40
|
name: string;
|
|
31
41
|
value: any;
|
|
32
|
-
}): Promise<T[]>;
|
|
42
|
+
}, indexName?: string): Promise<T[]>;
|
|
33
43
|
protected getById<T>(primaryKey: {
|
|
34
44
|
name: string;
|
|
35
45
|
value: any;
|
package/dist/repository.js
CHANGED
|
@@ -9,30 +9,40 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.RepositoryBase = void 0;
|
|
12
|
+
exports.RepositoryBase = exports.DefaultMarshaller = void 0;
|
|
13
13
|
const AWS = require("aws-sdk");
|
|
14
|
-
|
|
14
|
+
exports.DefaultMarshaller = {
|
|
15
|
+
marshallItem: AWS.DynamoDB.Converter.marshall,
|
|
16
|
+
unmarshallItem: AWS.DynamoDB.Converter.unmarshall,
|
|
17
|
+
marshallValue: AWS.DynamoDB.Converter.input,
|
|
18
|
+
unmarshallValue: AWS.DynamoDB.Converter.output,
|
|
19
|
+
};
|
|
15
20
|
class RepositoryBase {
|
|
16
|
-
constructor(table) {
|
|
21
|
+
constructor(table, customMarshaller) {
|
|
17
22
|
var _a;
|
|
18
23
|
this.table = table;
|
|
19
|
-
this.marshaller = new dynamodb_auto_marshaller_1.Marshaller();
|
|
20
24
|
this.tableName = (_a = process.env[this.table.envKeyName]) !== null && _a !== void 0 ? _a : '';
|
|
25
|
+
if (customMarshaller) {
|
|
26
|
+
this.marshaller = customMarshaller;
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
this.marshaller = exports.DefaultMarshaller;
|
|
30
|
+
}
|
|
21
31
|
}
|
|
22
32
|
/**
|
|
23
33
|
* Validates the table data before execution. This is important because if you've got more than one repo in a single service class,
|
|
24
34
|
* and a lambda that only uses one of them, then it would fail because it's expecting config for both tables, even if using one only.
|
|
25
35
|
* That's because the resource access given to each lambda also sets he environment variables needed.
|
|
26
36
|
*/
|
|
27
|
-
|
|
37
|
+
getDb() {
|
|
28
38
|
if (!this.tableName || this.tableName.length < 3) //AWS rule
|
|
29
39
|
throw new Error(`Could not find env var: ${this.table.envKeyName}`);
|
|
40
|
+
return new AWS.DynamoDB();
|
|
30
41
|
}
|
|
31
42
|
scan(args) {
|
|
32
43
|
var _a;
|
|
33
44
|
return __awaiter(this, void 0, void 0, function* () {
|
|
34
|
-
this.
|
|
35
|
-
const db = new AWS.DynamoDB();
|
|
45
|
+
const db = this.getDb();
|
|
36
46
|
const result = yield db.scan({
|
|
37
47
|
TableName: this.tableName,
|
|
38
48
|
FilterExpression: args === null || args === void 0 ? void 0 : args.filter,
|
|
@@ -46,8 +56,7 @@ class RepositoryBase {
|
|
|
46
56
|
}
|
|
47
57
|
upsert(item) {
|
|
48
58
|
return __awaiter(this, void 0, void 0, function* () {
|
|
49
|
-
this.
|
|
50
|
-
const db = new AWS.DynamoDB();
|
|
59
|
+
const db = this.getDb();
|
|
51
60
|
const marsharlledItem = this.marshaller.marshallItem(item);
|
|
52
61
|
const command = {
|
|
53
62
|
Item: marsharlledItem,
|
|
@@ -58,10 +67,9 @@ class RepositoryBase {
|
|
|
58
67
|
return item;
|
|
59
68
|
});
|
|
60
69
|
}
|
|
61
|
-
query(primaryKey) {
|
|
70
|
+
query(primaryKey, indexName) {
|
|
62
71
|
return __awaiter(this, void 0, void 0, function* () {
|
|
63
|
-
this.
|
|
64
|
-
const db = new AWS.DynamoDB();
|
|
72
|
+
const db = this.getDb();
|
|
65
73
|
const value = this.marshaller.marshallValue(primaryKey.value);
|
|
66
74
|
if (!value)
|
|
67
75
|
throw new Error(`Invalid primary key. ${JSON.stringify(primaryKey)}`);
|
|
@@ -73,7 +81,8 @@ class RepositoryBase {
|
|
|
73
81
|
},
|
|
74
82
|
ExpressionAttributeValues: {
|
|
75
83
|
":primaryKeyValue": value
|
|
76
|
-
}
|
|
84
|
+
},
|
|
85
|
+
IndexName: indexName
|
|
77
86
|
};
|
|
78
87
|
const result = yield db.query(params).promise();
|
|
79
88
|
const items = result.Items;
|
|
@@ -84,8 +93,7 @@ class RepositoryBase {
|
|
|
84
93
|
}
|
|
85
94
|
getById(primaryKey, rangeKey) {
|
|
86
95
|
return __awaiter(this, void 0, void 0, function* () {
|
|
87
|
-
this.
|
|
88
|
-
const db = new AWS.DynamoDB();
|
|
96
|
+
const db = this.getDb();
|
|
89
97
|
var value = this.marshaller.marshallValue(primaryKey.value);
|
|
90
98
|
if (!value)
|
|
91
99
|
throw new Error(`Invalid primary key. ${JSON.stringify(primaryKey)}`);
|
|
@@ -100,7 +108,7 @@ class RepositoryBase {
|
|
|
100
108
|
}
|
|
101
109
|
const item = yield db.getItem({
|
|
102
110
|
TableName: this.tableName,
|
|
103
|
-
Key: key
|
|
111
|
+
Key: key,
|
|
104
112
|
}).promise();
|
|
105
113
|
if (!item.Item)
|
|
106
114
|
return null;
|
package/dist/repository.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repository.js","sourceRoot":"","sources":["../src/repository.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+BAA8B;
|
|
1
|
+
{"version":3,"file":"repository.js","sourceRoot":"","sources":["../src/repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,40 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const repository_1 = require("./repository");
|
|
13
|
+
describe("Repository", () => {
|
|
14
|
+
test("Marshaller", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
15
|
+
// const repo = new TestRepo({
|
|
16
|
+
// envKeyName: "TEST_NAME",
|
|
17
|
+
// name: 'test',
|
|
18
|
+
// primaryKey: 'userId',
|
|
19
|
+
// rangeKey: 'id'
|
|
20
|
+
// })
|
|
21
|
+
const marshaller = repository_1.DefaultMarshaller;
|
|
22
|
+
const original = {
|
|
23
|
+
a: 1,
|
|
24
|
+
b: 'b',
|
|
25
|
+
c: [1, 2, 3],
|
|
26
|
+
d: ['1', '2', '3']
|
|
27
|
+
};
|
|
28
|
+
const marshalled = marshaller.marshallItem(original);
|
|
29
|
+
console.log('marshalled', marshalled);
|
|
30
|
+
const unmarshalled = marshaller.unmarshallItem(marshalled);
|
|
31
|
+
console.log('unmarshalled', unmarshalled);
|
|
32
|
+
expect(unmarshalled.a).toBe(original.a);
|
|
33
|
+
expect(unmarshalled.b).toBe(original.b);
|
|
34
|
+
expect(unmarshalled.c).toStrictEqual(original.c);
|
|
35
|
+
expect(unmarshalled.d).toStrictEqual(original.d);
|
|
36
|
+
}));
|
|
37
|
+
});
|
|
38
|
+
class TestRepo extends repository_1.RepositoryBase {
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=repository.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repository.test.js","sourceRoot":"","sources":["../src/repository.test.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,6CAA6E;AAG7E,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IACxB,IAAI,CAAC,YAAY,EAAE,GAAS,EAAE;QAC1B,8BAA8B;QAC9B,+BAA+B;QAC/B,oBAAoB;QACpB,4BAA4B;QAC5B,qBAAqB;QACrB,KAAK;QAEL,MAAM,UAAU,GAAgB,8BAAiB,CAAA;QACjD,MAAM,QAAQ,GAAG;YACb,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,GAAG;YACN,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACZ,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;SACrB,CAAA;QAED,MAAM,UAAU,GAAG,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;QACpD,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;QACrC,MAAM,YAAY,GAAG,UAAU,CAAC,cAAc,CAAC,UAAU,CAAC,CAAA;QAC1D,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC,CAAA;QAEzC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QACvC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QACvC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QAChD,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;IACpD,CAAC,CAAA,CAAC,CAAA;AACN,CAAC,CAAC,CAAA;AAEF,MAAM,QAAS,SAAQ,2BAAc;CAEpC"}
|
package/dist/request.d.ts
CHANGED
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
import * as awslambda from "aws-lambda";
|
|
2
|
+
import { AttributeListType } from 'aws-sdk/clients/cognitoidentityserviceprovider';
|
|
2
3
|
export declare type Request = awslambda.APIGatewayProxyEvent;
|
|
3
4
|
export declare function tryGetBody<TBody>(request: Request): TBody | undefined;
|
|
4
5
|
export declare function getBody<TBody>(request: Request): TBody;
|
|
5
|
-
declare type AuthenticatedUser = {
|
|
6
|
+
declare type AuthenticatedUser = {
|
|
7
|
+
id: string;
|
|
8
|
+
attributes: AttributeListType;
|
|
9
|
+
username: string;
|
|
10
|
+
name?: string;
|
|
11
|
+
email: string;
|
|
12
|
+
};
|
|
6
13
|
export declare function getUserById(userId: string, poolId: string): Promise<AuthenticatedUser>;
|
|
7
14
|
export declare function getUser(username: string, context: AuthExecutionContext): Promise<AuthenticatedUser>;
|
|
8
15
|
export declare function getContext(request: Request): AuthExecutionContext | undefined;
|
package/dist/request.js
CHANGED
|
@@ -32,7 +32,7 @@ function getBody(request) {
|
|
|
32
32
|
}
|
|
33
33
|
exports.getBody = getBody;
|
|
34
34
|
function _FindUser(userPoolId, userId, username) {
|
|
35
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
35
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
36
36
|
return __awaiter(this, void 0, void 0, function* () {
|
|
37
37
|
//@ts-ignore
|
|
38
38
|
global.globalCognitoIdp = (_a = global.globalCognitoIdp) !== null && _a !== void 0 ? _a : new AWS.CognitoIdentityServiceProvider({ apiVersion: '2016-04-18' });
|
|
@@ -70,11 +70,13 @@ function _FindUser(userPoolId, userId, username) {
|
|
|
70
70
|
var cutomAttributes = cu.UserAttributes.filter(x => x.Name.startsWith('dev:custom:'));
|
|
71
71
|
userId = (_d = cu.UserAttributes.find(x => x.Name == 'sub')) === null || _d === void 0 ? void 0 : _d.Value;
|
|
72
72
|
var email = (_e = cu.UserAttributes.find(x => x.Name == 'email')) === null || _e === void 0 ? void 0 : _e.Value;
|
|
73
|
+
var name = (_f = cu.UserAttributes.find(x => x.Name == 'name')) === null || _f === void 0 ? void 0 : _f.Value;
|
|
73
74
|
if (!userId)
|
|
74
75
|
throw 'Invalid user, has no sub';
|
|
75
76
|
user = {
|
|
76
77
|
id: userId,
|
|
77
78
|
username,
|
|
79
|
+
name,
|
|
78
80
|
email: email !== null && email !== void 0 ? email : '',
|
|
79
81
|
attributes: cutomAttributes
|
|
80
82
|
};
|
|
@@ -91,17 +93,19 @@ function _FindUser(userPoolId, userId, username) {
|
|
|
91
93
|
throw 'User not found';
|
|
92
94
|
if (!cu.Attributes)
|
|
93
95
|
throw 'User has no attributes';
|
|
96
|
+
username = cu.Username;
|
|
94
97
|
var cutomAttributes = cu.Attributes.filter(x => x.Name.startsWith('dev:custom:'));
|
|
95
|
-
var sub = (
|
|
96
|
-
|
|
97
|
-
var email = (
|
|
98
|
+
var sub = (_g = cu.Attributes.find(x => x.Name == 'sub')) === null || _g === void 0 ? void 0 : _g.Value;
|
|
99
|
+
var name = (_h = cu.Attributes.find(x => x.Name == 'name')) === null || _h === void 0 ? void 0 : _h.Value;
|
|
100
|
+
var email = (_j = cu.Attributes.find(x => x.Name == 'email')) === null || _j === void 0 ? void 0 : _j.Value;
|
|
98
101
|
if (!sub)
|
|
99
102
|
throw 'Invalid user, has no sub';
|
|
100
103
|
if (!username)
|
|
101
|
-
throw '
|
|
104
|
+
throw 'username is empty';
|
|
102
105
|
user = {
|
|
103
106
|
id: sub,
|
|
104
107
|
attributes: cutomAttributes,
|
|
108
|
+
name,
|
|
105
109
|
username,
|
|
106
110
|
email: email !== null && email !== void 0 ? email : ''
|
|
107
111
|
};
|
package/dist/request.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.js","sourceRoot":"","sources":["../src/request.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+BAA8B;AAE9B,mCAAuC;
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["../src/request.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lambada/utils",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.9",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"module": "dist/index.js",
|
|
6
6
|
"typings": "dist/index.d.ts",
|
|
@@ -14,18 +14,21 @@
|
|
|
14
14
|
"scripts": {
|
|
15
15
|
"prebuild": "rimraf dist",
|
|
16
16
|
"build": "tsc",
|
|
17
|
-
"test": "
|
|
17
|
+
"test": "jest"
|
|
18
18
|
},
|
|
19
19
|
"license": "MIT",
|
|
20
20
|
"devDependencies": {
|
|
21
21
|
"@types/aws-lambda": "^8.10.72",
|
|
22
|
+
"@types/jest": "^26",
|
|
22
23
|
"@types/node": "^14.14.34",
|
|
24
|
+
"jest": "^26",
|
|
23
25
|
"rimraf": "^3.0.2",
|
|
26
|
+
"ts-jest": "^26.5.5",
|
|
24
27
|
"typescript": "^4.0.5"
|
|
25
28
|
},
|
|
26
29
|
"dependencies": {
|
|
27
30
|
"@aws/dynamodb-auto-marshaller": "0.7.1"
|
|
28
31
|
},
|
|
29
32
|
"description": "",
|
|
30
|
-
"gitHead": "
|
|
33
|
+
"gitHead": "24104d106884dead928a9b3bfd19bb8c61dcc833"
|
|
31
34
|
}
|