Files
omnivore/packages/web/lib/networking/mutations/deleteAccountMutation.ts
2023-09-04 15:18:23 +08:00

39 lines
860 B
TypeScript

import { gql } from 'graphql-request'
import { gqlFetcher } from '../networkHelpers'
type DeleteAccountData = {
userID?: string
}
type DeleteAccountResponse = {
errorCodes?: string[]
deleteAccount?: DeleteAccountData
}
export async function deleteAccountMutation(
userId: string
): Promise<string | undefined> {
const mutation = gql`
mutation DeleteAccount($userId: ID!) {
deleteAccount(userID: $userId) {
... on DeleteAccountSuccess {
userID
}
... on DeleteAccountError {
errorCodes
}
}
}
`
try {
const response = await gqlFetcher(mutation, { userId })
console.log('response', response)
const data = response as DeleteAccountResponse | undefined
return data?.deleteAccount?.userID
} catch (error) {
console.error(error)
return undefined
}
}