
    f=$                        d dl mZ d dlmZ d dlmZ d dlmZm	Z	 d dl
mZmZ d dlmZmZ d dlmZmZ d dlmZ d d	lmZ d d
lmZ d dlmZ d dlmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z) d dl*m+Z+m,Z,m-Z-m.Z. d dl/m0Z0m1Z1 d dl2m3Z3 d dl4m5Z5  G d de0      Z6 G d de0      Z7 e ed      d       G d de0             Z8 e ed      d       G d de0             Z9 G d de0      Z: G d  d!e0      Z; G d" d#e0      Z< e ed$      d       G d% d&e0             Z= e ed'      d       G d( d)e1             Z> e ed*      d       G d+ d,e1             Z? e ed-      d       G d. d/e1             Z@y0)1    )method_decorator)get_adapter)flows)password_changepassword_reset)EmailAddressLogin)EmailVerificationStageLoginStageController)complete_signupsend_email_confirmation)	ratelimit)ImmediateHttpResponse)
rate_limit)response)AddEmailInputChangePasswordInputConfirmLoginCodeInputDeleteEmailInput
LoginInputMarkAsPrimaryEmailInputReauthenticateInputRequestLoginCodeInputRequestPasswordResetInputResetPasswordInputResetPasswordKeyInputSelectEmailInputSignupInputVerifyEmailInput)APIResponseAuthenticationResponseConflictResponseForbiddenResponse)APIViewAuthenticatedAPIView)authkit)ErrorResponsec                       e Zd ZeZd Zy)RequestLoginCodeViewc                     t         j                  j                  | j                  | j                  j
                  d          t        | j                        S Nemail)r   login_by_coderequest_login_coderequestinputcleaned_datar!   selfr/   argskwargss       Y/var/www/cs2snipe.com/venv/lib/python3.12/site-packages/allauth/headless/account/views.pypostzRequestLoginCodeView.post+   s?    ..LL$**11':	
 &dll33    N)__name__
__module____qualname__r   input_classr7    r8   r6   r)   r)   (   s    'K4r8   r)   c                   <     e Zd ZeZ fdZd Z fdZ fdZ xZ	S )ConfirmLoginCodeViewc                 0   t        j                  |      }|j                         | _        | j                  st	        |      S t
        j                  j                  | j                  j                  d      \  | _	        | _
        t        | 0  |g|i |S )NT)peek)r&   AuthenticationStatusget_pending_stagestager"   r   r-   get_pending_loginloginuserpending_loginsuperdispatch)r3   r/   r4   r5   auth_status	__class__s        r6   rJ   zConfirmLoginCodeView.dispatch5   s    227; 224
zz#G,,(-(;(;(M(MJJ4 )N )
%	4% w9$9&99r8   c                     t         j                  j                  | j                  | j                  d        t        |      S N)r   r-   perform_login_by_coder/   rD   r!   r2   s       r6   r7   zConfirmLoginCodeView.post?   s-    11$,,

DQ%g..r8   c                 ~    t         |          }| j                  r| j                  j                  dd      nd|d<   |S )Ncode )rI   get_input_kwargsrH   get)r3   r5   rL   s     r6   rS   z%ConfirmLoginCodeView.get_input_kwargsC   s@    )+262D2DD""62." 	v r8   c                     t         j                  j                  | j                  | j                  j
                         t        |   |      S rN   )r   r-   record_invalid_attemptr/   rD   rF   rI   handle_invalid_input)r3   r0   rL   s     r6   rW   z)ConfirmLoginCodeView.handle_invalid_inputJ   s7    224<<AQAQRw+E22r8   )
r9   r:   r;   r   r<   rJ   r7   rS   rW   __classcell__rL   s   @r6   r?   r?   2   s!    'K:/3 3r8   r?   rF   )actionhandle)namec                       e Zd ZeZd Zy)	LoginViewc                 b   |j                   j                  rt        |      S | j                  j                  } t               j                  | j                  fi |}|r=t        ||j                  d            }t        j                  j                  |||       t        | j                        S )Nr,   )rG   r,   )rG   is_authenticatedr"   r0   r1   get_account_adapterauthenticater/   r	   rT   r   rF   perform_password_loginr!   )r3   r/   r4   r5   credentialsrG   rF   s          r6   r7   zLoginView.postS   s    <<((#G,,jj--1"$11$,,N+Nt;??7+CDEKK..wUK%dll33r8   N)r9   r:   r;   r   r<   r7   r=   r8   r6   r^   r^   O   s    K4r8   r^   signupc                       e Zd ZeZd Zy)
SignupViewc                 J   |j                   j                  rt        |      S t               j	                  |      st        |      S | j                  j                  |      \  }}|s	 t        ||d d        t        |      S t        |      S # t        $ r Y t        |      S w xY w)N)email_verificationsuccess_url)rG   r`   r"   ra   is_open_for_signupr#   r0   try_saver   r   r!   )r3   r/   r4   r5   rG   resps         r6   r7   zSignupView.postb   s    <<((#G,,"$77@$W--ZZ((1
d'+ $	 &g..%g.. ) %g..s   'B 	B"!B"N)r9   r:   r;   r   r<   r7   r=   r8   r6   rg   rg   ^   s    K/r8   rg   c                       e Zd Zd Zd Zy)SessionViewc                     t        |      S rN   )r!   r2   s       r6   rT   zSessionView.getv   s    %g..r8   c                 N    t               }|j                  |       t        |      S rN   )ra   logoutr!   )r3   r/   r4   r5   adapters        r6   deletezSessionView.deletey   s!    %'w%g..r8   N)r9   r:   r;   rT   rt   r=   r8   r6   ro   ro   u   s    //r8   ro   c                   .     e Zd ZeZ fdZd Zd Z xZS )VerifyEmailViewc                 |    t        j                  |t        j                        | _        t        |   |g|i |S rN   )r   enterr
   keyrD   rI   r[   )r3   r/   r4   r5   rL   s       r6   r[   zVerifyEmailView.handle   s7    )//9O9S9ST
w~g7777r8   c                     |j                   j                  dd      }| j                  d|i      }|j                         st	        ||      S |j
                  d   }t        j                  ||| j                        S )Nzx-email-verification-keyrR   ry   r0   )rD   )	headersrT   r<   is_validr'   r1   r   VerifyEmailResponserD   )r3   r/   r4   r5   ry   r0   verifications          r6   rT   zVerifyEmailView.get   sm    oo!!"<bA  %.~~ 66))%0++G\TTr8   c                     | j                   j                  d   }|j                  |      }|st        d      S | j                  r| j                  j                          t        | j                        S )Nry   i  )status)r0   r1   confirmr    rD   exitr!   r/   )r3   r/   r4   r5   confirmationemail_addresss         r6   r7   zVerifyEmailView.post   s\    zz..u5$,,W5 c**:: JJOO%dll33r8   )	r9   r:   r;   r   r<   r[   rT   r7   rX   rY   s   @r6   rv   rv      s    "K8U4r8   rv   c                       e Zd ZeZd Zy)RequestPasswordResetViewc                     t        j                  | j                  d| j                  j                  d   j                               }|r|S | j                  j                  |       t        j                  |      S )Nreset_passwordr,   )rZ   ry   )	r   consume_or_429r/   r0   r1   lowersaver   RequestPasswordResponse)r3   r/   r4   r5   r429s        r6   r7   zRequestPasswordResetView.post   sb    ''LL#

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

 //88r8   N)r9   r:   r;   r   r<   r7   r=   r8   r6   r   r      s    +K	9r8   r   reset_password_from_keyc                       e Zd ZeZd Zd Zy)ResetPasswordViewc                     |j                   j                  dd      }t        d|i      }|j                         st	        ||      S t        j                  ||j                        S )NzX-Password-Reset-KeyrR   ry   r{   )r|   rT   r   r}   r'   r   PasswordResetKeyResponserG   )r3   r/   r4   r5   ry   r0   s         r6   rT   zResetPasswordView.get   sU    oo!!"8"=%ucl3~~ 6600%**EEr8   c                    t         j                  j                  | j                  j                  | j                  j
                  d          t        j                  || j                  j                         t        | j                        S )Npassword)	r   r   r   r0   rG   r1   finalize_password_resetr!   r/   r2   s       r6   r7   zResetPasswordView.post   s[    ++JJOOTZZ44Z@	
 	..w

H%dll33r8   N)r9   r:   r;   r   r<   rT   r7   r=   r8   r6   r   r      s    $KF4r8   r   change_passwordc                       e Zd ZeZd Zd Zy)ChangePasswordViewc                    t        j                  | j                  j                  | j                  j
                  d          | j                  j
                  j                  d       }|r+t        j                  ||j                         t        |      S t        j                  ||j                         t        |      S )Nnew_passwordcurrent_password)
r   r   r/   rG   r0   r1   rT   finalize_password_setfinalize_password_changer!   )r3   r/   r4   r5   is_sets        r6   r7   zChangePasswordView.post   s    ''LLtzz66~F	
 ZZ,,001CDD11'7<<H &g.. 44WgllK%g..r8   c                 2    d| j                   j                  iS NrG   r/   rG   r3   s    r6   rS   z#ChangePasswordView.get_input_kwargs       ))**r8   N)r9   r:   r;   r   r<   r7   rS   r=   r8   r6   r   r      s    %K	/+r8   r   manage_emailc                   D    e Zd ZeeeedZd Zd Z	d Z
d Zd Zd Zd Zy	)
ManageEmailView)POSTPUTDELETEPATCHc                 "    | j                         S rN   )_respond_email_listr2   s       r6   rT   zManageEmailView.get   s    ''))r8   c                     t         j                  j                  | j                  j                        }t        j                  | j                  |      S )N)rG   )r   objectsfilterr/   rG   r   EmailAddressesResponse)r3   addrss     r6   r   z#ManageEmailView._respond_email_list   s<    $$++1B1B+C..t||UCCr8   c                 v    t         j                  j                  || j                         | j	                         S rN   )r   r   	add_emailr0   r   r2   s       r6   r7   zManageEmailView.post   s+    $$Wdjj9''))r8   c                     | j                   j                  d   }t        j                  j	                  ||       | j                         S r+   )r0   r1   r   r   delete_emailr   r3   r/   r4   r5   addrs        r6   rt   zManageEmailView.delete   s;    zz&&w/''6''))r8   c                     | j                   j                  d   }t        j                  j	                  ||       | j                         S r+   )r0   r1   r   r   mark_as_primaryr   r   s        r6   patchzManageEmailView.patch   s;    zz&&w/**7D9''))r8   c                     | j                   j                  d   }t        ||j                  |j                        }t        j                  ||      S )Nr,   )r,   )verification_sent)r0   r1   r   rG   r,   r    RequestEmailVerificationResponse)r3   r/   r4   r5   r   sents         r6   putzManageEmailView.put   sD    zz&&w/&wDJJO88t
 	
r8   c                 2    d| j                   j                  iS r   r   r   s    r6   rS   z ManageEmailView.get_input_kwargs   r   r8   N)r9   r:   r;   r   r   r   r   r<   rT   r   r7   rt   r   r   rS   r=   r8   r6   r   r      s;     "(	K*D**
*

+r8   r   reauthenticatec                       e Zd ZeZd Zd Zy)ReauthenticateViewc                 ~    t         j                  j                  | j                         t	        | j                        S rN   )r   reauthenticationreauthenticate_by_passwordr/   r!   r2   s       r6   r7   zReauthenticateView.post   s)    99$,,G%dll33r8   c                 2    d| j                   j                  iS r   r   r   s    r6   rS   z#ReauthenticateView.get_input_kwargs  r   r8   N)r9   r:   r;   r   r<   r7   rS   r=   r8   r6   r   r      s    %K4+r8   r   N)Adjango.utils.decoratorsr   allauth.account.adapterr   ra   allauth.account.internalr   allauth.account.internal.flowsr   r   allauth.account.modelsr   r	   allauth.account.stagesr
   r   allauth.account.utilsr   r   allauth.corer   allauth.core.exceptionsr   allauth.decoratorsr   allauth.headless.accountr   allauth.headless.account.inputsr   r   r   r   r   r   r   r   r   r   r   r   r   r   allauth.headless.base.responser    r!   r"   r#   allauth.headless.base.viewsr$   r%   allauth.headless.internalr&   *allauth.headless.internal.restkit.responser'   r)   r?   r^   rg   ro   rv   r   r   r   r   r   r=   r8   r6   <module>r      s   4 F * J 6 O J " 9 ) -      F - D47 437 3: *G,8<4 4 =4 *H-H=/ / >/,/' /4g 4:9w 9 *$=>XN4 4 O4$ *$56XF+- + G+$ *N3(C%+* %+ D%+P *$45HE+- + F+r8   