import { CommentData, CreateComment, CreatedComment } from '@ts/types/comments'; import { ContactData, SendEmail } from '@ts/types/contact'; import { gql } from 'graphql-request'; import { fetchApi } from './api'; //============================================================================== // Comment mutation //============================================================================== export const createComment = async ( data: CommentData ): Promise => { const mutation = gql` mutation CreateComment( $author: String! $authorEmail: String! $authorUrl: String! $content: String! $parent: ID! $commentOn: Int! $mutationId: String! ) { createComment( input: { author: $author authorEmail: $authorEmail authorUrl: $authorUrl content: $content parent: $parent commentOn: $commentOn clientMutationId: $mutationId } ) { clientMutationId success comment { approved } } } `; const variables = { ...data }; const response = await fetchApi(mutation, variables); return response.createComment; }; //============================================================================== // Contact mutation //============================================================================== export const sendMail = async (data: ContactData) => { const mutation = gql` mutation SendEmail( $subject: String! $body: String! $replyTo: String! $mutationId: String! ) { sendEmail( input: { clientMutationId: $mutationId body: $body replyTo: $replyTo subject: $subject } ) { clientMutationId message sent origin replyTo to } } `; const variables = { ...data }; const response = await fetchApi(mutation, variables); return response.sendEmail; }; maticsList/ThematicsList.tsx?h=v1.0.0&id=71942c86311a9d1ddf4ae486d811f8393786e855'>diffstats
blob: e5162b4965bb0433b8c9443fdceffcee1a0a7c94 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56