Simplify Twilio integration
This commit is contained in:
parent
5a5486b751
commit
8d98bbd9f6
|
@ -1,25 +1,18 @@
|
||||||
from twilio.rest import Client
|
|
||||||
from secrets import randbits
|
from secrets import randbits
|
||||||
from constants import ACCOUNT_ID, TOKEN, SMS_SENDER
|
from twilio.rest import Client
|
||||||
|
|
||||||
|
from constants import ACCOUNT_ID, SMS_SENDER, TOKEN
|
||||||
from database.crud import save_otp
|
from database.crud import save_otp
|
||||||
|
|
||||||
|
|
||||||
def connect_api():
|
def create_twilio_client(account_sid, auth_token):
|
||||||
account_sid = ACCOUNT_ID
|
|
||||||
auth_token = TOKEN
|
|
||||||
client = Client(account_sid, auth_token)
|
client = Client(account_sid, auth_token)
|
||||||
return client
|
return client
|
||||||
|
|
||||||
|
|
||||||
def generate_code():
|
|
||||||
bits = 16
|
|
||||||
code = randbits(bits)
|
|
||||||
return code
|
|
||||||
|
|
||||||
|
|
||||||
def send_otp(receiver):
|
def send_otp(receiver):
|
||||||
client = connect_api()
|
client = create_twilio_client(account_sid=ACCOUNT_ID, auth_token=TOKEN)
|
||||||
code = generate_code()
|
code = randbits(k=16)
|
||||||
message = "Your OTP code is {0}".format(code)
|
message = "Your OTP code is {0}".format(code)
|
||||||
client.messages.create(to=receiver, from_=SMS_SENDER, body=message)
|
client.messages.create(to=receiver, from_=SMS_SENDER, body=message)
|
||||||
save_otp(receiver, code)
|
save_otp(receiver, code)
|
|
@ -2,7 +2,7 @@ from fastapi import APIRouter, Depends, HTTPException, Response
|
||||||
from sqlalchemy.orm import Session
|
from sqlalchemy.orm import Session
|
||||||
|
|
||||||
from app.schemas import *
|
from app.schemas import *
|
||||||
from app.twilio import send_otp
|
from app.external_services import send_otp
|
||||||
from database.crud import get_db, insert_data, verify_otp
|
from database.crud import get_db, insert_data, verify_otp
|
||||||
|
|
||||||
router = APIRouter()
|
router = APIRouter()
|
||||||
|
|
Loading…
Reference in New Issue