Error responses when deleting emails

This commit is contained in:
Jackson Harper
2022-03-30 20:16:29 -07:00
parent 604194299a
commit 3bab5e9eff
2 changed files with 25 additions and 13 deletions

View File

@ -1,5 +1,15 @@
import { gql } from 'graphql-request'
import { gqlFetcher } from '../networkHelpers'
import { NewsletterEmail } from '../queries/useGetNewsletterEmailsQuery'
type DeleteNewsletterEmailResult = {
deleteNewsletterEmail: CreateNewsletterEmail
errorCodes?: unknown[]
}
type CreateNewsletterEmail = {
newsletterEmail: NewsletterEmail
}
export async function deleteNewsletterEmailMutation(
newsletterEmailId: string
@ -21,9 +31,8 @@ export async function deleteNewsletterEmailMutation(
`
try {
const data = await gqlFetcher(mutation, { newsletterEmailId })
console.log('delete email', data)
return 'data'
const data = await gqlFetcher(mutation, { newsletterEmailId }) as DeleteNewsletterEmailResult
return data.errorCodes ? undefined : data.deleteNewsletterEmail.newsletterEmail.id
} catch (error) {
console.log('deleteNewsletterEmailMutation error', error)
return undefined

View File

@ -185,18 +185,21 @@ export default function EmailsPage(): JSX.Element {
applyStoredTheme(false)
async function createEmail(): Promise<void> {
try {
const email = await createNewsletterEmailMutation()
if (email) {
showSuccessToast('Email Created')
revalidate()
return
}
} catch { }
showErrorToast('Error Creating Email')
const email = await createNewsletterEmailMutation()
if (!email) {
showErrorToast('Error Creating Email')
return
}
showSuccessToast('Email Created')
revalidate()
}
async function deleteEmail(id: string): Promise<void> {
await deleteNewsletterEmailMutation(id)
const result = await deleteNewsletterEmailMutation(id)
if (!result) {
showErrorToast('Error Deleting Email')
return
}
revalidate()
showSuccessToast('Email Deleted')
}