Metamigo -> Bridge

This commit is contained in:
Darren Clarke 2024-04-21 09:44:30 +02:00
parent 242f3cf6b8
commit a445762a37
145 changed files with 396 additions and 16668 deletions

View file

@ -1,38 +0,0 @@
import Twilio from "twilio";
import config from "@digiresilience/metamigo-config";
import { withDb, AppDatabase } from "../db";
interface VoiceLineUpdateTaskOptions {
voiceLineId: string;
}
const voiceLineUpdateTask = async (
payload: VoiceLineUpdateTaskOptions
): Promise<void> =>
withDb(async (db: AppDatabase) => {
const { voiceLineId } = payload;
const voiceLine = await db.voiceLines.findById({ id: voiceLineId });
if (!voiceLine) return;
const provider = await db.voiceProviders.findById({
id: voiceLine.providerId,
});
if (!provider) return;
const { accountSid, apiKeySid, apiKeySecret } = provider.credentials;
if (!accountSid || !apiKeySid || !apiKeySecret)
throw new Error(
`twilio provider ${provider.name} does not have credentials`
);
const client = Twilio(apiKeySid, apiKeySecret, {
accountSid,
});
await client.incomingPhoneNumbers(voiceLine.providerLineSid).update({
voiceUrl: `${config.frontend.url}/api/v1/voice/twilio/record/${voiceLineId}`,
voiceMethod: "POST",
});
});
export default voiceLineUpdateTask;