Files
omnivore/packages/web/lib/networking/mutations/importFromIntegrationMutation.ts
2023-04-12 16:50:10 +08:00

36 lines
958 B
TypeScript

import { gqlFetcher } from '../networkHelpers'
interface ImportFromIntegrationDataResponseData {
importFromIntegration?: ImportFromIntegrationData
}
interface ImportFromIntegrationData {
success: boolean
errorCodes?: unknown[]
}
export async function importFromIntegrationMutation(
integrationId: string
): Promise<void> {
const mutation = `
mutation ImportFromIntegration($integrationId: ID!) {
importFromIntegration(integrationId:$integrationId) {
... on ImportFromIntegrationError {
errorCodes
}
... on ImportFromIntegrationSuccess {
success
}
}
}`
const data = await gqlFetcher(mutation, { integrationId })
console.log('integrationId: ', data)
const output = data as ImportFromIntegrationDataResponseData | undefined
const error = output?.importFromIntegration?.errorCodes?.find(() => true)
console.log('error: ', error)
if (error) {
throw error
}
}