refactor: add error info to send invite results

This commit is contained in:
Andrew Bastin
2021-10-20 15:50:05 +05:30
committed by liyasthomas
parent f0a6fc641a
commit d94759870e
2 changed files with 15 additions and 7 deletions

View File

@@ -288,9 +288,10 @@ import { Email, EmailCodec } from "../../helpers/backend/types/Email"
import { TeamMemberRole } from "../../helpers/backend/graphql"
import {
createTeamInvitation,
CreateTeamInvitationErrors,
revokeTeamInvitation,
} from "../../helpers/backend/mutations/TeamInvitation"
import { useGQLQuery } from "~/helpers/backend/GQLClient"
import { GQLError, useGQLQuery } from "~/helpers/backend/GQLClient"
import {
GetPendingInvitesDocument,
GetPendingInvitesQuery,
@@ -374,11 +375,17 @@ const removeNewInvitee = (id: number) => {
newInvites.value.splice(id, 1)
}
type SendInvitesErrorType = {
email: Email
status: "error"
error: GQLError<CreateTeamInvitationErrors>
} | {
email: Email
status: "success"
}
const sendInvitesResult = ref<
Array<{
email: Email
status: "error" | "success"
}>
Array<SendInvitesErrorType>
>([])
const sendingInvites = ref<boolean>(false)
@@ -418,9 +425,10 @@ const sendInvites = async () => {
pipe(
el,
E.foldW(
() => ({
(err) => ({
status: "error" as const,
email: newInvites.value[i].key as Email,
error: err
}),
() => ({
status: "success" as const,

View File

@@ -15,7 +15,7 @@ import {
} from "../graphql"
import { Email } from "../types/Email"
type CreateTeamInvitationErrors =
export type CreateTeamInvitationErrors =
| "invalid/email"
| "team/invalid_id"
| "team/member_not_found"