@mbc-cqrs-serverless/core
Version:
CQRS and event base core
74 lines (73 loc) • 1.87 kB
TypeScript
import { ExecutionContext } from '@nestjs/common';
export interface JwtClaims {
sub: string;
iss: string;
username?: string;
'cognito:groups'?: string[];
'cognito:username': string;
origin_jti?: string;
client_id?: string;
scope?: string;
aud: string;
event_id: string;
token_use: string;
auth_time: number;
name: string;
'custom:tenant'?: string;
'custom:roles'?: string;
exp: number;
email: string;
email_verified?: boolean;
iat: number;
jti: string;
}
export interface IInvokeEvent {
version?: string;
routeKey?: string;
rawPath?: string;
rawQueryString?: string;
headers?: Record<string, string>;
requestContext?: {
accountId?: string;
apiId?: string;
domainName?: string;
domainPrefix?: string;
http?: {
method?: string;
path?: string;
protocol?: string;
sourceIp?: string;
userAgent?: string;
};
requestId?: string;
stage?: string;
time?: string;
timeEpoch?: number;
authorizer?: {
jwt?: {
claims?: JwtClaims;
scopes?: string[];
};
};
};
isBase64Encoded?: boolean;
}
export interface IInvokeContext {
functionName?: string;
functionVersion?: string;
invokedFunctionArn?: string;
memoryLimitInMB?: string;
awsRequestId?: string;
logGroupName?: string;
logStreamName?: string;
identity?: {
cognitoIdentityId?: string;
cognitoIdentityPoolId?: string;
};
}
export interface IInvoke {
event?: IInvokeEvent;
context?: IInvokeContext;
}
export declare function extractInvokeContext(ctx?: ExecutionContext): IInvoke;
export declare function getAuthorizerClaims(ctx: IInvoke): JwtClaims;