o
    hin	                     @   sl   d dl Z d dlmZmZ d dlmZ d dlmZ dZdZ	dZ
er$e	r$e
s'dZneee	Zdd	 Zd
d ZdS )    N)requestjsonify)Client)TwilioRestExceptionZ"AC7ebaf8127ca7b701f2320e988d63d0cfZ f352d5ff523bdbe17a7f3e52acb7bfefZ"VA930560cea220ac78575f436b4604b521c               
   C   s   t du rtddidfS tjddpi } | d}| dd	}|s)tdd
idfS zt jtjj	||d}t|j
|jddfW S  tyb } ztt|t|ddddfW  Y d}~S d}~w ty} } ztdt|idfW  Y d}~S d}~ww )zx
    POST /send_otp
    JSON body: { "to": "+919xxxxxxxx", "channel": "sms" }   # channel optional: "sms" or "call"
    Nerror!Twilio credentials not configured  TsilenttochannelZsmsz:missing required field "to" (phone number in E.164 format)  )r   r   )sidstatus   coder   r     )clientr   r   get_jsongetverifyservicesTWILIO_VERIFY_SIDZverificationscreater   r   r   strgetattr	Exception)datar   r   Zverificatione r    O/Users/harjaapdhillon/Desktop/newidea/medvista_backend/Services/TwilioVerify.pysend_otp   s(   
* r"   c               
   C   s  t du rtddidfS tjddpi } | d}| d}|r"|s*tdd	id
fS zt jtjj	||d}t|j
|j
dkddfW S  tye } ztt|t|ddddfW  Y d}~S d}~w ty } ztdt|idfW  Y d}~S d}~ww )zT
    POST /verify_otp
    JSON body: { "to": "+919xxxxxxxx", "code": "123456" }
    Nr   r   r   Tr	   r   r   z*missing required fields "to" and/or "code"r   )r   r   Zapproved)r   validr   r   r   )r   r   r   r   r   r   r   r   Zverification_checksr   r   r   r   r   r   )r   r   r   checkr   r    r    r!   verify_phone_otp.   s(   

* r%   )osflaskr   r   Ztwilio.restr   Ztwilio.base.exceptionsr   ZTWILIO_ACCOUNT_SIDZTWILIO_AUTH_TOKENr   r   r"   r%   r    r    r    r!   <module>   s   
