
    SњhI                     .   S SK Jr  S SKJr  S SKJr  S SKJr	  S SK
Jr  S SKJrJrJrJrJr  S SKJr  S SKJr  S S	KJr  S S
KJrJrJr  S SKJr  S SKJrJ r   S SK!J"r"  S SK#J$r$  S SK%J&r&J'r'J(r(J)r)J*r*J+r+J,r,J-r-J.r.J/r/J0r0J1r1J2r2J3r3J4r4J5r5J6r6  S SK7J8r8J9r9J:r:J;r;J<r<  S SK=J>r>J?r?  S SK@JArA  S SKBJCrC   " S S\>5      rD " S S\>5      rE\" \"" SS9SS9 " S S\>5      5       rF\" \"" SS9SS9 " S S \>5      5       rG " S! S"\>5      rH " S# S$\>5      rI " S% S&\>5      rJ " S' S(\>5      rK " S) S*\>5      rL " S+ S,\>5      rM\" \"" S-S9SS9 " S. S/\>5      5       rN\" \"" S0S9SS9 " S1 S2\?5      5       rO " S3 S4\>5      rP " S5 S6\>5      rQ\" \"" S7S9SS9 " S8 S9\?5      5       rRg:);    )
HTTPStatus)method_decorator)app_settings)get_adapter)flows)email_verificationmanage_emailpassword_changepassword_resetpassword_reset_by_code)"send_verification_email_to_address)EmailVerificationProcess)PhoneVerificationStageProcess)EmailVerificationStageLoginStageControllerPhoneVerificationStage)	ratelimit)ImmediateHttpResponseRateLimited)
rate_limit)response)AddEmailInputChangeEmailInputChangePasswordInputChangePhoneInputConfirmLoginCodeInputDeleteEmailInput
LoginInputMarkAsPrimaryEmailInputReauthenticateInputRequestLoginCodeInputRequestPasswordResetInputResendEmailVerificationInputResetPasswordInputResetPasswordKeyInputSignupInputVerifyEmailInputVerifyPhoneInput)APIResponseAuthenticationResponseConflictResponseForbiddenResponseRateLimitResponse)APIViewAuthenticatedAPIView)authkit)ErrorResponsec                       \ rS rSr\rS rSrg)RequestLoginCodeView@   c                 H   [         R                  R                  R                  U R                  U R
                  R                  U R
                  R                  R                  S5      U R
                  R                  R                  S5      S9  [        U R                  5      $ )Nemailphone)requestuserr6   r7   )
r   login_by_codeLoginCodeVerificationProcessinitiater8   input_usercleaned_datagetr*   selfr8   argskwargss       YD:\Anime\Ugyen\janka_web_project\venv\Lib\site-packages\allauth/headless/account/views.pypostRequestLoginCodeView.postC   sw    88AALL!!**))--g6**))--g6	 	B 	
 &dll33     N)__name__
__module____qualname____firstlineno__r!   input_classrF   __static_attributes__rI   rH   rE   r3   r3   @   s    'K4rH   r3   c                   J   ^  \ rS rSr\rU 4S jrS rU 4S jrU 4S jr	Sr
U =r$ )ConfirmLoginCodeViewM   c                 b  > [         R                  " U5      nUR                  5       U l        U R                  (       d  [	        U5      $ [
        R                  R                  R                  U R                  5      U l	        U R                  (       d  [	        U5      $ [        TU ],  " U/UQ70 UD6$ N)r0   AuthenticationStatusget_pending_stagestager+   r   r:   r;   resumeprocesssuperdispatch)rB   r8   rC   rD   auth_status	__class__s        rE   r[   ConfirmLoginCodeView.dispatchP   s    227; 224
zz#G,,**GGNNJJ
 ||#G,,w9$9&99rH   c                 d    U R                   R                  S 5      n[        R                  " X5      $ rT   )rY   finishr*   from_responserB   r8   rC   rD   r   s        rE   rF   ConfirmLoginCodeView.post\   s'    <<&&t,%33GFFrH   c                 V   > [         TU ]  5       nU R                  R                  US'   U$ )Ncode)rZ   get_input_kwargsrY   re   )rB   rD   r]   s     rE   rf   %ConfirmLoginCodeView.get_input_kwargs`   s(    )+**vrH   c                 V   > U R                   R                  5         [        TU ]  U5      $ rT   rY   record_invalid_attemptrZ   handle_invalid_inputrB   r=   r]   s     rE   rk   )ConfirmLoginCodeView.handle_invalid_inpute   #    ++-w+E22rH   rY   rW   )rJ   rK   rL   rM   r   rN   r[   rF   rf   rk   rO   __classcell__r]   s   @rE   rQ   rQ   M   s"    'K
:G
3 3rH   rQ   login)actionhandle)namec                       \ rS rSr\rS rSrg)	LoginViewj   c                    UR                   R                  (       a  [        U5      $ U R                  R                  n[
        R                  R                  XU R                  R                  5      n[        R                  " X5      $ rT   )
r9   is_authenticatedr+   r=   r?   r   rr   perform_password_loginr*   ra   )rB   r8   rC   rD   credentialsr   s         rE   rF   LoginView.postn   s_    <<((#G,,jj--;;55$**"2"2
 &33GFFrH   rI   N)rJ   rK   rL   rM   r   rN   rF   rO   rI   rH   rE   rw   rw   j   s    KGrH   rw   signupc                   &    \ rS rSrS\0rSrS rSrg)
SignupViewx   POSTFc                    UR                   R                  (       a  [        U5      $ [        5       R	                  U5      (       d  [        U5      $ U R                  R                  U5      u  pEU(       d)   [        R                  R                  XU R                  S9n[        R                  " X5      $ ! [         a     N"f = f)N)r9   
by_passkey)r9   rz   r+   get_account_adapteris_open_for_signupr,   r=   try_saver   r~   complete_signupr   r   r*   ra   )rB   r8   rC   rD   r9   resps         rE   rF   SignupView.post}   s    <<((#G,,"$77@@$W--ZZ((1
||334?? 4 
 &33GBB ) s   5(B3 3
C ?C rI   N)	rJ   rK   rL   rM   r&   rN   r   rF   rO   rI   rH   rE   r   r   x   s    ;'KJCrH   r   c                        \ rS rSrS rS rSrg)SessionView   c                     [        U5      $ rT   )r*   rA   s       rE   r@   SessionView.get   s    %g..rH   c                 N    [        5       nUR                  U5        [        U5      $ rT   )r   logoutr*   )rB   r8   rC   rD   adapters        rE   deleteSessionView.delete   s!    %'w%g..rH   rI   N)rJ   rK   rL   rM   r@   r   rO   rI   rH   rE   r   r      s    //rH   r   c                   R   ^  \ rS rSr\rU 4S jrS rS\4U 4S jjrS r	S r
SrU =r$ )	VerifyEmailView   c                   > [         R                  " U[        R                  5      U l        U R                  (       d;  [
        R                  (       a&  UR                  R                  (       d  [        U5      $ S U l
        [
        R                  (       aJ  [        R                  R                  R                  U5      U l
        U R                  (       d  [        U5      $ [        TU ]@  " U/UQ70 UD6$ rT   )r   enterr   keyrW   account_settings"EMAIL_VERIFICATION_BY_CODE_ENABLEDr9   rz   r+   rY   r   email_verification_by_coder   rX   rZ   rt   rB   r8   rC   rD   r]   s       rE   rt   VerifyEmailView.handle   s    )//9O9S9ST


 CCLL11#G,,>>00IIPP L
 <<'00w~g7777rH   c                     SU R                   0$ )NrY   rY   rB   s    rE   rf    VerifyEmailView.get_input_kwargs   s    4<<((rH   r=   c                 x   > U R                   (       a  U R                   R                  5         [        TU ]  U5      $ rT   ri   rl   s     rE   rk   $VerifyEmailView.handle_invalid_input   s*    <<LL//1w+E22rH   c                    UR                   R                  SS5      nU R                  SU0U R                  S9nUR	                  5       (       d4  U R                  (       a  U R                  R                  5         [        XS9$ U R                  (       a  U R                  R                  nOUR                  R                  n[        R                  " XU R                  S9$ )Nzx-email-verification-key r   r   r=   )rW   )headersr@   rN   rY   is_validrj   r1   email_addressverificationr   VerifyEmailResponserW   )rB   r8   rC   rD   r   r=   r   s          rE   r@   VerifyEmailView.get   s    oo!!"<bA  %t|| D~~||335 66<< LL66M!..<<M++G$**UUrH   c                 `   U R                   (       a  U R                   R                  5       nO%U R                  R                  R	                  U5      nU(       d  [        U[        R                  S9$ S nU R                  (       a  [        R                  " X5      n[        R                  " X5      $ )Nstatus)rY   r`   r=   r   confirmr)   r   INTERNAL_SERVER_ERRORrW   r   login_on_verificationr*   ra   )rB   r8   rC   rD   r   r   s         rE   rF   VerifyEmailView.post   s|    << LL//1M JJ33;;GDM wz/O/OPP:: *??WH%33GFFrH   ro   )rJ   rK   rL   rM   r'   rN   rt   rf   rk   r@   rF   rO   rp   rq   s   @rE   r   r      s1    "K8&)3*: 3
VG GrH   r   c                   L   ^  \ rS rSr\rU 4S jrS rS\4U 4S jjrS r	Sr
U =r$ )VerifyPhoneView   c                   > [         R                  " U[        R                  5      U l        U R                  (       a9  [
        R                  R                  R                  U R                  5      U l	        OTUR                  R                  (       d  [        U5      $ [
        R                  R                  R                  U5      U l	        U R                  (       d  [        U5      $ [        TU ]<  " U/UQ70 UD6$ rT   )r   r   r   r   rW   r   phone_verificationr   rX   rY   r9   rz   r+   ChangePhoneVerificationProcessrZ   rt   r   s       rE   rt   VerifyPhoneView.handle   s    )//9O9S9ST
::((FFMMJJ L <<00'00((GGNNwW L ||#G,,w~g7777rH   c                     U R                   R                  U R                   R                  U R                   R                  S.$ )N)re   r9   r7   )rY   re   r9   r7   r   s    rE   rf    VerifyPhoneView.get_input_kwargs   s3    LL%%LL%%\\''
 	
rH   r=   c                 V   > U R                   R                  5         [        TU ]  U5      $ rT   ri   rl   s     rE   rk   $VerifyPhoneView.handle_invalid_input   rn   rH   c                     U R                   R                  5         S nU R                  (       a  U R                  R                  5       n[        R
                  " X5      $ rT   )rY   r`   rW   exitr*   ra   rb   s        rE   rF   VerifyPhoneView.post   s?    ::zz(H%33GFFrH   ro   )rJ   rK   rL   rM   r(   rN   rt   rf   rk   rF   rO   rp   rq   s   @rE   r   r      s+    "K8$
3*: 3G GrH   r   c                       \ rS rSrSrS rSrg)ResendPhoneVerificationCodeView   Fc                 d   S n[         R                  " U[        R                  5      nU(       a)  [        R
                  R                  R                  U5      nU(       a  UR                  (       d  [        U5      $  UR                  5         [        U5      $ ! [         a    [        U5      s $ f = frT   )r   r   r   r   r   r   r   rX   
can_resendr+   resendr   r-   r)   )rB   r8   rC   rD   rY   rW   s         rE   rF   $ResendPhoneVerificationCodeView.post   s    $**74J4N4NO..LLSSG g00#G,,	.NN 7##  	.$W--	.s   <B B/.B/rI   NrJ   rK   rL   rM   handle_json_inputrF   rO   rI   rH   rE   r   r      s    $rH   r   c                       \ rS rSrSrS rSrg)ResendEmailVerificationCodeViewi  Fc                 H   [         R                  (       d  [        U5      $ [        R                  R
                  R                  U5      nU(       a  UR                  (       d  [        U5      $  UR                  5         [        U5      $ ! [         a    [        U5      s $ f = frT   )r   r   r+   r   r   r   rX   r   r   r   r-   r)   )rB   r8   rC   rD   rY   s        rE   rF   $ResendEmailVerificationCodeView.post  s    BB#G,,22KKRR
 g00#G,,	.NN 7##  	.$W--	.s   .B	 	B! B!rI   Nr   rI   rH   rE   r   r     s    $rH   r   c                       \ rS rSr\rS rSrg)RequestPasswordResetViewi   c                 @   [         R                  " U R                  SU R                  R                  S   R                  5       S9nU(       a  U$ U R                  R                  U5        [        R                  (       a  [        U5      $ [        R                  " U5      $ )Nreset_passwordr6   )rs   r   )r   consume_or_429r8   r=   r?   lowersaver   PASSWORD_RESET_BY_CODE_ENABLEDr*   r   RequestPasswordResponse)rB   r8   rC   rD   r429s        rE   rF   RequestPasswordResetView.post#  sv    ''LL#

''0668

 K

 ::)'22//88rH   rI   N)rJ   rK   rL   rM   r"   rN   rF   rO   rI   rH   rE   r   r      s    +K9rH   r   reset_password_from_keyc                   R   ^  \ rS rSr\rS\4U 4S jjrU 4S jrS rS r	S r
SrU =r$ )	ResetPasswordViewi1  r=   c                    > U R                   (       a*  SUR                  ;   a  U R                   R                  5         [        TU ]  U5      $ )Nr   )rY   errorsrj   rZ   rk   rl   s     rE   rk   &ResetPasswordView.handle_invalid_input5  s5    <<EU\\1LL//1w+E22rH   c                    > S U l         [        R                  (       aJ  [        R                  R                  U R                  5      U l         U R                   (       d  [        U5      $ [        TU ]$  " U/UQ70 UD6$ rT   )
rY   r   r   r    PasswordResetVerificationProcessrX   r8   r+   rZ   rt   r   s       rE   rt   ResetPasswordView.handle:  sb    ::&GGNNLL L
 <<'00w~g7777rH   c                 *   UR                   R                  SS5      nU R                  (       a  [        SU0U R                  R                  S9nUR                  5       (       d#  U R                  R                  5         [        XS9$ U R                  R                  5         [        R                  " XR                  R                  5      $ [        SU05      nUR                  5       (       d	  [        XS9$ [        R                  " XR                  5      $ )NzX-Password-Reset-Keyr   r   )re   r   )r   r@   rY   r%   re   r   rj   r1   confirm_coder   PasswordResetKeyResponser9   )rB   r8   rC   rD   r   r=   s         rE   r@   ResetPasswordView.getF  s    oo!!"8"=<<)5#,T\\=N=NOE>>##335$W::LL%%'44Wll>O>OPP)5#,7E>>##$W::44WjjIIrH   c                     0 nU R                   (       a<  UR                  U R                   R                  U R                   R                  S.5        U$ )N)re   r9   )rY   updatere   r9   )rB   rets     rE   rf   "ResetPasswordView.get_input_kwargsU  s8    <<JJ 1 14<<;L;LMN
rH   c                 |   U R                   R                  n[        R                  R	                  X@R                   R
                  S   5        U R                  (       a5  U R                  R                  5         U R                  R                  5         O[        R                  " X5        [        U R                  5      $ )Npassword)r=   r9   r   r   r   r?   rY   r   r`   finalize_password_resetr*   r8   )rB   r8   rC   rD   r9   s        rE   rF   ResetPasswordView.post[  sv    zz++D**2I2I*2UV<<LL%%'LL!227A%dll33rH   r   )rJ   rK   rL   rM   r$   rN   rk   rt   r@   rf   rF   rO   rp   rq   s   @rE   r   r   1  s/    $K3*< 3

8J4 4rH   r   change_passwordc                   $    \ rS rSr\rS rS rSrg)ChangePasswordViewif  c                    [         R                  " U R                  R                  U R                  R
                  S   5        U R                  R
                  R                  S5      (       + nU(       a!  [         R                  " XR                  5        O [         R                  " XR                  5        [        U5      $ )Nnew_passwordcurrent_password)
r
   r   r8   r9   r=   r?   r@   finalize_password_setfinalize_password_changer*   )rB   r8   rC   rD   is_sets        rE   rF   ChangePasswordView.postj  s    ''LLtzz66~F	
 ZZ,,001CDD11'<<H44WllK%g..rH   c                 2    SU R                   R                  0$ Nr9   r8   r9   r   s    rE   rf   #ChangePasswordView.get_input_kwargsu      ))**rH   rI   N)	rJ   rK   rL   rM   r   rN   rF   rf   rO   rI   rH   rE   r   r   f  s    %K	/+rH   r   c                   l   ^  \ rS rSr\\\\S.rU 4S jr	S r
S rS rS rS rS	 rU 4S
 jrS rSrU =r$ )ManageEmailViewiy  )r   PUTDELETEPATCHc                   > S U l         UR                  R                  (       a  UR                  U l        OUR                  S:w  a  [	        U5      $ [
        R                  " U5      U l         U R                   (       a  U R                   R                  (       d  [        U5      $ U R                   R                  U l        [        R                  " USU R                  S9nU(       a  U$ [        TU ]0  " U/UQ70 UD6$ )Nr   r	   rs   r9   )verification_stage_processr9   rz   methodr*   r   rX   
can_changer+   r   r   rZ   r[   )rB   r8   rC   rD   r   r]   s        rE   r[   ManageEmailView.dispatch  s    *.'<<((DI^^v%)'22.F.M.Mg.VD+3366AA'0077<<DI''TYYWKw9$9&99rH   c                 "    U R                  5       $ rT   )_respond_email_listrA   s       rE   r@   ManageEmailView.get  s    ''))rH   c                     [         R                  " U R                  U R                  5      n[        R
                  " U R                  U5      $ rT   )r	   list_email_addressesr8   r9   r   EmailAddressesResponse)rB   addrss     rE   r  #ManageEmailView._respond_email_list  s3    11$,,		J..t||UCCrH   c                 @   U R                   (       aU  U R                   R                  U R                  R                  S   U R                  R                  S9  U R                  5       $ [
        R                  R                  XR                  5        U R                  5       $ )Nr6   )r6   account_already_exists)	r  	change_tor=   r?   r  r   r	   	add_emailr  rA   s       rE   rF   ManageEmailView.post  s}    **++55jj--g6'+zz'H'H 6  '')) ((**=''))rH   c                     U R                   R                  S   n[        R                  R	                  X5        U R                  5       $ Nr6   )r=   r?   r   r	   delete_emailr  rB   r8   rC   rD   addrs        rE   r   ManageEmailView.delete  s9    zz&&w/''6''))rH   c                     U R                   R                  S   n[        R                  R	                  X5        U R                  5       $ r  )r=   r?   r   r	   mark_as_primaryr  r  s        rE   patchManageEmailView.patch  s9    zz&&w/**79''))rH   c                 D   U R                   R                  S   nU R                   R                  =n(       a<  SnUR                  (       a(   U R                   R                  R	                  5         SnOO[        X5      n[        R                  " XS9$ ! [
         a     N f = f)Nr6   FT)verification_sent)	r=   r?   rY   r   r   r   r   r    RequestEmailVerificationResponse)rB   r8   rC   rD   r  rY   sents          rE   putManageEmailView.put  s    zz&&w/jj(((7(D!!JJ&&--/D " 6gDD88
 	
	 # s   &B 
BBc                 N   > U R                   (       a  [        $ [        TU ]  5       $ rT   )r  r   rZ   get_input_class)rB   r]   s    rE   r)  ManageEmailView.get_input_class  s     **##w&((rH   c                 p    U R                   (       a  SU R                   R                  0$ SU R                  0$ )Nr6   r9   )r  r6   r9   r   s    rE   rf    ManageEmailView.get_input_kwargs  s1    **T<<BBCC		""rH   r9   r  )rJ   rK   rL   rM   r   r#   r   r   rN   r[   r@   r  rF   r   r   r&  r)  rf   rO   rp   rq   s   @rE   r  r  y  sI    +"(	K:&*D**
*

 )
# #rH   r  c                   >   ^  \ rS rSr\rU 4S jrS rS rS r	Sr
U =r$ )ManagePhoneViewi  c                 n  > S U l         UR                  R                  (       a  UR                  U l        OUR                  S:X  a  [	        U5      $ UR                  S:X  a  [
        R                  " U[        R                  5      nU(       a  [        R                  " U5      U l         U R                   (       a  U R                   R                  (       d  [        U5      $ U R                   R                  U l        [        R                  " USU R                  S9nU(       a  U$ [        TU ]@  " U/UQ70 UD6$ )NGETr   change_phoner  )r  r9   rz   r  r*   r   r   r   r   r   rX   r	  r+   r   r   rZ   r[   )rB   r8   rC   rD   rW   r   r]   s         rE   r[   ManagePhoneView.dispatch  s    *.'<<((DI^^u$)'22^^v%(..w8N8R8RSE2O2V2V3/ 3366AA'0077<<DI''TYYWKw9$9&99rH   c                     / n[        5       R                  U R                  R                  5      nU(       a  UR	                  US   US   S.5        [
        R                  " U R                  U5      $ )Nr      r7   verified)r   	get_phoner8   r9   appendr   PhoneNumbersResponse)rB   r8   rC   rD   phone_numbersphone_verifieds         rE   r@   ManagePhoneView.get  s`    ,.889J9JK  (+9JK ,,T\\=IIrH   c                 ~   U R                   R                  S   nU R                  (       a.  U R                  R                  X@R                   R                  S9  O4[
        R                  R                  R                  U R                  U5        [        R                  " U R                  USS./[        R                  S9$ )Nr7   )r7   r  Fr6  r   )r=   r?   r  r  r  r   r   r   r<   r8   r   r:  r   ACCEPTED)rB   r8   rC   rD   r7   s        rE   rF   ManagePhoneView.post  s    

''0**++55JJ4U4U 6  $$CCLL ,,LL # % &&	
 		
rH   c                     S n[        5       R                  U R                  5      nU(       a  US   nXR                  S.$ )Nr   )r7   r9   )r   r8  r9   )rB   r7   r<  s      rE   rf    ManagePhoneView.get_input_kwargs  s8    ,.88C"1%E		22rH   r-  )rJ   rK   rL   rM   r   rN   r[   r@   rF   rf   rO   rp   rq   s   @rE   r/  r/    s"    "K:.J
,3 3rH   r/  reauthenticatec                   $    \ rS rSr\rS rS rSrg)ReauthenticateViewi  c                 ~    [         R                  R                  U R                  5        [	        U R                  5      $ rT   )r   reauthenticationreauthenticate_by_passwordr8   r*   rA   s       rE   rF   ReauthenticateView.post  s)    99$,,G%dll33rH   c                 2    SU R                   R                  0$ r   r   r   s    rE   rf   #ReauthenticateView.get_input_kwargs  r   rH   rI   N)	rJ   rK   rL   rM   r    rN   rF   rf   rO   rI   rH   rE   rE  rE    s    %K4+rH   rE  N)Shttpr   django.utils.decoratorsr   allauth.accountr   r   allauth.account.adapterr   r   allauth.account.internalr   allauth.account.internal.flowsr   r	   r
   r   r   1allauth.account.internal.flows.email_verificationr   9allauth.account.internal.flows.email_verification_by_coder   1allauth.account.internal.flows.phone_verificationr   allauth.account.stagesr   r   r   allauth.corer   allauth.core.exceptionsr   r   allauth.decoratorsr   allauth.headless.accountr   allauth.headless.account.inputsr   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   allauth.headless.base.responser)   r*   r+   r,   r-   allauth.headless.base.viewsr.   r/   allauth.headless.internalr0   *allauth.headless.internal.restkit.responser1   r3   rQ   rw   r   r   r   r   r   r   r   r   r   r  r/  rE  rI   rH   rE   <module>r_     s    4 < F *  
 # F ) -    &  F - D
47 
437 3: *G,8<
G 
G =
G *H-H=C C >C(/' /9Gg 9Gx%Gg %GP$g $&$g $$9w 9" *$=>XN14 14 O14h *$56XF+- + G+$N#g N#b>3g >3B *$45HE+- + F+rH   