From 96ff88d266a9fcf079be1c4785321b0610ad8740 Mon Sep 17 00:00:00 2001 From: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com> Date: Tue, 14 Jan 2025 02:08:44 +0530 Subject: [PATCH] fix: disable sending sms when email is present (#18632) * fix: disable sending sms when email is present * fix: update test --- .../test/team-bookings/collective-scheduling.test.ts | 2 -- packages/sms/sms-manager.ts | 7 ++++--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/packages/features/bookings/lib/handleNewBooking/test/team-bookings/collective-scheduling.test.ts b/packages/features/bookings/lib/handleNewBooking/test/team-bookings/collective-scheduling.test.ts index 65caaf31a65e58..47f0c71a86327c 100644 --- a/packages/features/bookings/lib/handleNewBooking/test/team-bookings/collective-scheduling.test.ts +++ b/packages/features/bookings/lib/handleNewBooking/test/team-bookings/collective-scheduling.test.ts @@ -783,8 +783,6 @@ describe("handleNewBooking", () => { subscriberUrl: "http://my-webhook.example.com", videoCallUrl: `${WEBAPP_URL}/video/${createdBooking.uid}`, }); - - expectSMSToBeTriggered({ sms, toNumber: TEST_ATTENDEE_NUMBER }); }, timeout ); diff --git a/packages/sms/sms-manager.ts b/packages/sms/sms-manager.ts index b08e32f0d6686f..3ce4a74f4364fc 100644 --- a/packages/sms/sms-manager.ts +++ b/packages/sms/sms-manager.ts @@ -3,6 +3,7 @@ import { getSenderId } from "@calcom/features/ee/workflows/lib/alphanumericSende import * as twilio from "@calcom/features/ee/workflows/lib/reminders/providers/twilioProvider"; import { checkSMSRateLimit } from "@calcom/lib/checkRateLimitAndThrowError"; import { SENDER_ID } from "@calcom/lib/constants"; +import isSmsCalEmail from "@calcom/lib/isSmsCalEmail"; import { TimeFormat } from "@calcom/lib/timeFormat"; import prisma from "@calcom/prisma"; import type { CalendarEvent, Person } from "@calcom/types/Calendar"; @@ -76,10 +77,10 @@ export default abstract class SMSManager { async sendSMSToAttendee(attendee: Person) { const teamId = this.teamId; - if (!this.isTeamEvent || !teamId) return; - const attendeePhoneNumber = attendee.phoneNumber; - if (!attendeePhoneNumber) return; + const isPhoneOnlyBooking = attendeePhoneNumber && isSmsCalEmail(attendee.email); + + if (!this.isTeamEvent || !teamId || !attendeePhoneNumber || !isPhoneOnlyBooking) return; const smsMessage = this.getMessage(attendee); const senderID = getSenderId(attendeePhoneNumber, SENDER_ID);