43 lines
1.2 KiB
TypeScript
43 lines
1.2 KiB
TypeScript
import { provideApolloClient, useMutation } from '@vue/apollo-composable';
|
|
import apolloClients from '@/setup/apollo';
|
|
import { graphql } from '@/__generated__/gql';
|
|
|
|
// need to to this when outside of a vue setup function, so apollo knows where to look for the client
|
|
const { privateApolloClient } = apolloClients;
|
|
provideApolloClient(privateApolloClient);
|
|
|
|
const deleteHighlightMutation = graphql(`
|
|
mutation DeleteHighlight($input: DeleteHighlightInput!) {
|
|
deleteHighlight(input: $input) {
|
|
success
|
|
}
|
|
}
|
|
`);
|
|
|
|
export const updateHighlightMutation = graphql(`
|
|
mutation UpdateHighlight($input: UpdateHighlightInput!) {
|
|
updateHighlight(input: $input) {
|
|
highlight {
|
|
...HighlightParts
|
|
}
|
|
}
|
|
}
|
|
`);
|
|
|
|
export const addHighlightMutation = graphql(`
|
|
mutation AddHighlight($input: AddHighlightInput!) {
|
|
addHighlight(input: $input) {
|
|
__typename
|
|
highlight {
|
|
...HighlightParts
|
|
}
|
|
}
|
|
}
|
|
`);
|
|
|
|
const { mutate: doCreateHighlight } = useMutation(addHighlightMutation);
|
|
const { mutate: doDeleteHighlight } = useMutation(deleteHighlightMutation);
|
|
const { mutate: doUpdateHighlight } = useMutation(updateHighlightMutation);
|
|
|
|
export { doDeleteHighlight, doUpdateHighlight, doCreateHighlight };
|