blob: c69783585659d2afa0f19148fdb5820f39c234b7 (
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
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<CreatedComment> => {
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<CreateComment>(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<SendEmail>(mutation, variables);
return response.sendEmail;
};
|