2020-07-22 22:25:03 +02:00
|
|
|
import { gql, useQuery, useMutation } from '@apollo/client';
|
2020-07-31 18:04:31 +02:00
|
|
|
import { QUERY_WORKGROUP } from '../queries/workgroups';
|
2020-07-22 22:25:03 +02:00
|
|
|
|
2020-07-31 18:04:31 +02:00
|
|
|
export const MUTATION_UPDATE_WORKGROUP = gql`
|
2020-07-22 22:25:03 +02:00
|
|
|
mutation updateWorkgroup($workgroupId: ID!, $changes: WorkgroupChanges!) {
|
|
|
|
updateWorkgroup(workgroupId: $workgroupId, changes: $changes) {
|
|
|
|
id,
|
|
|
|
name,
|
|
|
|
createdAt,
|
|
|
|
closedAt,
|
|
|
|
members {
|
|
|
|
id,
|
|
|
|
name,
|
|
|
|
email
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}`;
|
|
|
|
|
|
|
|
export function useUpdateWorkgroupMutation() {
|
|
|
|
return useMutation(MUTATION_UPDATE_WORKGROUP);
|
|
|
|
}
|
|
|
|
|
2020-07-31 18:04:31 +02:00
|
|
|
export const MUTATION_CREATE_WORKGROUP = gql`
|
2020-07-22 22:25:03 +02:00
|
|
|
mutation createWorkgroup($changes: WorkgroupChanges!) {
|
|
|
|
createWorkgroup(changes: $changes) {
|
|
|
|
id,
|
|
|
|
name,
|
|
|
|
createdAt,
|
|
|
|
closedAt,
|
|
|
|
members {
|
|
|
|
id,
|
|
|
|
name,
|
|
|
|
email
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}`;
|
|
|
|
|
|
|
|
export function useCreateWorkgroupMutation() {
|
2020-07-31 18:04:31 +02:00
|
|
|
return useMutation(MUTATION_CREATE_WORKGROUP, {
|
|
|
|
refetchQueries: [{query: QUERY_WORKGROUP}],
|
|
|
|
});
|
2020-07-22 22:25:03 +02:00
|
|
|
}
|
|
|
|
|
2020-07-31 18:04:31 +02:00
|
|
|
export const MUTATION_JOIN_WORKGROUP = gql`
|
2020-07-22 22:25:03 +02:00
|
|
|
mutation joinWorkgroup($workgroupId: ID!) {
|
|
|
|
joinWorkgroup(workgroupId: $workgroupId) {
|
|
|
|
id,
|
|
|
|
name,
|
|
|
|
createdAt,
|
|
|
|
closedAt,
|
|
|
|
members {
|
|
|
|
id,
|
|
|
|
name,
|
|
|
|
email
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}`;
|
|
|
|
|
|
|
|
export function useJoinWorkgroupMutation() {
|
|
|
|
return useMutation(MUTATION_JOIN_WORKGROUP);
|
|
|
|
}
|
|
|
|
|
|
|
|
const MUTATION_LEAVE_WORKGROUP = gql`
|
|
|
|
mutation leaveWorkgroup($workgroupId: ID!) {
|
|
|
|
leaveWorkgroup(workgroupId: $workgroupId) {
|
|
|
|
id,
|
|
|
|
name,
|
|
|
|
createdAt,
|
|
|
|
closedAt,
|
|
|
|
members {
|
|
|
|
id,
|
|
|
|
name,
|
|
|
|
email
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}`;
|
|
|
|
|
|
|
|
export function useLeaveWorkgroupMutation() {
|
|
|
|
return useMutation(MUTATION_LEAVE_WORKGROUP);
|
2020-07-23 08:25:19 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
const MUTATION_CLOSE_WORKGROUP = gql`
|
|
|
|
mutation closeWorkgroup($workgroupId: ID!) {
|
|
|
|
closeWorkgroup(workgroupId: $workgroupId) {
|
|
|
|
id,
|
|
|
|
name,
|
|
|
|
createdAt,
|
|
|
|
closedAt,
|
|
|
|
members {
|
|
|
|
id,
|
|
|
|
name,
|
|
|
|
email
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}`;
|
|
|
|
|
|
|
|
export function useCloseWorkgroupMutation() {
|
|
|
|
return useMutation(MUTATION_CLOSE_WORKGROUP);
|
2020-07-22 22:25:03 +02:00
|
|
|
}
|