remove global variable (#14907)
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
This commit is contained in:
co-authored by
CarinaWolli
parent
c87b8b43f9
commit
f4bd0dbcc9
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user