
    fI                     2   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 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  G d d	e      Z G d
 de      Z G d de      Z G d de      Z G d de      Z G d de      Zd Z G d de      Z G d de      Zy)    )app_settingsget_adapter)get_authentication_records)flows)Flow)authkit)APIResponsec                   <     e Zd Zd fd	Zd Zd ZdeddfdZ xZS )	BaseAuthenticationResponseNc                    i }|r?|j                   r3t               }|j                  |      |d<   t        |      |d<   |xs d}n|xs d}|dk7  r| j	                  ||      |d<   d|xr |j                   i}t
        |   ||||       y )Nusermethods     r   is_authenticated)datametastatus)r   r   serialize_userr   
_get_flowssuper__init__)selfrequestr   r   r   adapterr   	__class__s          Y/var/www/cs2snipe.com/venv/lib/python3.12/site-packages/allauth/headless/base/response.pyr   z#BaseAuthenticationResponse.__init__   s    D))!mG"11$7DL8ADO]sF]sFS= OOGT:DM >)>)>
 		 	 	
    c                 0   t        j                  |      }g }|r<|j                  r0|j                  t        j
                  j                  |             nt        j                  s!|j                  dt        j                  i       t        j                  r!|j                  dt        j                  i       t               j!                  |      r1t        j                  s!|j                  dt        j"                  i       t        j$                  rddlm} |j                   ||             t        j*                  r1t,        j.                  r!|j                  dt        j0                  i       d }|j3                         }|r|j4                  }nE|j6                  j9                  t        j:                  j<                        }t?        |t@              r|}|r>|dd}	|r%|t        jB                  k(  r| jE                  ||	       | jG                  ||	       |S )Nidr   )provider_flowsT)r!   
is_pending)$r	   AuthenticationStatusr   extendr   reauthenticationget_reauthentication_flowsallauth_settingsSOCIALACCOUNT_ONLYappendr   LOGINaccount_settingsLOGIN_BY_CODE_ENABLEDLOGIN_BY_CODEget_account_adapteris_open_for_signupSIGNUPSOCIALACCOUNT_ENABLED'allauth.headless.socialaccount.responser"   MFA_ENABLEDmfa_settingsPASSKEY_LOGIN_ENABLEDMFA_LOGIN_WEBAUTHNget_pending_stagekeysessiongetloginLOGIN_SESSION_KEY
isinstancestrMFA_AUTHENTICATE_enrich_mfa_flow_upsert_pending_flow)
r   r   r   auth_statusretr"   	stage_keystagelskpending_flows
             r   r   z%BaseAuthenticationResponse._get_flows#   s   227;D))JJu--HHNO#66

D$**-.55

D$"4"456#%88A(;;

D$++./55 

>'23++55JJd&=&=>?	--/		I//%%ekk&C&CDC#s#	"+4@Ld&;&;;%%e\:%%c<8
r   c                 |    t        fd|D        d       }|r|j                         y  |j                         y )Nc              3   :   K   | ]  }|d    d    k(  s|  yw)r!   N ).0flowrH   s     r   	<genexpr>zBBaseAuthenticationResponse._upsert_pending_flow.<locals>.<genexpr>K   s!     PdtDz\$=O/OTPs   )nextupdater*   )r   r   rH   rM   s     ` r   rB   z/BaseAuthenticationResponse._upsert_pending_flowJ   s3    PePRVWKK%ELL&r   rM   returnc                     ddl m} ddlm}  |       }g }|j                  D ]<  }|j                  |j                  j                  |g      s,|j                  |       > ||d<   y )Nr   r   )Authenticator)typesrT   )	allauth.mfa.adapterr   allauth.mfa.modelsrS   Typeis_mfa_enabledr<   r   r*   )r   rF   rM   get_mfa_adapterrS   r   rT   typs           r   rA   z+BaseAuthenticationResponse._enrich_mfa_flowQ   s`    F4!# %% 	"C%%ekk&6&6se%DS!	" Wr   )NN)	__name__
__module____qualname__r   r   rB   dictrA   __classcell__r   s   @r   r   r      s&    
*%N'	D 	T 	r   r   c                        e Zd Z fdZ xZS )AuthenticationResponsec                 <    t         |   ||j                         y )N)r   r   r   r   r   r   r   s     r   r   zAuthenticationResponse.__init__^   s    w||4r   r[   r\   r]   r   r_   r`   s   @r   rb   rb   ]   s    5 5r   rb   c                        e Zd Z fdZ xZS )ReauthenticationResponsec                 >    t         |   ||j                  d       y )Nr   r   r   rd   re   s     r   r   z!ReauthenticationResponse.__init__c   s    w||C@r   rf   r`   s   @r   rh   rh   b   s    A Ar   rh   c                         e Zd Zd fd	Z xZS )UnauthorizedResponsec                 *    t         |   |d |       y )Nrj   r   r   )r   r   r   r   s      r   r   zUnauthorizedResponse.__init__h   s    tF;r   )r   rf   r`   s   @r   rl   rl   g   s    < <r   rl   c                        e Zd Z fdZ xZS )ForbiddenResponsec                 (    t         |   |d       y )Ni  r   rn   re   s     r   r   zForbiddenResponse.__init__m       -r   rf   r`   s   @r   rp   rp   l       . .r   rp   c                        e Zd Z fdZ xZS )ConflictResponsec                 (    t         |   |d       y )Ni  rr   rn   re   s     r   r   zConflictResponse.__init__r   rs   r   rf   r`   s   @r   rv   rv   q   rt   r   rv   c                     t         j                  t               j                  |       t         j                  t         j
                  d}d|iS )N)authentication_methodr0   "email_verification_by_code_enabledlogin_by_code_enabledaccount)r,   AUTHENTICATION_METHODr/   r0   "EMAIL_VERIFICATION_BY_CODE_ENABLEDr-   )r   r   s     r   get_config_datar   v   sB    !1!G!G13FFwO.>.a.a!1!G!G	D tr   c                        e Zd Z fdZ xZS )ConfigResponsec                 J   t        |      }t        j                  rddlm } |j	                   ||             t        j
                  rddlm } |j	                   ||             t        j                  rddlm } |j	                   ||             t        | )  ||      S )Nr   )r   )r   )r   r(   r2   r3   rP   r4   allauth.headless.mfa.responseUSERSESSIONS_ENABLED&allauth.headless.usersessions.responser   r   )r   r   r   get_socialaccount_config_dataget_mfa_config_dataget_usersessions_config_datar   s         r   r   zConfigResponse.__init__   s    w'11 KK5g>?'' KK+G4500 KK4W=>wd33r   rf   r`   s   @r   r   r      s    4 4r   r   c                        e Zd Z fdZ xZS )RateLimitResponsec                 (    t         |   |d       y )Ni  rr   rn   re   s     r   r   zRateLimitResponse.__init__   rs   r   rf   r`   s   @r   r   r      rt   r   r   N)allauthr   r(   allauth.accountr,   allauth.account.adapterr   r/   allauth.account.authenticationr   allauth.account.internalr   allauth.headless.adapterallauth.headless.constantsr   allauth.headless.internalr	   *allauth.headless.internal.restkit.responser
   allauth.mfar5   r   rb   rh   rl   rp   rv   r   r   r   rK   r   r   <module>r      s    4 < F E * 0 + - B 4M M`57 5
A9 A
<5 <
. .
.{ .
4[ 40. .r   