
    f)                     ~    d dl 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 Zd Zd Zd	 Zd
 Zd Z G d de      Zy)    )APIResponse)ClientFlow)get_adapter)signup)OAuth2Providerc                 D   |j                   |j                  g d}|j                  r"|d   j                  t        j
                         |j                  r"|d   j                  t        j                         t        |t              r|j                  j                  |d<   |S )N)idnameflowsr   	client_id)sub_idr   supports_redirectappendr   PROVIDER_REDIRECTsupports_token_authenticationPROVIDER_TOKEN
isinstancer   appr   )requestproviderrets      b/var/www/cs2snipe.com/venv/lib/python3.12/site-packages/allauth/headless/socialaccount/response.py_provider_datar   
   s{    (--"
EC!!GD223--GD//0(N+#<<11KJ    c                 &   g }t        |       }|r|D cg c]  }|j                  s|j                   }}|D cg c]  }|j                  s|j                   }}|rS| j                  j
                  j                  t        j                  k(  r"|j                  t        j                  |d       |r"|j                  t        j                  |d       t        j                  |       }|r|j                  t        | |             |S c c}w c c}w )N)r
   	providers)_list_supported_providersr   r
   r   allauthheadlessclientr   BROWSERr   r   r   r   r   get_pending_signup_signup_flow)r   r   r   predirect_providerstoken_providerssociallogins          r   provider_flowsr)      s    E)'2I,5Mq9L9LaddMM)2VAa6U6U144VV'//":":"A"AV^^"SLL00!3 LL--!0 //8LLg{;<L' NVs   D	D	DDc                 v    |j                   j                         }t        j                  t	        | |      dd}|S )NT)r
   r   
is_pending)accountget_providerr   PROVIDER_SIGNUPr   )r   r(   r   flows       r   r$   r$   0   s:    ""//1H"""7H5D
 Kr   c                     |t         j                  k(  r| j                  S |t         j                  k(  r| j                  S y)NF)r   APPr   r"   r   )r   r!   s     r   _is_provider_supportedr2   :   s5    555	6>>	!)))r   c                     t               }|j                  |       }|D cg c].  }t        || j                  j                  j
                        r|0 }}|S c c}w N)get_socialaccount_adapterlist_providersr2   r   r    r!   )r   adapterr   r%   s       r   r   r   B   s`    ')G&&w/I !!W__%=%=%D%DE 	
I 
 s   3Ac                     g }dd|ii}t        |       }t        |d       }|D ]  }|j                  t        | |              |S )Nsocialaccountr   c                     | j                   S r4   )r   )r%   s    r   <lambda>z!get_config_data.<locals>.<lambda>Q   s
     r   )key)r   sortedr   r   )r   entriesdatar   r   s        r   get_config_datar@   M   sT    Gk734D)'2Iy&67I :~gx89:Kr   c                        e Zd Z fdZ xZS )SocialAccountsResponsec           	          |D cg c]F  }|j                   t        ||j                               |j                         j	                         dH }}t
        |   ||       y c c}w )N)uidr   display)r?   )rD   r   r-   get_provider_accountto_strsuper__init__)selfr   accountsr,   r?   	__class__s        r   rI   zSocialAccountsResponse.__init__X   sn     $
 	 {{*7G4H4H4JK"779@@B
 
 	t,
s   AA%)__name__
__module____qualname__rI   __classcell__)rL   s   @r   rB   rB   W   s    	- 	-r   rB   N)allauth.headless.base.responser   allauth.headless.constantsr   r   allauth.socialaccount.adapterr   r5   $allauth.socialaccount.internal.flowsr   /allauth.socialaccount.providers.oauth2.providerr   r   r)   r$   r2   r   r@   rB    r   r   <module>rW      sB    6 3 8 J	4
-[ 
-r   