@lambada/utils 1.4.6 → 1.5.1

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/cors.js CHANGED
@@ -2,11 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getCorsHeaders = void 0;
4
4
  const getCorsHeaders = (domainName, origins) => {
5
- var _a, _b, _c;
6
- const allowedOrigins = (_a = origins === null || origins === void 0 ? void 0 : origins.map(x => x.trim())) !== null && _a !== void 0 ? _a : ["*"];
7
- const requestOrigin = (domainName !== null && domainName !== void 0 ? domainName : '').trim();
5
+ const allowedOrigins = origins?.map(x => x.trim()) ?? ["*"];
6
+ const requestOrigin = (domainName ?? '').trim();
8
7
  const origin = allowedOrigins.indexOf("*") >= 0 ? "*" :
9
- (_b = allowedOrigins.find(x => x == requestOrigin)) !== null && _b !== void 0 ? _b : ((_c = allowedOrigins.shift()) !== null && _c !== void 0 ? _c : "*");
8
+ allowedOrigins.find(x => x == requestOrigin) ??
9
+ (allowedOrigins.shift() ?? "*");
10
10
  return {
11
11
  "Access-Control-Allow-Headers": "*",
12
12
  "Access-Control-Allow-Origin": origin,
package/dist/cors.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cors.js","sourceRoot":"","sources":["../src/cors.ts"],"names":[],"mappings":";;;AAAO,MAAM,cAAc,GAAG,CAAC,UAAmB,EAAE,OAAkB,EAAE,EAAE;;IACtE,MAAM,cAAc,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,mCAAI,CAAC,GAAG,CAAC,CAAA;IAC3D,MAAM,aAAa,GAAG,CAAC,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;IAE/C,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACnD,MAAA,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,aAAa,CAAC,mCAC5C,CAAC,MAAA,cAAc,CAAC,KAAK,EAAE,mCAAI,GAAG,CAAC,CAAA;IAEnC,OAAO;QACH,8BAA8B,EAAE,GAAG;QACnC,6BAA6B,EAAE,MAAM;QACrC,8BAA8B,EAAE,GAAG;QACnC,wBAAwB,EAAE,OAAO;KACpC,CAAA;AACL,CAAC,CAAA;AAdY,QAAA,cAAc,kBAc1B"}
1
+ {"version":3,"file":"cors.js","sourceRoot":"","sources":["../src/cors.ts"],"names":[],"mappings":";;;AAAO,MAAM,cAAc,GAAG,CAAC,UAAmB,EAAE,OAAkB,EAAE,EAAE;IACtE,MAAM,cAAc,GAAG,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC3D,MAAM,aAAa,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;IAE/C,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACnD,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,aAAa,CAAC;YAC5C,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,GAAG,CAAC,CAAA;IAEnC,OAAO;QACH,8BAA8B,EAAE,GAAG;QACnC,6BAA6B,EAAE,MAAM;QACrC,8BAA8B,EAAE,GAAG;QACnC,wBAAwB,EAAE,OAAO;KACpC,CAAA;AACL,CAAC,CAAA;AAdY,QAAA,cAAc,kBAc1B"}
@@ -1,13 +1,4 @@
1
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
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.RepositoryExtended = void 0;
13
4
  const repository_1 = require("../repository");
@@ -20,26 +11,29 @@ class RepositoryExtended extends repository_1.RepositoryBase {
20
11
  * @param params
21
12
  * @returns
22
13
  */
23
- queryBegins_with(params) {
24
- var _a;
25
- return __awaiter(this, void 0, void 0, function* () {
26
- const { primaryKey, rangeKey, indexName } = params;
27
- const command = {
28
- TableName: this.tableName,
29
- IndexName: indexName,
30
- KeyConditionExpression: `#PK = :PK ${rangeKey ? 'AND begins_with(#SK,:SK)' : ''}`,
31
- ExpressionAttributeNames: Object.assign({ '#PK': primaryKey.name }, (rangeKey ? { '#SK': rangeKey.name } : {})),
32
- ExpressionAttributeValues: Object.assign({ ':PK': this.marshaller.marshallValue(primaryKey.value) }, (rangeKey ? { ':SK': this.marshaller.marshallValue(rangeKey.value) } : {})),
33
- Limit: params.limit,
34
- ScanIndexForward: params.scanForward,
35
- ExclusiveStartKey: params.lastKey ? JSON.parse(params.lastKey) : undefined,
36
- };
37
- const response = yield this.getDb().query(command).promise();
38
- return {
39
- data: ((_a = response.Items) !== null && _a !== void 0 ? _a : []).map(item => this.marshaller.unmarshallItem(item)),
40
- lastKey: response.LastEvaluatedKey && JSON.stringify(response.LastEvaluatedKey)
41
- };
42
- });
14
+ async queryBegins_with(params) {
15
+ const { primaryKey, rangeKey, indexName } = params;
16
+ const command = {
17
+ TableName: this.tableName,
18
+ IndexName: indexName,
19
+ KeyConditionExpression: `#PK = :PK ${rangeKey ? 'AND begins_with(#SK,:SK)' : ''}`,
20
+ ExpressionAttributeNames: {
21
+ '#PK': primaryKey.name,
22
+ ...(rangeKey ? { '#SK': rangeKey.name } : {}),
23
+ },
24
+ ExpressionAttributeValues: {
25
+ ':PK': this.marshaller.marshallValue(primaryKey.value),
26
+ ...(rangeKey ? { ':SK': this.marshaller.marshallValue(rangeKey.value) } : {}),
27
+ },
28
+ Limit: params.limit,
29
+ ScanIndexForward: params.scanForward,
30
+ ExclusiveStartKey: params.lastKey ? JSON.parse(params.lastKey) : undefined,
31
+ };
32
+ const response = await this.getDb().query(command).promise();
33
+ return {
34
+ data: (response.Items ?? []).map(item => this.marshaller.unmarshallItem(item)),
35
+ lastKey: response.LastEvaluatedKey && JSON.stringify(response.LastEvaluatedKey)
36
+ };
43
37
  }
44
38
  /**
45
39
  * Execute a query with conditional range key.
@@ -47,85 +41,95 @@ class RepositoryExtended extends repository_1.RepositoryBase {
47
41
  * @param params
48
42
  * @returns
49
43
  */
50
- queryCondition(params) {
51
- var _a;
52
- return __awaiter(this, void 0, void 0, function* () {
53
- const { primaryKey, rangeKey, indexName } = params;
54
- const skCondition = {
55
- EQ: 'AND #SK = :SK',
56
- GT: 'AND #SK > :SK',
57
- LT: 'AND #SK < :SK',
58
- GE: 'AND #SK >= :SK',
59
- LE: 'AND #SK <= :SK',
60
- BEGINS_WITH: 'AND begins_with(#SK, :SK)',
61
- BETWEEN: 'AND #SK between :SKfrom and :SKto'
62
- };
63
- const command = {
64
- TableName: this.tableName,
65
- IndexName: indexName,
66
- KeyConditionExpression: `#PK = :PK ${rangeKey ? skCondition[rangeKey.condition] : ''}`,
67
- ExpressionAttributeNames: Object.assign({ '#PK': primaryKey.name }, (rangeKey ? { '#SK': rangeKey.name } : {})),
68
- ExpressionAttributeValues: Object.assign({ ':PK': this.marshaller.marshallValue(primaryKey.value) }, (rangeKey ?
44
+ async queryCondition(params) {
45
+ const { primaryKey, rangeKey, indexName } = params;
46
+ const skCondition = {
47
+ EQ: 'AND #SK = :SK',
48
+ GT: 'AND #SK > :SK',
49
+ LT: 'AND #SK < :SK',
50
+ GE: 'AND #SK >= :SK',
51
+ LE: 'AND #SK <= :SK',
52
+ BEGINS_WITH: 'AND begins_with(#SK, :SK)',
53
+ BETWEEN: 'AND #SK between :SKfrom and :SKto'
54
+ };
55
+ const command = {
56
+ TableName: this.tableName,
57
+ IndexName: indexName,
58
+ KeyConditionExpression: `#PK = :PK ${rangeKey ? skCondition[rangeKey.condition] : ''}`,
59
+ ExpressionAttributeNames: {
60
+ '#PK': primaryKey.name,
61
+ ...(rangeKey ? { '#SK': rangeKey.name } : {}),
62
+ },
63
+ ExpressionAttributeValues: {
64
+ ':PK': this.marshaller.marshallValue(primaryKey.value),
65
+ ...(rangeKey ?
69
66
  typeof rangeKey.value === 'object' ?
70
67
  {
71
68
  ':SKfrom': this.marshaller.marshallValue(rangeKey.value.from),
72
69
  ':SKto': this.marshaller.marshallValue(rangeKey.value.to),
73
70
  }
74
71
  : { ':SK': this.marshaller.marshallValue(rangeKey.value) }
75
- : {})),
76
- };
77
- const response = yield this.getDb().query(command).promise();
78
- return ((_a = response.Items) !== null && _a !== void 0 ? _a : []).map(item => this.fromItem(item));
79
- });
72
+ : {}),
73
+ },
74
+ };
75
+ const response = await this.getDb().query(command).promise();
76
+ return (response.Items ?? []).map(item => this.fromItem(item));
80
77
  }
81
78
  /**
82
79
  * Requires `updateItem` permission
83
80
  * @param params update params
84
81
  * @returns all updated items
85
82
  */
86
- updateItem(params) {
87
- return __awaiter(this, void 0, void 0, function* () {
88
- const { primaryKey, rangeKey, update } = params;
89
- const attributes = Object.entries(update);
90
- const command = {
91
- TableName: this.tableName,
92
- Key: this.marshaller.marshallItem(Object.assign({ [primaryKey.name]: primaryKey.value }, (rangeKey ? { [rangeKey.name]: rangeKey.value } : {}))),
93
- ConditionExpression: `#PK = :PK ${rangeKey ? `AND #SK = :SK` : ''}`,
94
- UpdateExpression: `set ${attributes.map(([k]) => `#${k} = :${k}`).join(', ')}`,
95
- ExpressionAttributeNames: Object.assign({ '#PK': primaryKey.name }, (rangeKey ? { '#SK': rangeKey.name } : {})),
96
- ExpressionAttributeValues: Object.assign({ ':PK': this.marshaller.marshallValue(primaryKey.value) }, (rangeKey
83
+ async updateItem(params) {
84
+ const { primaryKey, rangeKey, update } = params;
85
+ const attributes = Object.entries(update);
86
+ const command = {
87
+ TableName: this.tableName,
88
+ Key: this.marshaller.marshallItem({
89
+ [primaryKey.name]: primaryKey.value,
90
+ ...(rangeKey ? { [rangeKey.name]: rangeKey.value } : {}),
91
+ }),
92
+ ConditionExpression: `#PK = :PK ${rangeKey ? `AND #SK = :SK` : ''}`,
93
+ UpdateExpression: `set ${attributes.map(([k]) => `#${k} = :${k}`).join(', ')}`,
94
+ ExpressionAttributeNames: {
95
+ '#PK': primaryKey.name,
96
+ ...(rangeKey ? { '#SK': rangeKey.name } : {}),
97
+ },
98
+ ExpressionAttributeValues: {
99
+ ':PK': this.marshaller.marshallValue(primaryKey.value),
100
+ ...(rangeKey
97
101
  ? { ':SK': this.marshaller.marshallValue(rangeKey.value) }
98
- : {})),
99
- ReturnValues: 'ALL_NEW',
100
- };
101
- attributes.forEach(([name, value]) => {
102
- command.ExpressionAttributeNames[`#${name}`] = name;
103
- command.ExpressionAttributeValues[`:${name}`] = this.marshaller.marshallValue(value);
104
- });
105
- const response = yield this.getDb().updateItem(command).promise();
106
- if (!response.Attributes)
107
- throw new Error('Failed to update item');
108
- return this.marshaller.unmarshallItem(response.Attributes);
102
+ : {}),
103
+ },
104
+ ReturnValues: 'ALL_NEW',
105
+ };
106
+ attributes.forEach(([name, value]) => {
107
+ command.ExpressionAttributeNames[`#${name}`] = name;
108
+ command.ExpressionAttributeValues[`:${name}`] = this.marshaller.marshallValue(value);
109
109
  });
110
+ const response = await this.getDb().updateItem(command).promise();
111
+ if (!response.Attributes)
112
+ throw new Error('Failed to update item');
113
+ return this.marshaller.unmarshallItem(response.Attributes);
110
114
  }
111
115
  /**
112
116
  * Reads all items of the table
113
117
  * @param params
114
118
  * @returns
115
119
  */
116
- fullScan(params) {
117
- var _a;
118
- return __awaiter(this, void 0, void 0, function* () {
119
- let lastEvaluatedKey = params.ExclusiveStartKey;
120
- let items = [];
121
- do {
122
- const command = Object.assign(Object.assign({}, params), { ExclusiveStartKey: lastEvaluatedKey });
123
- const response = yield this.getDb().scan(command).promise();
124
- lastEvaluatedKey = response.LastEvaluatedKey;
125
- items = items.concat(((_a = response.Items) !== null && _a !== void 0 ? _a : []).map(item => this.fromItem(item)));
126
- } while (lastEvaluatedKey);
127
- return items;
128
- });
120
+ async fullScan(params) {
121
+ let lastEvaluatedKey = params.ExclusiveStartKey;
122
+ let items = [];
123
+ do {
124
+ const command = {
125
+ ...params,
126
+ ExclusiveStartKey: lastEvaluatedKey,
127
+ };
128
+ const response = await this.getDb().scan(command).promise();
129
+ lastEvaluatedKey = response.LastEvaluatedKey;
130
+ items = items.concat((response.Items ?? []).map(item => this.fromItem(item)));
131
+ } while (lastEvaluatedKey);
132
+ return items;
129
133
  }
130
134
  fromItem(item) {
131
135
  return this.marshaller.unmarshallItem(item);
@@ -1 +1 @@
1
- {"version":3,"file":"repositoryExtended.js","sourceRoot":"","sources":["../../src/data/repositoryExtended.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repositoryExtended.js","sourceRoot":"","sources":["../../src/data/repositoryExtended.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { AttributeValue, AttributeMap } from 'aws-sdk/clients/dynamodb';
2
+ export interface IMarshaller {
3
+ marshallItem(item: {
4
+ [key: string]: any;
5
+ }): AttributeMap;
6
+ marshallValue(value: any): AttributeValue | undefined;
7
+ unmarshallItem(item: AttributeMap): any;
8
+ unmarshallValue(item: AttributeValue): any;
9
+ }
10
+ export declare const DefaultMarshaller: IMarshaller;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DefaultMarshaller = void 0;
4
+ const AWS = require("aws-sdk");
5
+ exports.DefaultMarshaller = {
6
+ marshallItem: AWS.DynamoDB.Converter.marshall,
7
+ unmarshallItem: AWS.DynamoDB.Converter.unmarshall,
8
+ marshallValue: AWS.DynamoDB.Converter.input,
9
+ unmarshallValue: AWS.DynamoDB.Converter.output,
10
+ };
11
+ //# sourceMappingURL=dynamoMarsharler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamoMarsharler.js","sourceRoot":"","sources":["../src/dynamoMarsharler.ts"],"names":[],"mappings":";;;AAAA,+BAA+B;AAclB,QAAA,iBAAiB,GAAgB;IAC1C,YAAY,EAAE,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ;IAC7C,cAAc,EAAE,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU;IACjD,aAAa,EAAE,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK;IAC3C,eAAe,EAAE,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM;CACjD,CAAC"}
@@ -1,15 +1,6 @@
1
1
  import * as AWS from "aws-sdk";
2
- import { AttributeValue, AttributeMap } from 'aws-sdk/clients/dynamodb';
3
2
  import { ConditionExpression, ExpressionAttributeValueMap } from "aws-sdk/clients/dynamodb";
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
+ import { IMarshaller } from "./dynamoMarsharler";
13
4
  export declare class RepositoryBase {
14
5
  protected readonly table: {
15
6
  envKeyName: string;
@@ -1,32 +1,17 @@
1
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
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.RepositoryBase = exports.DefaultMarshaller = void 0;
3
+ exports.RepositoryBase = void 0;
13
4
  const AWS = require("aws-sdk");
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
- };
5
+ const dynamoMarsharler_1 = require("./dynamoMarsharler");
20
6
  class RepositoryBase {
21
7
  constructor(table, customMarshaller, clientConfig) {
22
- var _a;
23
8
  this.table = table;
24
- this.tableName = (_a = process.env[table.envKeyName]) !== null && _a !== void 0 ? _a : '';
9
+ this.tableName = process.env[table.envKeyName] ?? '';
25
10
  if (customMarshaller) {
26
11
  this.marshaller = customMarshaller;
27
12
  }
28
13
  else {
29
- this.marshaller = exports.DefaultMarshaller;
14
+ this.marshaller = dynamoMarsharler_1.DefaultMarshaller;
30
15
  }
31
16
  this.clientConfig = clientConfig;
32
17
  }
@@ -40,91 +25,82 @@ class RepositoryBase {
40
25
  throw new Error(`Could not find env var: ${this.table.envKeyName}`);
41
26
  return new AWS.DynamoDB(this.clientConfig);
42
27
  }
43
- scan(args) {
44
- var _a;
45
- return __awaiter(this, void 0, void 0, function* () {
46
- const db = this.getDb();
47
- const result = yield db.scan({
48
- TableName: this.tableName,
49
- FilterExpression: args === null || args === void 0 ? void 0 : args.filter,
50
- ExpressionAttributeValues: args === null || args === void 0 ? void 0 : args.filterValues,
51
- }).promise();
52
- if (!result.Items) {
53
- return [];
54
- }
55
- return (_a = result.Items) === null || _a === void 0 ? void 0 : _a.map((x) => this.marshaller.unmarshallItem(x));
56
- });
28
+ async scan(args) {
29
+ const db = this.getDb();
30
+ const result = await db.scan({
31
+ TableName: this.tableName,
32
+ FilterExpression: args?.filter,
33
+ ExpressionAttributeValues: args?.filterValues,
34
+ }).promise();
35
+ if (!result.Items) {
36
+ return [];
37
+ }
38
+ return result.Items?.map((x) => this.marshaller.unmarshallItem(x));
57
39
  }
58
- upsert(item) {
59
- return __awaiter(this, void 0, void 0, function* () {
60
- const db = this.getDb();
61
- const marsharlledItem = this.marshaller.marshallItem(item);
62
- const command = {
63
- Item: marsharlledItem,
64
- TableName: this.tableName,
65
- ReturnValues: 'NONE'
66
- };
67
- yield db.putItem(command).promise();
68
- return item;
69
- });
40
+ async upsert(item) {
41
+ const db = this.getDb();
42
+ const marsharlledItem = this.marshaller.marshallItem(item);
43
+ const command = {
44
+ Item: marsharlledItem,
45
+ TableName: this.tableName,
46
+ ReturnValues: 'NONE'
47
+ };
48
+ await db.putItem(command).promise();
49
+ return item;
70
50
  }
71
- query(primaryKey, rangeKey, indexName) {
72
- return __awaiter(this, void 0, void 0, function* () {
73
- if (typeof rangeKey === 'string') {
74
- indexName = rangeKey;
75
- rangeKey = undefined;
76
- }
77
- const db = this.getDb();
78
- const value = this.marshaller.marshallValue(primaryKey.value);
79
- if (!value)
80
- throw new Error(`Invalid primary key. ${JSON.stringify(primaryKey)}`);
81
- let params = {
82
- TableName: this.tableName,
83
- KeyConditionExpression: "#primaryKey = :primaryKeyValue",
84
- ExpressionAttributeNames: {
85
- "#primaryKey": primaryKey.name
86
- },
87
- ExpressionAttributeValues: {
88
- ":primaryKeyValue": value
89
- },
90
- IndexName: indexName
91
- };
92
- if ((rangeKey === null || rangeKey === void 0 ? void 0 : rangeKey.name) && (rangeKey === null || rangeKey === void 0 ? void 0 : rangeKey.value) && params.ExpressionAttributeNames && params.ExpressionAttributeValues) {
93
- params.KeyConditionExpression += " AND #rangeKey = :rangeKeyValue";
94
- params.ExpressionAttributeNames["#rangeKey"] = rangeKey.name;
95
- params.ExpressionAttributeValues[":rangeKeyValue"] = this.marshaller.marshallValue(rangeKey.value);
96
- }
97
- const result = yield db.query(params).promise();
98
- const items = result.Items;
99
- if (!items)
100
- return [];
101
- return items.map(item => this.marshaller.unmarshallItem(item));
102
- });
51
+ async query(primaryKey, rangeKey, indexName) {
52
+ if (typeof rangeKey === 'string') {
53
+ indexName = rangeKey;
54
+ rangeKey = undefined;
55
+ }
56
+ const db = this.getDb();
57
+ const value = this.marshaller.marshallValue(primaryKey.value);
58
+ if (!value)
59
+ throw new Error(`Invalid primary key. ${JSON.stringify(primaryKey)}`);
60
+ let params = {
61
+ TableName: this.tableName,
62
+ KeyConditionExpression: "#primaryKey = :primaryKeyValue",
63
+ ExpressionAttributeNames: {
64
+ "#primaryKey": primaryKey.name
65
+ },
66
+ ExpressionAttributeValues: {
67
+ ":primaryKeyValue": value
68
+ },
69
+ IndexName: indexName
70
+ };
71
+ if (rangeKey?.name && rangeKey?.value && params.ExpressionAttributeNames && params.ExpressionAttributeValues) {
72
+ params.KeyConditionExpression += " AND #rangeKey = :rangeKeyValue";
73
+ params.ExpressionAttributeNames["#rangeKey"] = rangeKey.name;
74
+ params.ExpressionAttributeValues[":rangeKeyValue"] = this.marshaller.marshallValue(rangeKey.value);
75
+ }
76
+ const result = await db.query(params).promise();
77
+ const items = result.Items;
78
+ if (!items)
79
+ return [];
80
+ return items.map(item => this.marshaller.unmarshallItem(item));
103
81
  }
104
- getById(primaryKey, rangeKey) {
105
- return __awaiter(this, void 0, void 0, function* () {
106
- const db = this.getDb();
107
- let value = this.marshaller.marshallValue(primaryKey.value);
108
- if (!value)
109
- throw new Error(`Invalid primary key. ${JSON.stringify(primaryKey)}`);
110
- const key = {
111
- [primaryKey.name]: value
112
- };
113
- if (rangeKey) {
114
- const range = this.marshaller.marshallValue(rangeKey.value);
115
- if (!range)
116
- throw new Error(`Invalid range key. ${JSON.stringify(primaryKey)}`);
117
- key[rangeKey.name] = range;
118
- }
119
- const item = yield db.getItem({
120
- TableName: this.tableName,
121
- Key: key,
122
- ConsistentRead: true,
123
- }).promise();
124
- if (!item.Item)
125
- return null;
126
- return this.marshaller.unmarshallItem(item.Item);
127
- });
82
+ async getById(primaryKey, rangeKey) {
83
+ const db = this.getDb();
84
+ let value = this.marshaller.marshallValue(primaryKey.value);
85
+ if (!value)
86
+ throw new Error(`Invalid primary key. ${JSON.stringify(primaryKey)}`);
87
+ const key = {
88
+ [primaryKey.name]: value
89
+ };
90
+ if (rangeKey) {
91
+ const range = this.marshaller.marshallValue(rangeKey.value);
92
+ if (!range)
93
+ throw new Error(`Invalid range key. ${JSON.stringify(primaryKey)}`);
94
+ key[rangeKey.name] = range;
95
+ }
96
+ const item = await db.getItem({
97
+ TableName: this.tableName,
98
+ Key: key,
99
+ ConsistentRead: true,
100
+ }).promise();
101
+ if (!item.Item)
102
+ return null;
103
+ return this.marshaller.unmarshallItem(item.Item);
128
104
  }
129
105
  }
130
106
  exports.RepositoryBase = RepositoryBase;
@@ -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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"}
@@ -1,24 +1,16 @@
1
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
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  const repository_1 = require("./repository");
4
+ const dynamoMarsharler_1 = require("./dynamoMarsharler");
13
5
  describe("Repository", () => {
14
- test("Marshaller", () => __awaiter(void 0, void 0, void 0, function* () {
6
+ test("Marshaller", async () => {
15
7
  // const repo = new TestRepo({
16
8
  // envKeyName: "TEST_NAME",
17
9
  // name: 'test',
18
10
  // primaryKey: 'userId',
19
11
  // rangeKey: 'id'
20
12
  // })
21
- const marshaller = repository_1.DefaultMarshaller;
13
+ const marshaller = dynamoMarsharler_1.DefaultMarshaller;
22
14
  const original = {
23
15
  a: 1,
24
16
  b: 'b',
@@ -33,7 +25,7 @@ describe("Repository", () => {
33
25
  expect(unmarshalled.b).toBe(original.b);
34
26
  expect(unmarshalled.c).toStrictEqual(original.c);
35
27
  expect(unmarshalled.d).toStrictEqual(original.d);
36
- }));
28
+ });
37
29
  });
38
30
  class TestRepo extends repository_1.RepositoryBase {
39
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"repository.test.js","sourceRoot":"","sources":["../src/repository.test.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,6CAA6E;AAE7E,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"}
1
+ {"version":3,"file":"repository.test.js","sourceRoot":"","sources":["../src/repository.test.ts"],"names":[],"mappings":";;AAAA,6CAA6C;AAC7C,yDAAmE;AAEnE,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IACxB,IAAI,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;QAC1B,8BAA8B;QAC9B,+BAA+B;QAC/B,oBAAoB;QACpB,4BAA4B;QAC5B,qBAAqB;QACrB,KAAK;QAEL,MAAM,UAAU,GAAgB,oCAAiB,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,CAAC,CAAA;AACN,CAAC,CAAC,CAAA;AAEF,MAAM,QAAS,SAAQ,2BAAc;CAEpC"}
package/dist/request.js CHANGED
@@ -1,13 +1,4 @@
1
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
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.getContext = exports.getUser = exports.getUserById = exports.getBody = exports.tryGetBody = void 0;
13
4
  const AWS = require("aws-sdk");
@@ -31,122 +22,113 @@ function getBody(request) {
31
22
  return body;
32
23
  }
33
24
  exports.getBody = getBody;
34
- function _FindUser(userPoolId, userId, username) {
35
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
36
- return __awaiter(this, void 0, void 0, function* () {
37
- //@ts-ignore
38
- global.globalCognitoIdp = (_a = global.globalCognitoIdp) !== null && _a !== void 0 ? _a : new AWS.CognitoIdentityServiceProvider({ apiVersion: '2016-04-18' });
39
- //@ts-ignore
40
- global.globalUserCacheBySub = (_b = global.globalUserCacheBySub) !== null && _b !== void 0 ? _b : new Map();
41
- //@ts-ignore
42
- global.globalUserCacheByUsername = (_c = global.globalUserCacheByUsername) !== null && _c !== void 0 ? _c : new Map();
43
- //@ts-ignore
44
- const cognitoIdp = global.globalCognitoIdp;
45
- //@ts-ignore
46
- const userCacheBySub = global.globalUserCacheBySub;
47
- //@ts-ignore
48
- const userCacheByUsername = global.globalUserCacheByUsername;
49
- const a = Date.now();
50
- if (!userPoolId)
51
- throw 'Invalid userPoolId';
52
- let user;
53
- if (username)
54
- user = userCacheByUsername.get(username);
55
- if (userId)
56
- user = userCacheBySub.get(userId);
57
- if (!user) {
58
- console.log('user not in cache');
59
- if (username) {
60
- console.log('getting user by username', username);
61
- const cu = yield cognitoIdp.adminGetUser({
62
- UserPoolId: userPoolId,
63
- Username: username
64
- }).promise();
25
+ async function _FindUser(userPoolId, userId, username) {
26
+ //@ts-ignore
27
+ global.globalCognitoIdp = global.globalCognitoIdp ?? new AWS.CognitoIdentityServiceProvider({ apiVersion: '2016-04-18' });
28
+ //@ts-ignore
29
+ global.globalUserCacheBySub = global.globalUserCacheBySub ?? new Map();
30
+ //@ts-ignore
31
+ global.globalUserCacheByUsername = global.globalUserCacheByUsername ?? new Map();
32
+ //@ts-ignore
33
+ const cognitoIdp = global.globalCognitoIdp;
34
+ //@ts-ignore
35
+ const userCacheBySub = global.globalUserCacheBySub;
36
+ //@ts-ignore
37
+ const userCacheByUsername = global.globalUserCacheByUsername;
38
+ const a = Date.now();
39
+ if (!userPoolId)
40
+ throw 'Invalid userPoolId';
41
+ let user;
42
+ if (username)
43
+ user = userCacheByUsername.get(username);
44
+ if (userId)
45
+ user = userCacheBySub.get(userId);
46
+ if (!user) {
47
+ console.log('user not in cache');
48
+ if (username) {
49
+ console.log('getting user by username', username);
50
+ const cu = await cognitoIdp.adminGetUser({
51
+ UserPoolId: userPoolId,
52
+ Username: username
53
+ }).promise();
54
+ if (!cu)
55
+ throw 'User not found';
56
+ if (!cu.UserAttributes)
57
+ throw 'User has no attributes';
58
+ //TODO Pass environment
59
+ var cutomAttributes = cu.UserAttributes.filter(x => x.Name.startsWith('dev:custom:'));
60
+ userId = cu.UserAttributes.find(x => x.Name == 'sub')?.Value;
61
+ var email = cu.UserAttributes.find(x => x.Name == 'email')?.Value;
62
+ var name = cu.UserAttributes.find(x => x.Name == 'name')?.Value;
63
+ if (!userId)
64
+ throw 'Invalid user, has no sub';
65
+ user = {
66
+ id: userId,
67
+ username,
68
+ name,
69
+ email: email ?? '',
70
+ attributes: cutomAttributes
71
+ };
72
+ }
73
+ else if (userId) {
74
+ console.log('getting user by userId', userId);
75
+ const cusers = await cognitoIdp.listUsers({
76
+ UserPoolId: userPoolId,
77
+ Filter: `sub = "${userId}"`
78
+ }).promise();
79
+ if (cusers && cusers.Users && cusers.Users.length > 0) {
80
+ const cu = cusers.Users[0];
65
81
  if (!cu)
66
82
  throw 'User not found';
67
- if (!cu.UserAttributes)
83
+ if (!cu.Attributes)
68
84
  throw 'User has no attributes';
69
- //TODO Pass environment
70
- var cutomAttributes = cu.UserAttributes.filter(x => x.Name.startsWith('dev:custom:'));
71
- userId = (_d = cu.UserAttributes.find(x => x.Name == 'sub')) === null || _d === void 0 ? void 0 : _d.Value;
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;
74
- if (!userId)
85
+ username = cu.Username;
86
+ var cutomAttributes = cu.Attributes.filter(x => x.Name.startsWith('dev:custom:'));
87
+ var sub = cu.Attributes.find(x => x.Name == 'sub')?.Value;
88
+ var name = cu.Attributes.find(x => x.Name == 'name')?.Value;
89
+ var email = cu.Attributes.find(x => x.Name == 'email')?.Value;
90
+ if (!sub)
75
91
  throw 'Invalid user, has no sub';
92
+ if (!username)
93
+ throw 'username is empty';
76
94
  user = {
77
- id: userId,
78
- username,
95
+ id: sub,
96
+ attributes: cutomAttributes,
79
97
  name,
80
- email: email !== null && email !== void 0 ? email : '',
81
- attributes: cutomAttributes
98
+ username,
99
+ email: email ?? ''
82
100
  };
83
101
  }
84
- else if (userId) {
85
- console.log('getting user by userId', userId);
86
- const cusers = yield cognitoIdp.listUsers({
87
- UserPoolId: userPoolId,
88
- Filter: `sub = "${userId}"`
89
- }).promise();
90
- if (cusers && cusers.Users && cusers.Users.length > 0) {
91
- const cu = cusers.Users[0];
92
- if (!cu)
93
- throw 'User not found';
94
- if (!cu.Attributes)
95
- throw 'User has no attributes';
96
- username = cu.Username;
97
- var cutomAttributes = cu.Attributes.filter(x => x.Name.startsWith('dev:custom:'));
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;
101
- if (!sub)
102
- throw 'Invalid user, has no sub';
103
- if (!username)
104
- throw 'username is empty';
105
- user = {
106
- id: sub,
107
- attributes: cutomAttributes,
108
- name,
109
- username,
110
- email: email !== null && email !== void 0 ? email : ''
111
- };
112
- }
113
- }
114
- if (!userId)
115
- throw 'Invalid user, has no sub';
116
- if (!username)
117
- throw 'username is empty';
118
- if (!user)
119
- throw 'Could not find user';
120
- userCacheBySub.set(userId, user);
121
- userCacheByUsername.set(username, user);
122
102
  }
123
- var b = Date.now();
124
- console.log('found user', user);
125
- console.log('adminGetUser (ms): ', (b - a));
126
- return user;
127
- });
103
+ if (!userId)
104
+ throw 'Invalid user, has no sub';
105
+ if (!username)
106
+ throw 'username is empty';
107
+ if (!user)
108
+ throw 'Could not find user';
109
+ userCacheBySub.set(userId, user);
110
+ userCacheByUsername.set(username, user);
111
+ }
112
+ var b = Date.now();
113
+ console.log('found user', user);
114
+ console.log('adminGetUser (ms): ', (b - a));
115
+ return user;
128
116
  }
129
- function getUserById(userId, poolId) {
130
- return __awaiter(this, void 0, void 0, function* () {
131
- const user = yield _FindUser(poolId, userId);
132
- return user;
133
- });
117
+ async function getUserById(userId, poolId) {
118
+ const user = await _FindUser(poolId, userId);
119
+ return user;
134
120
  }
135
121
  exports.getUserById = getUserById;
136
- function getUser(username, context) {
137
- var _a;
138
- return __awaiter(this, void 0, void 0, function* () {
139
- const user = yield _FindUser((_a = context.poolId) !== null && _a !== void 0 ? _a : '', undefined, username);
140
- return user;
141
- });
122
+ async function getUser(username, context) {
123
+ const user = await _FindUser(context.poolId ?? '', undefined, username);
124
+ return user;
142
125
  }
143
126
  exports.getUser = getUser;
144
127
  function getContext(request) {
145
- var _a, _b;
146
128
  if (!request) {
147
129
  throw 'Server error';
148
130
  }
149
- const claims = (_b = (_a = request === null || request === void 0 ? void 0 : request.requestContext) === null || _a === void 0 ? void 0 : _a.authorizer) === null || _b === void 0 ? void 0 : _b.claims;
131
+ const claims = request?.requestContext?.authorizer?.claims;
150
132
  if (claims) {
151
133
  const poolId = claims['iss'].split('/').pop();
152
134
  const userSub = claims['sub'];
@@ -157,9 +139,9 @@ function getContext(request) {
157
139
  //hash.update(accessToken, "utf8").digest('hex');
158
140
  const userIp = request.requestContext.identity.sourceIp;
159
141
  return {
160
- userId: userSub !== null && userSub !== void 0 ? userSub : undefined,
161
- poolId: poolId !== null && poolId !== void 0 ? poolId : undefined,
162
- email: email !== null && email !== void 0 ? email : undefined,
142
+ userId: userSub ?? undefined,
143
+ poolId: poolId ?? undefined,
144
+ email: email ?? undefined,
163
145
  username: username,
164
146
  clientIP: userIp,
165
147
  claims: claims
@@ -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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"}
@@ -1,14 +1,5 @@
1
1
  "use strict";
2
2
  // FROM https://github.com/c-bandy/aws-secrets-manager-cache
3
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5
- return new (P || (P = Promise))(function (resolve, reject) {
6
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
7
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
8
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
9
- step((generator = generator.apply(thisArg, _arguments || [])).next());
10
- });
11
- };
12
3
  Object.defineProperty(exports, "__esModule", { value: true });
13
4
  exports.SecretsManagerCache = exports.CachedSecret = void 0;
14
5
  const aws_sdk_1 = require("aws-sdk");
@@ -27,38 +18,39 @@ exports.CachedSecret = CachedSecret;
27
18
  class SecretsManagerCache {
28
19
  constructor(options) {
29
20
  this.cache = new Map();
30
- this.config = Object.assign({
21
+ this.config = {
31
22
  // set defaults
32
- ttl: defaultTTL, secretsManager: new aws_sdk_1.SecretsManager() }, options);
23
+ ttl: defaultTTL,
24
+ secretsManager: new aws_sdk_1.SecretsManager(),
25
+ // replace defaults with input options
26
+ ...options,
27
+ };
33
28
  }
34
29
  /**
35
30
  * Fetches a secret from SecretsManager and caches it as long as the given
36
31
  * `ttl`.
37
32
  */
38
- getSecret(secretName, isJSON = false) {
39
- var _a, _b;
40
- return __awaiter(this, void 0, void 0, function* () {
41
- const itemExistsInCache = this.cache.has(secretName);
42
- const itemHasExpired = (_a = this.cache.get(secretName)) === null || _a === void 0 ? void 0 : _a.hasExpired();
43
- if (!itemExistsInCache || itemHasExpired) {
44
- const getSecretValueResponse = yield this.config.secretsManager
45
- .getSecretValue({ SecretId: secretName })
46
- .promise();
47
- if (getSecretValueResponse.SecretString) {
48
- this.cache.set(secretName, new CachedSecret(getSecretValueResponse.SecretString, this.config.ttl));
49
- }
33
+ async getSecret(secretName, isJSON = false) {
34
+ const itemExistsInCache = this.cache.has(secretName);
35
+ const itemHasExpired = this.cache.get(secretName)?.hasExpired();
36
+ if (!itemExistsInCache || itemHasExpired) {
37
+ const getSecretValueResponse = await this.config.secretsManager
38
+ .getSecretValue({ SecretId: secretName })
39
+ .promise();
40
+ if (getSecretValueResponse.SecretString) {
41
+ this.cache.set(secretName, new CachedSecret(getSecretValueResponse.SecretString, this.config.ttl));
50
42
  }
51
- const secret = (_b = this.cache.get(secretName)) === null || _b === void 0 ? void 0 : _b.value;
52
- if (isJSON) {
53
- try {
54
- return JSON.parse(secret);
55
- }
56
- catch (error) {
57
- throw new Error('Attempted to parse non-JSON secret string as JSON.');
58
- }
43
+ }
44
+ const secret = this.cache.get(secretName)?.value;
45
+ if (isJSON) {
46
+ try {
47
+ return JSON.parse(secret);
59
48
  }
60
- return secret;
61
- });
49
+ catch (error) {
50
+ throw new Error('Attempted to parse non-JSON secret string as JSON.');
51
+ }
52
+ }
53
+ return secret;
62
54
  }
63
55
  static get() {
64
56
  return this._manager;
@@ -1 +1 @@
1
- {"version":3,"file":"secretManager.js","sourceRoot":"","sources":["../src/secretManager.ts"],"names":[],"mappings":";AAAA,4DAA4D;;;;;;;;;;;;AAE5D,qCAAyC;AAEzC,MAAM,UAAU,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,YAAY;AAEhD,MAAa,YAAY;IAKrB,YAAY,KAAa,EAAE,GAAW;QAClC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC;IACtC,CAAC;IAED,UAAU;QACN,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;CACJ;AAdD,oCAcC;AAcD,MAAa,mBAAmB;IAI5B,YAAY,OAAoC;QAFxC,UAAK,GAAG,IAAI,GAAG,EAAwB,CAAA;QAG3C,IAAI,CAAC,MAAM;YACP,eAAe;YACf,GAAG,EAAE,UAAU,EACf,cAAc,EAAE,IAAI,wBAAc,EAAE,IAEjC,OAAO,CACb,CAAC;IACN,CAAC;IAED;;;OAGG;IACG,SAAS,CAAC,UAAkB,EAAE,MAAM,GAAG,KAAK;;;YAC9C,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACrD,MAAM,cAAc,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,0CAAE,UAAU,EAAE,CAAC;YAEhE,IAAI,CAAC,iBAAiB,IAAI,cAAc,EAAE;gBACtC,MAAM,sBAAsB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc;qBAC1D,cAAc,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;qBACxC,OAAO,EAAE,CAAC;gBAEf,IAAI,sBAAsB,CAAC,YAAY,EAAE;oBACrC,IAAI,CAAC,KAAK,CAAC,GAAG,CACV,UAAU,EACV,IAAI,YAAY,CACZ,sBAAsB,CAAC,YAAY,EACnC,IAAI,CAAC,MAAM,CAAC,GAAG,CAClB,CACJ,CAAC;iBACL;aACJ;YAED,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,0CAAE,KAAK,CAAC;YAEjD,IAAI,MAAM,EAAE;gBACR,IAAI;oBACA,OAAO,IAAI,CAAC,KAAK,CAAC,MAAa,CAAC,CAAC;iBACpC;gBAAC,OAAO,KAAK,EAAE;oBACZ,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;iBACxE;aACJ;YAED,OAAO,MAAM,CAAC;;KACjB;IAGM,MAAM,CAAC,GAAG;QACb,OAAO,IAAI,CAAC,QAAQ,CAAA;IACxB,CAAC;;AAtDL,kDAuDC;AAJkB,4BAAQ,GAAG,IAAI,mBAAmB,EAAE,CAAA"}
1
+ {"version":3,"file":"secretManager.js","sourceRoot":"","sources":["../src/secretManager.ts"],"names":[],"mappings":";AAAA,4DAA4D;;;AAE5D,qCAAyC;AAEzC,MAAM,UAAU,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,YAAY;AAEhD,MAAa,YAAY;IAKrB,YAAY,KAAa,EAAE,GAAW;QAClC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC;IACtC,CAAC;IAED,UAAU;QACN,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;CACJ;AAdD,oCAcC;AAcD,MAAa,mBAAmB;IAI5B,YAAY,OAAoC;QAFxC,UAAK,GAAG,IAAI,GAAG,EAAwB,CAAA;QAG3C,IAAI,CAAC,MAAM,GAAG;YACV,eAAe;YACf,GAAG,EAAE,UAAU;YACf,cAAc,EAAE,IAAI,wBAAc,EAAE;YACpC,sCAAsC;YACtC,GAAG,OAAO;SACb,CAAC;IACN,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,SAAS,CAAC,UAAkB,EAAE,MAAM,GAAG,KAAK;QAC9C,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACrD,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,CAAC;QAEhE,IAAI,CAAC,iBAAiB,IAAI,cAAc,EAAE;YACtC,MAAM,sBAAsB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc;iBAC1D,cAAc,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;iBACxC,OAAO,EAAE,CAAC;YAEf,IAAI,sBAAsB,CAAC,YAAY,EAAE;gBACrC,IAAI,CAAC,KAAK,CAAC,GAAG,CACV,UAAU,EACV,IAAI,YAAY,CACZ,sBAAsB,CAAC,YAAY,EACnC,IAAI,CAAC,MAAM,CAAC,GAAG,CAClB,CACJ,CAAC;aACL;SACJ;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC;QAEjD,IAAI,MAAM,EAAE;YACR,IAAI;gBACA,OAAO,IAAI,CAAC,KAAK,CAAC,MAAa,CAAC,CAAC;aACpC;YAAC,OAAO,KAAK,EAAE;gBACZ,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;aACxE;SACJ;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAGM,MAAM,CAAC,GAAG;QACb,OAAO,IAAI,CAAC,QAAQ,CAAA;IACxB,CAAC;;AAtDL,kDAuDC;AAJkB,4BAAQ,GAAG,IAAI,mBAAmB,EAAE,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lambada/utils",
3
- "version": "1.4.6",
3
+ "version": "1.5.1",
4
4
  "main": "dist/index.js",
5
5
  "module": "dist/index.js",
6
6
  "typings": "dist/index.d.ts",
@@ -33,5 +33,5 @@
33
33
  "aws-sdk": "~2.1009.0"
34
34
  },
35
35
  "description": "",
36
- "gitHead": "eabeff22df6cb0d6fbea3e3ca0eff9e54168ffa8"
36
+ "gitHead": "79affa9b56b30039730089cedcc1c53f3e63cb7a"
37
37
  }