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 |
|
16 |
|
17 | export type AppSyncAuthorizerHander<TResolverContext = undefined> = AppSyncAuthorizerHandler<TResolverContext>;
|
18 |
|
19 |
|
20 |
|
21 |
|
22 |
|
23 |
|
24 | export type AppSyncAuthorizerHandler<TResolverContext = undefined> = Handler<
|
25 | AppSyncAuthorizerEvent,
|
26 | AppSyncAuthorizerResult<TResolverContext>
|
27 | >;
|
28 |
|
29 | export interface AppSyncResolverEventHeaders {
|
30 | [name: string]: string | undefined;
|
31 | }
|
32 |
|
33 | export type AppSyncIdentity =
|
34 | | AppSyncIdentityIAM
|
35 | | AppSyncIdentityCognito
|
36 | | AppSyncIdentityOIDC
|
37 | | AppSyncIdentityLambda
|
38 | | undefined
|
39 | | null;
|
40 |
|
41 |
|
42 |
|
43 |
|
44 |
|
45 |
|
46 |
|
47 |
|
48 |
|
49 | export interface AppSyncResolverEvent<TArguments, TSource = Record<string, any> | null> {
|
50 | arguments: TArguments;
|
51 | identity?: AppSyncIdentity;
|
52 | source: TSource;
|
53 | request: {
|
54 | headers: AppSyncResolverEventHeaders;
|
55 |
|
56 | domainName: string | null;
|
57 | };
|
58 | info: {
|
59 | selectionSetList: string[];
|
60 | selectionSetGraphQL: string;
|
61 | parentTypeName: string;
|
62 | fieldName: string;
|
63 | variables: { [key: string]: any };
|
64 | };
|
65 | prev: { result: { [key: string]: any } } | null;
|
66 | stash: { [key: string]: any };
|
67 | }
|
68 |
|
69 | export interface AppSyncAuthorizerEvent {
|
70 | authorizationToken: string;
|
71 | requestContext: {
|
72 | apiId: string;
|
73 | accountId: string;
|
74 | requestId: string;
|
75 | queryString: string;
|
76 | variables: { [key: string]: any };
|
77 | };
|
78 | }
|
79 |
|
80 | export interface AppSyncAuthorizerResult<TResolverContext = undefined> {
|
81 | isAuthorized: boolean;
|
82 | resolverContext?: TResolverContext;
|
83 | deniedFields?: string[];
|
84 | ttlOverride?: number;
|
85 | }
|
86 | export interface AppSyncIdentityIAM {
|
87 | accountId: string;
|
88 | cognitoIdentityPoolId: string;
|
89 | cognitoIdentityId: string;
|
90 | sourceIp: string[];
|
91 | username: string;
|
92 | userArn: string;
|
93 | cognitoIdentityAuthType: string;
|
94 | cognitoIdentityAuthProvider: string;
|
95 | }
|
96 |
|
97 | export interface AppSyncIdentityCognito {
|
98 | sub: string;
|
99 | issuer: string;
|
100 | username: string;
|
101 | claims: any;
|
102 | sourceIp: string[];
|
103 | defaultAuthStrategy: string;
|
104 | groups: string[] | null;
|
105 | }
|
106 |
|
107 | export interface AppSyncIdentityOIDC {
|
108 | claims: any;
|
109 | issuer: string;
|
110 | sub: string;
|
111 | }
|
112 |
|
113 | export interface AppSyncIdentityLambda {
|
114 | resolverContext: any;
|
115 | }
|