mobilizon/js/src/graphql/member.ts

106 lines
2.0 KiB
TypeScript

import gql from "graphql-tag";
import { ACTOR_FRAGMENT } from "./actor";
export const MEMBER_FRAGMENT = gql`
fragment MemberFragment on Member {
id
role
parent {
...ActorFragment
}
actor {
...ActorFragment
}
insertedAt
}
${ACTOR_FRAGMENT}
`;
export const INVITE_MEMBER = gql`
mutation InviteMember($groupId: ID!, $targetActorUsername: String!) {
inviteMember(groupId: $groupId, targetActorUsername: $targetActorUsername) {
...MemberFragment
}
}
${MEMBER_FRAGMENT}
`;
export const ACCEPT_INVITATION = gql`
mutation AcceptInvitation($id: ID!) {
acceptInvitation(id: $id) {
...MemberFragment
}
}
${MEMBER_FRAGMENT}
`;
export const REJECT_INVITATION = gql`
mutation RejectInvitation($id: ID!) {
rejectInvitation(id: $id) {
...MemberFragment
}
}
${MEMBER_FRAGMENT}
`;
export const GROUP_MEMBERS = gql`
query (
$groupName: String!
$name: String
$roles: String
$page: Int
$limit: Int
) {
group(preferredUsername: $groupName) {
...ActorFragment
members(name: $name, page: $page, limit: $limit, roles: $roles) {
elements {
id
role
actor {
...ActorFragment
}
insertedAt
}
total
}
}
}
${ACTOR_FRAGMENT}
`;
export const UPDATE_MEMBER = gql`
mutation UpdateMember($memberId: ID!, $role: MemberRoleEnum!) {
updateMember(memberId: $memberId, role: $role) {
id
role
}
}
`;
export const REMOVE_MEMBER = gql`
mutation RemoveMember($memberId: ID!, $exclude: Boolean) {
removeMember(memberId: $memberId, exclude: $exclude) {
id
}
}
`;
export const APPROVE_MEMBER = gql`
mutation ApproveMember($memberId: ID!) {
approveMember(memberId: $memberId) {
...MemberFragment
}
}
${MEMBER_FRAGMENT}
`;
export const JOIN_GROUP = gql`
mutation JoinGroup($groupId: ID!) {
joinGroup(groupId: $groupId) {
...MemberFragment
}
}
${MEMBER_FRAGMENT}
`;