From f4bd0dbcc9ef83531dd73d9a600aa677c6e46c69 Mon Sep 17 00:00:00 2001 From: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com> Date: Tue, 7 May 2024 06:04:27 -0400 Subject: [PATCH] remove global variable (#14907) Co-authored-by: CarinaWolli --- .../lib/reminders/providers/twilioProvider.ts | 32 ++++++------------- 1 file changed, 10 insertions(+), 22 deletions(-) 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