
    xhs                         d dl mZmZmZ d dlZd dlmZ d dlmZmZ  ee	          Z
ddddZe
                    dd	g
          d             Ze	dk    re
                    d           dS dS )    )FlaskrequestjsonifyN)Error)datetime	timedelta	localhost )hostuserpasswordz/verify_phonePOST)methodsc                  Z   t           j                            dd                                          } t           j                            dd                                          }t           j                            dd                                          }| r|r|st	          ddd          dfS 	 t          j        j        d%d	d
it          }|	                    d          }|
                    d|f           |                                }|st	          ddd          dfdt                      v r|                                 dt                      v r(|                                r|                                 dt                      v r|                                 dt                      v r)|                                r|                                 S S S |d         }t          j        j        d%d	|it          }|	                    d          }|
                    d| f           |                                }	|	st	          ddd          dfdt                      v r|                                 dt                      v r(|                                r|                                 dt                      v r|                                 dt                      v r)|                                r|                                 S S S |	d                                         }
|
|k    rvt          j                    }|	d         }|	d         }|r|r||k    r|}|}d}n_t#          t%          dd                    }|t'          d          z   }|
                    d||| f           |                                 d}t	          d|||                    d           d!          dfdt                      v r|                                 dt                      v r(|                                r|                                 dt                      v r|                                 dt                      v r)|                                r|                                 S S S t	          dd"d          dfdt                      v r|                                 dt                      v r(|                                r|                                 dt                      v r|                                 dt                      v r)|                                r|                                 S S S # t,          $ r}t	          dd#t#          |          d$          dfcY d }~dt                      v r|                                 dt                      v r(|                                r|                                 dt                      v r|                                 dt                      v r)|                                r|                                 S S S d }~ww xY w# dt                      v r|                                 dt                      v r(|                                r|                                 dt                      v r|                                 dt                      v r)|                                r|                                 w w w xY w)&Nadmin_idr
   phoneidfailzMissing input)statusmessage   database
central_dbT)
dictionaryz)SELECT db_name FROM schools WHERE id = %szInvalid school codecentral_cursorcentral_connschool_cursorschool_conndb_namezv
            SELECT phone, verification_code, verification_expiry 
            FROM users WHERE admin_id = %s
        zUser not foundverification_codeverification_expiryz!Phone matches. Reusing valid OTP.i i?B 
   )minutesz
                    UPDATE users SET verification_code = %s, verification_expiry = %s 
                    WHERE admin_id = %s
                z!Phone matches. New OTP generated.successz%Y-%m-%d %H:%M:%S)r   r   otpexpiryz Phone does not match our recordszDatabase connection failed)r   r   error )r   formgetstripr   mysql	connectorconnect	db_configcursorexecutefetchonelocalscloseis_connectedr   nowstrrandintr   commitstrftimer   )r   r   school_coder   r   schoolr   r   	school_dbr   stored_phoner6   existing_otpexisting_expiryr%   r&   r   es                     3C:\xampp\htdocs\school_backend\authenticate\code.pyverify_phonerC      s   |
B//5577HLWb))//11E,""4,,2244K  L5 L L&_EEFFKKLY. 
 
!
%.
 
 &,,,== 	J[N[[[((** 	Vf9NOOPPRUUz vxx'')=)=)?)?)?VXX%%,*C*C*E*E%|GYGYG[G[G[fhh&&(;(;(=(=(=FHH$$)A)A)C)C$[EVEVEXEXEXEX$$} 9%	 o- 
 

"+
 
 $**d*;; 	  [	 	 	 %%'' 	Qf9IJJKKSPV vxx'')=)=)?)?)?VXX%%,*C*C*E*E%|GYGYG[G[G[fhh&&(;(;(=(=(=FHH$$)A)A)C)C$[EVEVEXEXEXEX$$Y G}**,,5  ,..C   34L"#89O > >Oc4I4I"(='&&1122y4444 %% ' 68,. . . ""$$$=#" //*=>>	   
 " vxx'')=)=)?)?)?VXX%%,*C*C*E*E%|GYGYG[G[G[fhh&&(;(;(=(=(=FHH$$)A)A)C)C$[EVEVEXEXEXEX$$ f9[\\]]_bb vxx'')=)=)?)?)?VXX%%,*C*C*E*E%|GYGYG[G[G[fhh&&(;(;(=(=(=FHH$$)A)A)C)C$[EVEVEXEXEXEX$$    3VV
 
   	 	 	 	 	 	 vxx'')=)=)?)?)?VXX%%,*C*C*E*E%|GYGYG[G[G[fhh&&(;(;(=(=(=FHH$$)A)A)C)C$[EVEVEXEXEXEX$$ vxx'')=)=)?)?)?VXX%%,*C*C*E*E%|GYGYG[G[G[fhh&&(;(;(=(=(=FHH$$)A)A)C)C$[EVEVEXEXEXEX$$sF   2A3U;  A;U; CU; -U; ;
Y+!Y&&Y+'Y. &Y++Y. .B<\*__main__T)debug)flaskr   r   r   mysql.connectorr,   r   r   r   __name__appr/   routerC   runr(       rB   <module>rM      s    ) ) ) ) ) ) ) ) ) )     ! ! ! ! ! ! ( ( ( ( ( ( ( (eHoo  	 ?VH--UY UY .-UYp zGG$G rL   