diff options
| author | Armand Philippot <git@armandphilippot.com> | 2023-09-19 18:13:57 +0200 |
|---|---|---|
| committer | Armand Philippot <git@armandphilippot.com> | 2023-09-19 19:12:31 +0200 |
| commit | 2faf2e34331703b3bdea3eb487cb8799c8d65377 (patch) | |
| tree | dedc6557ddaa8fedd42d9bdf77950f8f9168ebcb /src/types/graphql/mutations.ts | |
| parent | d1fe9e2164fc5c8fd767b456eecc2a4eb929a33f (diff) | |
refactor(build): replace paths aliases with relative paths
Using paths aliases starting with "@" can be confusing and can lead to
conflict with existings modules. I prefer to use relative paths to
avoid extra configuration in tools because of these aliases.
Diffstat (limited to 'src/types/graphql/mutations.ts')
| -rw-r--r-- | src/types/graphql/mutations.ts | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/src/types/graphql/mutations.ts b/src/types/graphql/mutations.ts new file mode 100644 index 0000000..581a46e --- /dev/null +++ b/src/types/graphql/mutations.ts @@ -0,0 +1,61 @@ +import { sendCommentMutation } from '../../services/graphql/comments.mutation'; +import { sendMailMutation } from '../../services/graphql/contact.mutation'; + +//=========================================================================== +// Existing mutations list +//=========================================================================== + +export type Mutations = typeof sendMailMutation | typeof sendCommentMutation; + +//=========================================================================== +// Mutations response types +//=========================================================================== + +export type SendCommentResponse<T> = { + createComment: T; +}; + +export type SendMailResponse<T> = { + sendEmail: T; +}; + +export type MutationsResponseMap<T> = { + [sendCommentMutation]: SendCommentResponse<T>; + [sendMailMutation]: SendMailResponse<T>; +}; + +export type Approved = { + approved: boolean; +}; + +export type SentComment = { + clientMutationId: string; + success: boolean; + comment: Approved | null; +}; + +//=========================================================================== +// Mutations input types +//=========================================================================== + +export type SendCommentInput = { + author: string; + authorEmail: string; + authorUrl: string; + clientMutationId: string; + commentOn: number; + content: string; + parent?: number; +}; + +export type SendMailInput = { + body: string; + clientMutationId: string; + replyTo: string; + subject: string; +}; + +export type MutationsInputMap = { + [sendCommentMutation]: SendCommentInput; + [sendMailMutation]: SendMailInput; +}; |
