
    ,:j	                     P    d dl Z d dlmZ d dlZd dlmZ d dlmZ d Zd Z		 	 ddZ
y)	    N)settings)Notification)send_notificationc                 @   | j                   j                  d      }|sy 	 |j                  d      d   }t        j                  |t
        j                  d      }|d   S # t        j                  $ r Y y t        j                  j                  $ r Y y t        $ r Y y w xY w)NAuthorization    HS256)
algorithmsuser_id)headersgetsplitjwtdecoder   
SECRET_KEYExpiredSignatureError
exceptionsInvalidSignatureError
IndexError)requestauthorization_headeraccess_tokenpayloads       ,/var/www/html/HOMYLIO_ADMIN/utils/helpers.pyverify_tokenr   	   s    "??..?	+11#6q9**\8+>+>7S	"#$$ >>//  s   >A B4BBBc                    	 t         j                  }t        |       t         j                  ddt        |      dd}t         j                  dd}t        j                  |||d      }|j                         }t        |       |j                  d	      d
u r|j                  d      dk(  ry
y# t        $ r}t        |       Y d }~yd }~ww xY w)N      zvalue1|value2)mobileotp_id
otp_expiry
otp_lengthotpvariables_valueszapplication/json)authorizationzContent-Type
   )jsonr   timeoutreturnTstatus_code   F)r   FAST2SMS_URLstrFAST2SMS_OTP_IDFAST2SMS_AUTH_KEYrequestspostr(   printr   	Exception)r    r$   urlr   r   responsedataes           r   send_otp_to_phoner9      s    ### &k..s8 /
 &77.

 ==	
 }}d88H%$((=*AS*H as   B'B+ +	C	4CC	c           
         t         j                  j                  | |||||      }	 | j                  r{t	        |      t	        |xs d      d}|rE|j                  |j                         D 	ci c]  \  }}	t	        |      t	        |	       c}	}       t        ||| j                  |       |S c c}	}w # t        $ r }
t        dt	        |
             Y d}
~
|S d}
~
ww xY w)z,
    Save notification in DB + Send FCM
    )usertitlebodynotification_typereference_idmetadata )typer?   )r<   messagetokenr7   z
FCM Error:N)
r   objectscreate	fcm_tokenr.   updateitemsr   r4   r3   )r;   r<   r=   r>   r?   r7   notificationr   kvr8   s              r   send_contract_notificationrM   C   s      ''..+! / L$>> -. #L$6B 7G
  %)JJL Aq AA nn	 !  $lCF##$s*   AB6 .B0
!B6 0B6 6	C?CC)NN)r   django.confr   r1   notifications.modelsr   utils.firebaser   r   r9   rM        r   <module>rS      s,    
    - , $^ 	0rR   