
    Sњhk                     V   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  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  S SKJr   " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r S r! " S S\5      r" " S S\5      r#g)    )
HTTPStatus)app_settingsget_adapter)LoginMethod)get_authentication_records)flows)LOGIN_SESSION_KEY)Flow)authkit)APIResponsec                   J   ^  \ rS rSrS
U 4S jjrS rS rS\SS4S jrS	r	U =r
$ )BaseAuthenticationResponse   Nc                   > 0 nU(       aW  UR                   (       aF  [        5       nUR                  U5      US'   [        U5      US'   U=(       d    [        R
                  nOU=(       d    [        R                  nU[        R
                  :w  a  U R                  X5      US'   SU=(       a    UR                   0n[        TU ]%  UUUUS9  g )Nusermethodsr	   is_authenticated)datametastatus)
r   r   serialize_userr   r   OKUNAUTHORIZED
_get_flowssuper__init__)selfrequestr   r   r   adapterr   	__class__s          YD:\Anime\Ugyen\janka_web_project\venv\Lib\site-packages\allauth/headless/base/response.pyr   #BaseAuthenticationResponse.__init__   s    D))!mG"11$7DL8ADO,z}}F6z66FZ]]" OOG:DM >)>)>
 		 	 	
    c                 r   [         R                  " U5      n/ nU(       aA  UR                  (       a0  UR                  [        R
                  R                  U5      5        GO=[        R                  (       d!  UR                  S[        R                  05        [        R                  (       a!  UR                  S[        R                  05        [        5       R!                  U5      (       a6  [        R                  (       d!  UR                  S[        R"                  05        [        R$                  (       a  SSKJn  UR                  U" U5      5        [        R*                  (       a6  [,        R.                  (       a!  UR                  S[        R0                  05        S nUR3                  5       nU(       a  UR4                  nO6UR6                  R9                  [:        5      n[=        U[>        5      (       a  UnU(       aB  USS.n	U(       a%  U[        R@                  :X  a  U RC                  Xy5        U RE                  XI5        [        R                  (       d_  [        RF                  (       aJ  SSK$J%n
  UR                  [        RL                  [O        U
RP                  RS                  U5      5      S.5        U$ )Nidr   )provider_flowsT)r&   
is_pending)password_reset_by_code)*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getr
   
isinstancestrMFA_AUTHENTICATE_enrich_mfa_flow_upsert_pending_flowPASSWORD_RESET_BY_CODE_ENABLEDallauth.account.internal.flowsr)   PASSWORD_RESET_BY_CODEbool PasswordResetVerificationProcessresume)r   r   r   auth_statusretr'   	stage_keystagelskpending_flowr)   s              r"   r   %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A(;;

D$++./55R

>'23++55JJd&=&=>?	--/		I//%%&78C#s##	"+4@Ld&;&;;%%e:%%c8 !33 ??MJJ55"&.OOVV##	 
r$   c                    ^ [        U4S jU 5       S 5      nU(       a  UR                  T5        g UR                  " T5        g )Nc              3   B   >#    U  H  oS    TS    :X  d  M  Uv   M     g7f)r&   N ).0flowrR   s     r"   	<genexpr>BBaseAuthenticationResponse._upsert_pending_flow.<locals>.<genexpr>^   s!     PedDz\$=O/OTTes   	)nextupdater0   )r   r	   rR   rX   s     ` r"   rF   /BaseAuthenticationResponse._upsert_pending_flow]   s1    PePRVWKK%LL&r$   rX   returnc                     SSK Jn  SSKJn  U" 5       n/ nUR                   H@  nUR                  UR                  R                  U/S9(       d  M/  UR                  U5        MB     XbS'   g )Nr   r   )Authenticator)typesra   )	allauth.mfa.adapterr   allauth.mfa.modelsr`   Typeis_mfa_enabledloginr   r0   )r   rP   rX   get_mfa_adapterr`   r    ra   typs           r"   rE   +BaseAuthenticationResponse._enrich_mfa_flowd   s\    F4!# %%C%%ekk&6&6se%DDS! & Wr$   rV   )NN)__name__
__module____qualname____firstlineno__r   r   rF   dictrE   __static_attributes____classcell__r!   s   @r"   r   r      s+    
*4l'	D 	T 	 	r$   r   c                   8   ^  \ rS rSrU 4S jr\S 5       rSrU =r$ )AuthenticationResponsep   c                 4   > [         TU ]  XR                  S9  g )N)r   )r   r   r   r   r   r!   s     r"   r   AuthenticationResponse.__init__q   s    ||4r$   c                 F    [        U[        5      (       a  U$ [        U5      $ )a  
The response might be a headed redirect to e.g. the confirmation
email page, because allauth.account is not (much) headless
aware. Also, what if an adapter method return headed responses in
post_login()?  So, let's ensure we always return a headless
response.
)rB   rs   )clsr   responses      r"   from_response$AuthenticationResponse.from_responset   s"     h 677O%g..r$   rV   )	rj   rk   rl   rm   r   classmethodr{   ro   rp   rq   s   @r"   rs   rs   p   s    5 
/ 
/r$   rs   c                   (   ^  \ rS rSrU 4S jrSrU =r$ )ReauthenticationResponse   c                 R   > [         TU ]  XR                  [        R                  S9  g N)r   r   )r   r   r   r   r   rv   s     r"   r   !ReauthenticationResponse.__init__   s    ||J<S<STr$   rV   rj   rk   rl   rm   r   ro   rp   rq   s   @r"   r   r      s    U Ur$   r   c                   B   ^  \ rS rSr\R
                  4U 4S jjrSrU =r$ )UnauthorizedResponse   c                 $   > [         TU ]  US US9  g r   )r   r   )r   r   r   r!   s      r"   r   UnauthorizedResponse.__init__   s    tF;r$   rV   )	rj   rk   rl   rm   r   r   r   ro   rp   rq   s   @r"   r   r      s    '1'>'> < <r$   r   c                   (   ^  \ rS rSrU 4S jrSrU =r$ )ForbiddenResponse   c                 >   > [         TU ]  U[        R                  S9  g N)r   )r   r   r   	FORBIDDENrv   s     r"   r   ForbiddenResponse.__init__   s    )=)=>r$   rV   r   rq   s   @r"   r   r      s    ? ?r$   r   c                   (   ^  \ rS rSrU 4S jrSrU =r$ )ConflictResponse   c                 >   > [         TU ]  U[        R                  S9  g r   )r   r   r   CONFLICTrv   s     r"   r   ConflictResponse.__init__   s    )<)<=r$   rV   r   rq   s   @r"   r   r      s    > >r$   r   c                    [         R                  n[        U5      [        5       R	                  U 5      [         R
                  [         R                  [         R                  S.n[        R                  U;   a  [        R                  U;   a	  SUS'   SU0$ [        R                  U;   a	  SUS'   SU0$ [        R                  U;   a  SUS'   SU0$ )N)login_methodsr6   "email_verification_by_code_enabledlogin_by_code_enabledpassword_reset_by_code_enabledusername_emailauthentication_methodemailusernameaccount)r2   LOGIN_METHODSlistr5   r6   "EMAIL_VERIFICATION_BY_CODE_ENABLEDr3   rG   r   EMAILUSERNAME)r   r   r   s      r"   get_config_datar      s    $22Mm,13FFwO.>.a.a!1!G!G*:*Y*YD M)k.B.Bm.S(8$% t 
		m	+(/$% t 
			.(2$%tr$   c                   (   ^  \ rS rSrU 4S jrSrU =r$ )ConfigResponse   c                 `  > [        U5      n[        R                  (       a  SSKJ n  UR	                  U" U5      5        [        R
                  (       a  SSKJ n  UR	                  U" U5      5        [        R                  (       a  SSKJ n  UR	                  U" U5      5        [        TU ])  XS9$ )Nr   )r   )r   )r   r.   r8   r9   r\   r:   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   ConfigResponse.__init__   s    w'11 KK5g>?'' KK+G4500 KK4W=>w33r$   rV   r   rq   s   @r"   r   r      s    4 4r$   r   c                   (   ^  \ rS rSrU 4S jrSrU =r$ )RateLimitResponse   c                 >   > [         TU ]  U[        R                  S9  g r   )r   r   r   TOO_MANY_REQUESTSrv   s     r"   r   RateLimitResponse.__init__   s    )E)EFr$   rV   r   rq   s   @r"   r   r      s    G Gr$   r   N)$httpr   allauthr   r.   allauth.accountr2   allauth.account.adapterr   r5   allauth.account.app_settingsr   allauth.account.authenticationr   allauth.account.internalr	   !allauth.account.internal.stagekitr
   allauth.headless.adapterallauth.headless.constantsr   allauth.headless.internalr   *allauth.headless.internal.restkit.responser   allauth.mfar;   r   rs   r   r   r   r   r   r   r   rV   r$   r"   <module>r      s     4 < F 4 E * ? 0 + - B 4\ \~/7 /$U9 U
<5 <
? ?
>{ >
(4[ 40G Gr$   