* first implementation of verifying phone number * add UI + logic for verifying phone number flow * check if all phone numbers are verified before submit * add numberVerification pending * only send SMS to verified numbers * fix design for mobile view * check if phone number is verified before testing action * add back message service id check * add TWILIO_VERIFY_SID to .env.example * code clean up * add TWILIO_VERIFY_SID to README.md instructions * save new verified numbers * fix wrongly thrown error for new verified numbers * use false as default value for isVerificationPending paramater * add translations * add migration file * code clean up * don't throw error if phone number is not needed * Feedback * Shows error when Twillio isn't properly setup * Type fixes Co-authored-by: CarinaWolli <wollencarina@gmail.com> Co-authored-by: zomars <zomars@me.com> Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
23 lines
584 B
TypeScript
23 lines
584 B
TypeScript
import prisma from "@calcom/prisma";
|
|
|
|
import * as twilio from "./smsProviders/twilioProvider";
|
|
|
|
export const sendVerificationCode = async (phoneNumber: string) => {
|
|
return twilio.sendVerificationCode(phoneNumber);
|
|
};
|
|
|
|
export const verifyPhoneNumber = async (phoneNumber: string, code: string, userId: number) => {
|
|
const verificationStatus = await twilio.verifyNumber(phoneNumber, code);
|
|
|
|
if (verificationStatus === "approved") {
|
|
await prisma.verifiedNumber.create({
|
|
data: {
|
|
userId,
|
|
phoneNumber,
|
|
},
|
|
});
|
|
return true;
|
|
}
|
|
return false;
|
|
};
|