From 5b1cd9e5ce0bae76cd82784ae8f5672851132d3a Mon Sep 17 00:00:00 2001 From: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com> Date: Wed, 25 Jan 2023 14:26:20 +0530 Subject: [PATCH] fix: send email if username is being passed (#6674) Signed-off-by: Udit Takkar Signed-off-by: Udit Takkar --- packages/trpc/server/routers/viewer/teams.tsx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/trpc/server/routers/viewer/teams.tsx b/packages/trpc/server/routers/viewer/teams.tsx index 07269ec9f7..b157ae2cda 100644 --- a/packages/trpc/server/routers/viewer/teams.tsx +++ b/packages/trpc/server/routers/viewer/teams.tsx @@ -27,6 +27,7 @@ import { TRPCError } from "@trpc/server"; import { authedProcedure, router } from "../../trpc"; +const isEmail = (str: string) => /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(str); export const viewerTeamsRouter = router({ // Retrieves team by id get: authedProcedure @@ -282,7 +283,6 @@ export const viewerTeamsRouter = router({ if (!invitee) { // liberal email match - const isEmail = (str: string) => /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(str); if (!isEmail(input.usernameOrEmail)) throw new TRPCError({ @@ -345,12 +345,16 @@ export const viewerTeamsRouter = router({ } else throw e; } + let sendTo = input.usernameOrEmail; + if (!isEmail(input.usernameOrEmail)) { + sendTo = invitee.email; + } // inform user of membership by email if (input.sendEmailInvitation && ctx?.user?.name && team?.name) { await sendTeamInviteEmail({ language: translation, from: ctx.user.name, - to: input.usernameOrEmail, + to: sendTo, teamName: team.name, joinLink: WEBAPP_URL + "/settings/teams", });