mirror of
https://github.com/IT4Change/Ocelot-Social.git
synced 2026-04-03 16:15:36 +00:00
22 lines
648 B
JavaScript
22 lines
648 B
JavaScript
import { joinGroupMutation, leaveGroupMutation } from '~/graphql/groups'
|
|
|
|
export function useJoinLeaveGroup({ apollo, toast }) {
|
|
async function joinLeaveGroup({ groupId, userId, isMember }) {
|
|
const join = !isMember
|
|
const mutation = join ? joinGroupMutation() : leaveGroupMutation()
|
|
try {
|
|
const { data } = await apollo.mutate({
|
|
mutation,
|
|
variables: { groupId, userId },
|
|
})
|
|
const result = join ? data.JoinGroup : data.LeaveGroup
|
|
return { success: true, data: result }
|
|
} catch (error) {
|
|
toast.error(error.message)
|
|
return { success: false }
|
|
}
|
|
}
|
|
|
|
return { joinLeaveGroup }
|
|
}
|