| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- import { runMutation } from "../GQLClient";
- import { AcceptTeamInvitationDocument, AcceptTeamInvitationMutation, AcceptTeamInvitationMutationVariables, CreateTeamInvitationDocument, CreateTeamInvitationMutation, CreateTeamInvitationMutationVariables, RevokeTeamInvitationDocument, RevokeTeamInvitationMutation, RevokeTeamInvitationMutationVariables, TeamMemberRole } from "../graphql";
- import { Email } from "../types/Email";
- import { pipe } from "fp-ts/function";
- import * as TE from "fp-ts/TaskEither";
- type CreateTeamInvitationErrors
- = "invalid/email" | "team/invalid_id" | "team/member_not_found" | "team_invite/already_member" | "team_invite/member_has_invite"
- type RevokeTeamInvitationErrors
- = "team/not_required_role" | "team_invite/no_invite_found"
- type AcceptTeamInvitationErrors
- = "team_invite/no_invite_found" | "team_invitee/not_invitee" | "team_invite/already_member" | "team_invite/email_do_not_match"
- export const createTeamInvitation = (inviteeEmail: Email, inviteeRole: TeamMemberRole, teamID: string) =>
- pipe(
- runMutation<
- CreateTeamInvitationMutation,
- CreateTeamInvitationMutationVariables,
- CreateTeamInvitationErrors
- >(
- CreateTeamInvitationDocument,
- {
- inviteeEmail,
- inviteeRole,
- teamID
- }
- ),
- TE.map((x) => x.createTeamInvitation)
- )
- export const revokeTeamInvitation = (inviteID: string) =>
- runMutation<
- RevokeTeamInvitationMutation,
- RevokeTeamInvitationMutationVariables,
- RevokeTeamInvitationErrors
- >(
- RevokeTeamInvitationDocument,
- {
- inviteID
- }
- )
- export const acceptTeamInvitation = (inviteID: string) =>
- runMutation<
- AcceptTeamInvitationMutation,
- AcceptTeamInvitationMutationVariables,
- AcceptTeamInvitationErrors
- >(
- AcceptTeamInvitationDocument,
- {
- inviteID
- }
- )
|