1 | import { Handler } from '../handler';
|
2 |
|
3 | export type AppSyncResolverHandler<TArguments, TResult, TSource = Record<string, any> | null> = Handler<
|
4 | AppSyncResolverEvent<TArguments, TSource>,
|
5 | TResult
|
6 | >;
|
7 |
|
8 |
|
9 | export type AppSyncBatchResolverHandler<TArguments, TResult, TSource = Record<string, any> | null> = Handler<
|
10 | Array<AppSyncResolverEvent<TArguments, TSource>>,
|
11 | TResult[]
|
12 | >;
|
13 |
|
14 |
|
15 | export type AppSyncAuthorizerHander<TResolverContext = undefined> = Handler<
|
16 | AppSyncAuthorizerEvent,
|
17 | AppSyncAuthorizerResult<TResolverContext>
|
18 | >;
|
19 |
|
20 | export interface AppSyncResolverEventHeaders {
|
21 | [name: string]: string | undefined;
|
22 | }
|
23 |
|
24 | export type AppSyncIdentity =
|
25 | | AppSyncIdentityIAM
|
26 | | AppSyncIdentityCognito
|
27 | | AppSyncIdentityOIDC
|
28 | | AppSyncIdentityLambda
|
29 | | undefined
|
30 | | null;
|
31 |
|
32 |
|
33 |
|
34 |
|
35 |
|
36 |
|
37 |
|
38 | export interface AppSyncResolverEvent<TArguments, TSource = Record<string, any> | null> {
|
39 | arguments: TArguments;
|
40 | identity?: AppSyncIdentity;
|
41 | source: TSource;
|
42 | request: {
|
43 | headers: AppSyncResolverEventHeaders;
|
44 | };
|
45 | info: {
|
46 | selectionSetList: string[];
|
47 | selectionSetGraphQL: string;
|
48 | parentTypeName: string;
|
49 | fieldName: string;
|
50 | variables: { [key: string]: any };
|
51 | };
|
52 | prev: { result: { [key: string]: any } } | null;
|
53 | stash: { [key: string]: any };
|
54 | }
|
55 |
|
56 | export interface AppSyncAuthorizerEvent {
|
57 | authorizationToken: string;
|
58 | requestContext: {
|
59 | apiId: string;
|
60 | accountId: string;
|
61 | requestId: string;
|
62 | queryString: string;
|
63 | variables: { [key: string]: any };
|
64 | };
|
65 | }
|
66 |
|
67 | export interface AppSyncAuthorizerResult<TResolverContext = undefined> {
|
68 | isAuthorized: boolean;
|
69 | resolverContext?: TResolverContext;
|
70 | deniedFields?: string[];
|
71 | ttlOverride?: number;
|
72 | }
|
73 | export interface AppSyncIdentityIAM {
|
74 | accountId: string;
|
75 | cognitoIdentityPoolId: string;
|
76 | cognitoIdentityId: string;
|
77 | sourceIp: string[];
|
78 | username: string;
|
79 | userArn: string;
|
80 | cognitoIdentityAuthType: string;
|
81 | cognitoIdentityAuthProvider: string;
|
82 | }
|
83 |
|
84 | export interface AppSyncIdentityCognito {
|
85 | sub: string;
|
86 | issuer: string;
|
87 | username: string;
|
88 | claims: any;
|
89 | sourceIp: string[];
|
90 | defaultAuthStrategy: string;
|
91 | groups: string[] | null;
|
92 | }
|
93 |
|
94 | export interface AppSyncIdentityOIDC {
|
95 | claims: any;
|
96 | issuer: string;
|
97 | sub: string;
|
98 | }
|
99 |
|
100 | export interface AppSyncIdentityLambda {
|
101 | resolverContext: any;
|
102 | }
|