@lambada/utils 2.1.0 → 2.2.0
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/dynamoMarshaller.d.ts +1 -1
- package/dist/request.d.ts +2 -5
- package/dist/request.js +10 -5
- package/dist/request.js.map +1 -1
- package/dist/secretManager.d.ts +1 -1
- package/package.json +10 -10
package/dist/request.d.ts
CHANGED
|
@@ -3,11 +3,8 @@ import { AttributeType, CognitoIdentityProvider } from '@aws-sdk/client-cognito-
|
|
|
3
3
|
export declare type Request = awslambda.APIGatewayProxyEvent;
|
|
4
4
|
export declare function tryGetBody<TBody>(request: Request): TBody | undefined;
|
|
5
5
|
export declare function getBody<TBody>(request: Request): TBody;
|
|
6
|
-
export declare function isUserInGroup(
|
|
7
|
-
|
|
8
|
-
poolId?: string;
|
|
9
|
-
}, groupName: string): Promise<boolean>;
|
|
10
|
-
declare type AuthenticatedUser = {
|
|
6
|
+
export declare function isUserInGroup(context: AuthExecutionContext, groupName: string): Promise<boolean>;
|
|
7
|
+
type AuthenticatedUser = {
|
|
11
8
|
id: string;
|
|
12
9
|
attributes: AttributeType[];
|
|
13
10
|
username: string;
|
package/dist/request.js
CHANGED
|
@@ -23,15 +23,20 @@ function getBody(request) {
|
|
|
23
23
|
return body;
|
|
24
24
|
}
|
|
25
25
|
exports.getBody = getBody;
|
|
26
|
-
async function isUserInGroup(
|
|
27
|
-
if (!
|
|
26
|
+
async function isUserInGroup(context, groupName) {
|
|
27
|
+
if (!context.username)
|
|
28
28
|
throw new error_1.LambadaError('[isUserInGroup] username is mandatory');
|
|
29
|
-
if (!
|
|
29
|
+
if (!context.poolId)
|
|
30
30
|
throw new error_1.LambadaError('[isUserInGroup] poolId is mandatory');
|
|
31
|
+
// We save a bit if we check the claims first
|
|
32
|
+
const claimGroups = context.claims['cognito:groups']?.split(',');
|
|
33
|
+
if (claimGroups && claimGroups.includes(groupName)) {
|
|
34
|
+
return true;
|
|
35
|
+
}
|
|
31
36
|
const cognito = new client_cognito_identity_provider_1.CognitoIdentityProvider({ apiVersion: '2016-04-18' });
|
|
32
37
|
const groups = await cognito.adminListGroupsForUser({
|
|
33
|
-
Username:
|
|
34
|
-
UserPoolId:
|
|
38
|
+
Username: context.username,
|
|
39
|
+
UserPoolId: context.poolId
|
|
35
40
|
});
|
|
36
41
|
return typeof groups.Groups?.find(x => x.GroupName == groupName) !== 'undefined';
|
|
37
42
|
}
|
package/dist/request.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.js","sourceRoot":"","sources":["../src/request.ts"],"names":[],"mappings":";;;AACA,mCAAuC;AACvC,gGAAkG;AAClG,iCAAgC;AAKhC,SAAgB,UAAU,CAAQ,OAAgB;IAC9C,IAAI,CAAC,OAAO,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAEpC,IAAI,WAAW,GAAQ,OAAO,CAAC,IAAI,CAAC;IACpC,IAAI,OAAO,CAAC,eAAe,EAAE;QACzB,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAA;KAC/D;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAU,CAAA;AAC3C,CAAC;AARD,gCAQC;AAED,SAAgB,OAAO,CAAQ,OAAgB;IAC3C,IAAI,CAAC,OAAO,CAAC,IAAI;QACb,MAAM,IAAI,oBAAY,CAAC,kCAAkC,CAAC,CAAA;IAE9D,MAAM,IAAI,GAAG,UAAU,CAAQ,OAAO,CAAC,CAAA;IACvC,IAAI,CAAC,IAAI;QACL,MAAM,IAAI,oBAAY,CAAC,kCAAkC,CAAC,CAAA;IAC9D,OAAO,IAAI,CAAA;AACf,CAAC;AARD,0BAQC;AAEM,KAAK,UAAU,aAAa,
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["../src/request.ts"],"names":[],"mappings":"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"}
|
package/dist/secretManager.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ export declare class CachedSecret {
|
|
|
6
6
|
constructor(value: string, ttl: number);
|
|
7
7
|
hasExpired(): boolean;
|
|
8
8
|
}
|
|
9
|
-
export
|
|
9
|
+
export type SecretsManagerCacheOptions = Partial<SecretsManagerCacheConfig>;
|
|
10
10
|
interface SecretsManagerCacheConfig {
|
|
11
11
|
/**
|
|
12
12
|
* How many milliseconds to cache each secret for.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lambada/utils",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.2.0",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"module": "dist/index.js",
|
|
6
6
|
"typings": "dist/index.d.ts",
|
|
@@ -18,10 +18,10 @@
|
|
|
18
18
|
},
|
|
19
19
|
"license": "MIT",
|
|
20
20
|
"devDependencies": {
|
|
21
|
-
"@aws-sdk/client-cognito-identity-provider": "
|
|
22
|
-
"@aws-sdk/client-dynamodb": "
|
|
23
|
-
"@aws-sdk/client-secrets-manager": "
|
|
24
|
-
"@aws-sdk/util-dynamodb": "
|
|
21
|
+
"@aws-sdk/client-cognito-identity-provider": "~3.808.0",
|
|
22
|
+
"@aws-sdk/client-dynamodb": "~3.808.0",
|
|
23
|
+
"@aws-sdk/client-secrets-manager": "~3.808.0",
|
|
24
|
+
"@aws-sdk/util-dynamodb": "~3.808.0",
|
|
25
25
|
"@types/aws-lambda": "^8.10.72",
|
|
26
26
|
"@types/jest": "^29",
|
|
27
27
|
"@types/node": "^14.14.34",
|
|
@@ -31,12 +31,12 @@
|
|
|
31
31
|
"typescript": "^4.0.5"
|
|
32
32
|
},
|
|
33
33
|
"peerDependencies": {
|
|
34
|
-
"@aws-sdk/client-cognito-identity-provider": "3.
|
|
35
|
-
"@aws-sdk/client-dynamodb": "
|
|
36
|
-
"@aws-sdk/client-secrets-manager": "3.
|
|
37
|
-
"@aws-sdk/util-dynamodb": "3.
|
|
34
|
+
"@aws-sdk/client-cognito-identity-provider": "~3.808.0",
|
|
35
|
+
"@aws-sdk/client-dynamodb": "~3.808.0",
|
|
36
|
+
"@aws-sdk/client-secrets-manager": "~3.808.0",
|
|
37
|
+
"@aws-sdk/util-dynamodb": "~3.808.0",
|
|
38
38
|
"@types/aws-lambda": "^8.10.72"
|
|
39
39
|
},
|
|
40
40
|
"description": "",
|
|
41
|
-
"gitHead": "
|
|
41
|
+
"gitHead": "dde12cef0996b3a0e0150f2623fca3fabb5bd2e2"
|
|
42
42
|
}
|