Merge branch 'master' into outgoing-calls

This commit is contained in:
m5r
2021-08-30 06:58:00 +08:00
92 changed files with 6276 additions and 3211 deletions

View File

@ -23,8 +23,8 @@ const insertMessagesQueue = Queue<Payload>(
const sms = messages
.map<Message>((message) => ({
organizationId,
id: message.sid,
organizationId,
phoneNumberId: phoneNumber.id,
content: encrypt(message.body, phoneNumber.organization.encryptionKey),
from: message.from,

View File

@ -46,7 +46,7 @@ const notifyIncomingMessageQueue = Queue<Payload>(
try {
await webpush.sendNotification(webPushSubscription, JSON.stringify(notification));
} catch (error) {
} catch (error: any) {
logger.error(error);
if (error instanceof WebPushError) {
// subscription most likely expired or has been revoked

View File

@ -34,7 +34,7 @@ const sendMessageQueue = Queue<Payload>(
where: { organizationId_phoneNumberId_id: { id, organizationId, phoneNumberId } },
data: { id: message.sid },
});
} catch (error) {
} catch (error: any) {
// TODO: handle twilio error
console.log(error.code); // 21211
console.log(error.moreInfo); // https://www.twilio.com/docs/errors/21211

View File

@ -1,6 +1,6 @@
import { testApiHandler } from "next-test-api-route-handler";
import twilio from "twilio";
import { testApiHandler } from "../../../../test/test-api-handler";
import db from "db";
import handler from "./incoming-message";
import insertIncomingMessageQueue from "../queue/insert-incoming-message";

View File

@ -2,11 +2,15 @@ import type { BlitzApiRequest, BlitzApiResponse } from "blitz";
import { getConfig } from "blitz";
import twilio from "twilio";
import type { ApiError } from "../../../_types";
import appLogger from "../../../../integrations/logger";
import db from "../../../../db";
import insertIncomingMessageQueue from "../queue/insert-incoming-message";
type ApiError = {
statusCode: number;
errorMessage: string;
};
const logger = appLogger.child({ route: "/api/webhook/incoming-message" });
const { serverRuntimeConfig } = getConfig();
@ -83,7 +87,7 @@ export default async function incomingMessageHandler(req: BlitzApiRequest, res:
res.setHeader("content-type", "text/html");
res.status(200).send("<Response></Response>");
} catch (error) {
} catch (error: any) {
const statusCode = error.statusCode ?? 500;
const apiError: ApiError = {
statusCode,