UNPKG

1.53 kBTypeScriptView Raw
1import { Handler } from '../handler';
2
3export type AppSyncResolverHandler<TArguments, TResults, TSource = Record<string, any> | null> = Handler<AppSyncResolverEvent<TArguments, TSource>, TResults | TResults[]>;
4
5export interface AppSyncResolverEventHeaders {
6 [name: string]: string | undefined;
7}
8
9/**
10 * See https://docs.aws.amazon.com/appsync/latest/devguide/resolver-context-reference.html
11 *
12 * @param TArguments type of the arguments
13 * @param TSource type of the source
14 */
15export interface AppSyncResolverEvent<TArguments, TSource = Record<string, any> | null> {
16 arguments: TArguments;
17 identity?: AppSyncIdentityIAM | AppSyncIdentityCognito | undefined;
18 source: TSource;
19 request: {
20 headers: AppSyncResolverEventHeaders;
21 };
22 info: {
23 selectionSetList: string[];
24 selectionSetGraphQL: string;
25 parentTypeName: string;
26 fieldName: string;
27 variables: { [key: string]: any };
28 };
29 prev: { result: { [key: string]: any } } | null;
30 stash: { [key: string]: any };
31}
32
33export interface AppSyncIdentityIAM {
34 accountId: string;
35 cognitoIdentityPoolId: string;
36 cognitoIdentityId: string;
37 sourceIp: string[];
38 username: string;
39 userArn: string;
40 cognitoIdentityAuthType: string;
41 cognitoIdentityAuthProvider: string;
42}
43
44export interface AppSyncIdentityCognito {
45 sub: string;
46 issuer: string;
47 username: string;
48 claims: any;
49 sourceIp: string[];
50 defaultAuthStrategy: string;
51 groups: string[] | null;
52}