1 | |
2 |
|
3 | type Faunadb = { |
4 | region: string; |
5 | secret: string; |
6 | }; |
7 | export async function main( |
8 | auth: Faunadb, |
9 | query: string, |
10 | variables?: Record<string, any>, |
11 | operationName?: string, |
12 | ) { |
13 | const region = ["us", "eu"].includes(auth.region) ? auth.region : ""; |
14 | const response = await fetch(`https://graphql.${region}.fauna.com/graphql`, { |
15 | method: "POST", |
16 | headers: { |
17 | Authorization: "Bearer " + auth.secret, |
18 | }, |
19 | body: JSON.stringify({ |
20 | query, |
21 | variables: variables || {}, |
22 | operationName: operationName || null, |
23 | }), |
24 | }); |
25 | return await response.json(); |
26 | } |
27 |
|