@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 CHANGED
@@ -1,3 +1,4 @@
1
1
  export declare class LambadaError extends Error {
2
2
  showError: boolean;
3
+ code?: string;
3
4
  }
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;IAC7B,CAAC;CAAA;AAFD,oCAEC"}
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"}
@@ -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
- import { Marshaller } from '@aws/dynamodb-auto-marshaller';
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: 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
- private validateTable;
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;
@@ -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
- const dynamodb_auto_marshaller_1 = require("@aws/dynamodb-auto-marshaller");
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
- validateTable() {
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.validateTable();
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.validateTable();
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.validateTable();
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.validateTable();
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;
@@ -1 +1 @@
1
- {"version":3,"file":"repository.js","sourceRoot":"","sources":["../src/repository.ts"],"names":[],"mappings":"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"}
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 = (_f = cu.Attributes.find(x => x.Name == 'sub')) === null || _f === void 0 ? void 0 : _f.Value;
96
- username = (_g = cu.Attributes.find(x => x.Name == 'username')) === null || _g === void 0 ? void 0 : _g.Value;
97
- var email = (_h = cu.Attributes.find(x => x.Name == 'email')) === null || _h === void 0 ? void 0 : _h.Value;
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 'Wallet is empty';
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
  };
@@ -1 +1 @@
1
- {"version":3,"file":"request.js","sourceRoot":"","sources":["../src/request.ts"],"names":[],"mappings":"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"}
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.5",
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": "echo \"Error: no test specified\" && exit 1"
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": "3ce679a13e6b52aceed5feb40a71d146a2db3e8b"
33
+ "gitHead": "24104d106884dead928a9b3bfd19bb8c61dcc833"
31
34
  }