11import { DocumentNode } from "graphql" ;
22import { TypedDocumentNode } from "@graphql-typed-document-node/core" ;
33
4+ export type AnyObject = Record < string , any > ;
5+ export type HttpHeaders = Record < string , string | undefined > ;
6+
7+ export interface IDBObject {
8+ id : string ;
9+ createdAt : Date ;
10+ updatedAt : Date ;
11+ deletedAt : number ;
12+ createdById : string | null ;
13+ }
14+
415export type GqlRequest = <
5- ResultT = Record < string , any > ,
6- VariablesT = Record < string , any >
16+ ResultT = AnyObject ,
17+ VariablesT = AnyObject
718> (
8- query : DocumentNode | TypedDocumentNode < ResultT , VariablesT > ,
19+ query : string | DocumentNode | TypedDocumentNode < ResultT , VariablesT > ,
920 variables ?: VariablesT ,
1021 options ?: {
1122 checkPermissions ?: boolean ;
12- headers ?: Record < string , any > ;
23+ headers ?: HttpHeaders
1324 }
1425) => Promise < ResultT > ;
1526
1627export type FunctionContext = {
1728 api : {
1829 gqlRequest : GqlRequest ;
30+ url : string ;
1931 } ;
2032 invokeFunction : <
2133 ResponseT extends InvokeFunctionResponse = InvokeFunctionResponse ,
22- ArgsT = Record < string , any >
34+ ArgsT = AnyObject
2335 > (
2436 name : string ,
2537 args ?: ArgsT ,
@@ -28,6 +40,7 @@ export type FunctionContext = {
2840 workspaceId : string ;
2941 environmentId : string ;
3042 environmentName : string ;
43+ userId ?: string | null ;
3144} ;
3245
3346export type InvokeFunctionResponse < ResultT = any > = {
@@ -37,97 +50,103 @@ export type InvokeFunctionResponse<ResultT = any> = {
3750} ;
3851
3952export type FunctionEvent <
40- DataT = Record < string , any > ,
41- ExtendObjectT = Record < string , any >
53+ DataT = AnyObject ,
54+ ExtendObjectT = AnyObject
4255> = {
4356 data : DataT ;
4457 body : string ;
45- headers : Record < string , string | undefined > ;
58+ headers : HttpHeaders ;
4659} & ExtendObjectT ;
4760
4861export type FunctionResponse <
49- DataT = Record < string , any > ,
50- ExtendObjectT = Record < string , any > ,
51- ErrorT = Record < string , any >
62+ DataT = AnyObject ,
63+ ExtendObjectT = AnyObject ,
64+ ErrorT = AnyObject
5265> = Promise < ( FunctionResponseObject < DataT , ErrorT > & ExtendObjectT ) | void > ;
5366
5467export type FunctionResponseObject <
55- DataT = Record < string , any > ,
56- ErrorT = Record < string , any >
68+ DataT = AnyObject ,
69+ ErrorT = AnyObject
5770> = {
5871 data ?: DataT ;
5972 errors ?: ErrorT [ ] ;
6073} ;
6174
62- export type TriggerResponse < DataT = Record < string , any > > =
63- FunctionResponseObject < DataT > ;
64-
6575export type BeforeCreateTriggerFunctionEvent <
66- DataT = Record < string , any > ,
67- ExtendObjectT = Record < string , any >
76+ DataT = AnyObject ,
77+ ExtendObjectT = AnyObject
6878> = {
6979 data : DataT ;
70- headers : Record < string , string | undefined > ;
80+ headers : HttpHeaders ;
7181} & ExtendObjectT ;
7282
7383export type BeforeUpdateTriggerFunctionEvent <
74- DataT = Record < string , any > ,
75- FilterT = Record < string , any > ,
76- OriginalObjectT = Record < string , any > ,
77- ExtendObjectT = Record < string , any >
84+ DataT = AnyObject ,
85+ OriginalObjectT = AnyObject ,
86+ FilterT = AnyObject ,
87+ ExtendObjectT = AnyObject
7888> = {
7989 data : DataT ;
80- filter : FilterT ;
81- originalObject : OriginalObjectT & { id : string } ;
82- headers : Record < string , string | undefined > ;
90+ filter ?: FilterT ;
91+ force ?: boolean ;
92+ destroyDetached ?: boolean ;
93+ originalObject : OriginalObjectT & IDBObject ;
94+ headers : HttpHeaders ;
8395} & ExtendObjectT ;
8496
8597export type BeforeDeleteTriggerFunctionEvent <
86- FilterT = Record < string , any > ,
87- OriginalObjectT = Record < string , any > ,
88- ExtendObjectT = Record < string , any >
98+ OriginalObjectT = AnyObject ,
99+ FilterT = AnyObject ,
100+ ExtendObjectT = AnyObject
89101> = {
90102 filter : FilterT ;
91- originalObject : OriginalObjectT & { id : string } ;
92- headers : Record < string , string | undefined > ;
103+ force ?: boolean ;
104+ destroyDeleted ?: boolean ;
105+ originalObject : OriginalObjectT & IDBObject ;
106+ headers : HttpHeaders ;
93107} & ExtendObjectT ;
94108
95109export type AfterCreateTriggerFunctionEvent <
96- DataT = Record < string , any > ,
97- OriginalDataT = Record < string , any > ,
98- ExtendObjectT = Record < string , any >
110+ DataT = AnyObject ,
111+ OriginalDataT = AnyObject ,
112+ ExtendObjectT = AnyObject
99113> = {
100- data : DataT & { id : string } ;
114+ data : DataT & IDBObject ;
101115 originalData : OriginalDataT ;
102- body : string ;
103- headers : Record < string , string | undefined > ;
116+ headers : HttpHeaders ;
104117} & ExtendObjectT ;
105118
106119export type AfterUpdateTriggerFunctionEvent <
107- DataT = Record < string , any > ,
108- OriginalDataT = Record < string , any > ,
109- OriginalObjectT = Record < string , any > ,
110- ExtendObjectT = Record < string , any >
120+ DataT = AnyObject ,
121+ OriginalDataT = AnyObject ,
122+ OriginalObjectT = AnyObject ,
123+ ExtendObjectT = AnyObject
111124> = {
112- data : DataT & { id : string } ;
125+ data : DataT & IDBObject ;
113126 originalData : OriginalDataT ;
114- originalObject : OriginalObjectT & { id : string } ;
115- headers : Record < string , string | undefined > ;
127+ originalObject : OriginalObjectT & IDBObject ;
128+ headers : HttpHeaders ;
116129} & ExtendObjectT ;
117130
118131export type AfterDeleteTriggerFunctionEvent <
119- DataT = Record < string , any > ,
120- OriginalDataT = Record < string , any > ,
121- OriginalObjectT = Record < string , any > ,
122- ExtendObjectT = Record < string , any >
132+ DataT = AnyObject ,
133+ OriginalDataT = AnyObject ,
134+ OriginalObjectT = AnyObject ,
135+ ExtendObjectT = AnyObject
123136> = {
124- data : DataT & { id : string } ;
125- originalData : OriginalDataT ;
126- originalObject : OriginalObjectT & { id : string } ;
127- headers : Record < string , string | undefined > ;
137+ data : DataT & IDBObject ;
138+ originalObject : OriginalObjectT & IDBObject ;
139+ headers : HttpHeaders ;
128140} & ExtendObjectT ;
129141
142+ export type WebhookFunctionEvent < T extends string = string > = {
143+ body : string ;
144+ headers : HttpHeaders ;
145+ pathParameters ?: Record < T , string | undefined > ;
146+ } ;
147+
130148export type WebhookResponse = {
131149 statusCode : number ;
150+ headers ?: HttpHeaders ;
132151 body ?: string ;
133152} ;
0 commit comments