diff --git a/packages/features/ee/workflows/lib/reminders/providers/twilioProvider.ts b/packages/features/ee/workflows/lib/reminders/providers/twilioProvider.ts index bcd466e4da..5178bc2395 100644 --- a/packages/features/ee/workflows/lib/reminders/providers/twilioProvider.ts +++ b/packages/features/ee/workflows/lib/reminders/providers/twilioProvider.ts @@ -6,25 +6,13 @@ import { setTestSMS } from "@calcom/lib/testSMS"; import prisma from "@calcom/prisma"; import { SMSLockState } from "@calcom/prisma/enums"; -declare global { - // eslint-disable-next-line no-var - var twilio: TwilioClient.Twilio | undefined; -} - const log = logger.getSubLogger({ prefix: ["[twilioProvider]"] }); -export const twilio = - globalThis.twilio || - (process.env.TWILIO_SID && process.env.TWILIO_TOKEN && process.env.TWILIO_MESSAGING_SID) - ? TwilioClient(process.env.TWILIO_SID, process.env.TWILIO_TOKEN) - : undefined; - -if (process.env.NODE_ENV !== "production") { - globalThis.twilio = twilio; -} - -function assertTwilio(twilio: TwilioClient.Twilio | undefined): asserts twilio is TwilioClient.Twilio { - if (!twilio) throw new Error("Twilio credentials are missing from the .env file"); +function createTwilioClient() { + if (process.env.TWILIO_SID && process.env.TWILIO_TOKEN && process.env.TWILIO_MESSAGING_SID) { + return TwilioClient(process.env.TWILIO_SID, process.env.TWILIO_TOKEN); + } + throw new Error("Twilio credentials are missing from the .env file"); } function getDefaultSender(whatsapp = false) { @@ -69,7 +57,7 @@ export const sendSMS = async ( return; } - assertTwilio(twilio); + const twilio = createTwilioClient(); if (!teamId && userId) { await checkSMSRateLimit({ @@ -97,7 +85,7 @@ export const scheduleSMS = async ( teamId?: number | null, whatsapp = false ) => { - assertTwilio(twilio); + const twilio = createTwilioClient(); const isSMSSendingLocked = await isLockedForSMSSending(userId, teamId); @@ -126,12 +114,12 @@ export const scheduleSMS = async ( }; export const cancelSMS = async (referenceId: string) => { - assertTwilio(twilio); + const twilio = createTwilioClient(); await twilio.messages(referenceId).update({ status: "canceled" }); }; export const sendVerificationCode = async (phoneNumber: string) => { - assertTwilio(twilio); + const twilio = createTwilioClient(); if (process.env.TWILIO_VERIFY_SID) { await twilio.verify .services(process.env.TWILIO_VERIFY_SID) @@ -140,7 +128,7 @@ export const sendVerificationCode = async (phoneNumber: string) => { }; export const verifyNumber = async (phoneNumber: string, code: string) => { - assertTwilio(twilio); + const twilio = createTwilioClient(); if (process.env.TWILIO_VERIFY_SID) { try { const verification_check = await twilio.verify.v2