From 1afefa78d13ad34f90478230aa08c5d748e7bdb9 Mon Sep 17 00:00:00 2001 From: Benjamin Palko Date: Sun, 26 Jan 2025 23:08:06 -0500 Subject: [PATCH] load twilio config from db --- src/lib/server/twilio/client.ts | 4 ---- src/lib/server/twilio/index.ts | 1 - src/routes/app/sms/+page.server.ts | 23 +++++++++++++++++++---- 3 files changed, 19 insertions(+), 9 deletions(-) delete mode 100644 src/lib/server/twilio/client.ts delete mode 100644 src/lib/server/twilio/index.ts diff --git a/src/lib/server/twilio/client.ts b/src/lib/server/twilio/client.ts deleted file mode 100644 index 40bdee2..0000000 --- a/src/lib/server/twilio/client.ts +++ /dev/null @@ -1,4 +0,0 @@ -import { TWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN } from '$env/static/private'; -import twilio from 'twilio'; - -export const TwilioClient = twilio(TWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN); diff --git a/src/lib/server/twilio/index.ts b/src/lib/server/twilio/index.ts deleted file mode 100644 index 4f1cce4..0000000 --- a/src/lib/server/twilio/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './client'; diff --git a/src/routes/app/sms/+page.server.ts b/src/routes/app/sms/+page.server.ts index fa231e0..a9018c9 100644 --- a/src/routes/app/sms/+page.server.ts +++ b/src/routes/app/sms/+page.server.ts @@ -1,9 +1,8 @@ -import { TWILIO_PHONE_NUMBER } from '$env/static/private'; import { PhoneRegex } from '$lib/regex'; import { logger } from '$lib/server/logger'; import { prisma } from '$lib/server/prisma/index.js'; -import { TwilioClient } from '$lib/server/twilio'; import { fail, type Actions } from '@sveltejs/kit'; +import twilio from 'twilio'; import zod from 'zod'; export const load = async (event) => { @@ -63,11 +62,27 @@ export const actions = { return fail(400, { error: 'invalid_message' }); } + const tenant = await prisma.tenantConfig.findUnique({ + where: { + tenantId: event.locals.tenant.id, + }, + select: { + twilioConfig: true, + }, + }); + + const config = tenant?.twilioConfig; + if (!config) { + return fail(307, { error: 'no_twilio_config' }); + } + + const client = twilio(config.accountSID, config.authToken); + try { - const result = await TwilioClient.messages.create({ + const result = await client.messages.create({ to: phone, body: message, - from: TWILIO_PHONE_NUMBER, + from: config.phoneNumber, }); logger.debug(result); } catch (e) {