UNPKG

@kiwicom/smart-faq

Version:

45 lines (39 loc) 1.08 kB
// @flow import { commitMutation, graphql } from 'react-relay'; import createEnvironment from '../../shared/relay/environment'; import type { VoteArticleMutationVariables, VoteArticleMutationResponse, } from './__generated__/VoteArticleMutation.graphql'; const voteArticleMutation = graphql` mutation VoteArticleMutation($articleId: Int!, $vote: VoteType!) { voteFAQArticle(originalId: $articleId, vote: $vote) { id } } `; const voteArticle = ({ articleId, vote, }: VoteArticleMutationVariables): Promise<VoteArticleMutationResponse> => new Promise((resolve, reject) => { const variables: VoteArticleMutationVariables = { articleId, vote, }; commitMutation(createEnvironment(), { mutation: voteArticleMutation, variables, onCompleted: ( response: VoteArticleMutationResponse, errors: $ReadOnlyArray<Error>, ) => { if (errors?.length) { reject(errors[0]); } resolve(response); }, onError: reject, }); }); export default voteArticle;