omnivore/packages/web/lib/networking/mutations/deleteNewsletterEmailMutation.ts

41 lines
1.1 KiB
TypeScript
Raw Normal View History

2022-03-22 02:15:04 +00:00
import { gql } from 'graphql-request'
import { gqlFetcher } from '../networkHelpers'
2022-03-31 03:16:29 +00:00
import { NewsletterEmail } from '../queries/useGetNewsletterEmailsQuery'
type DeleteNewsletterEmailResult = {
deleteNewsletterEmail: CreateNewsletterEmail
errorCodes?: unknown[]
}
type CreateNewsletterEmail = {
newsletterEmail: NewsletterEmail
}
2022-03-22 02:15:04 +00:00
export async function deleteNewsletterEmailMutation(
newsletterEmailId: string
): Promise<string | undefined> {
const mutation = gql`
mutation DeleteNewsletterEmailMutation($newsletterEmailId: ID!) {
deleteNewsletterEmail(newsletterEmailId: $newsletterEmailId) {
... on DeleteNewsletterEmailSuccess {
newsletterEmail {
id
address
}
}
... on DeleteNewsletterEmailError {
errorCodes
}
}
}
`
try {
2022-03-31 03:16:29 +00:00
const data = await gqlFetcher(mutation, { newsletterEmailId }) as DeleteNewsletterEmailResult
return data.errorCodes ? undefined : data.deleteNewsletterEmail.newsletterEmail.id
2022-03-22 02:15:04 +00:00
} catch (error) {
console.log('deleteNewsletterEmailMutation error', error)
return undefined
}
}