
    f7
                         d dl 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mZ d dlmZ  G d	 d
e      Z G d de      ZegZy)    N)HttpResponseRedirect)reverse)	urlencode)EmailAddress)get_adapter)ProviderProviderAccount)AuthenticateFormc                       e Zd Zy)DummyAccountN)__name__
__module____qualname__     i/var/www/cs2snipe.com/venv/lib/python3.12/site-packages/allauth/socialaccount/providers/dummy/provider.pyr   r      s    r   r   c                   J    e Zd ZdZdZeZdZdZdZ	d Z
d Zd Zdd	Zd
 Zd Zy)DummyProviderdummyDummyFTc                 B    t        d      }|r|dz   t        |      z   }|S )Ndummy_login?)r   r   )selfrequestkwargsurls       r   get_login_urlzDummyProvider.get_login_url   s'    m$)i//C
r   c                     t        |d         S )Nid)str)r   datas     r   extract_uidzDummyProvider.extract_uid   s    4:r   c                     i }|j                  d      r|j                  d      |d<   |j                  d      r|j                  d      |d<   |j                  d      r|j                  d      |d<   |S )N
first_name	last_nameusername)get)r   r"   rets      r   extract_common_fieldsz#DummyProvider.extract_common_fields"   sh    88L! $ 6C88K #xx4C88J"hhz2C
O
r   Nc                 z     | j                   ||f||d|}t        t        d      dz   t        d|i      z         S )N)next_urlr"   dummy_authenticater   state)stash_redirect_stater   r   r   )r   r   processr,   r"   r   state_ids          r   redirectzDummyProvider.redirect,   s]    ,4,,
 	

 
 $()C/)Wh<O2PP
 	
r   c                     g }|j                  d      }|r.|j                  d      }|j                  t        ||d             |S )Nemailemail_verifiedT)r4   verifiedprimary)r(   appendr   )r   r"   	addressesr4   r5   s        r   extract_email_addressesz%DummyProvider.extract_email_addresses8   sN    	!!XX&67N+  r   c                 (   |j                  d      }|rN	 t        j                  |      }t        |      }|j	                         r| j                  ||j                        S t               j                  d      # t        j                  $ r Y .w xY w)Nid_token)r"   invalid_token)
r(   jsonloadsr
   is_validsociallogin_from_responsecleaned_dataJSONDecodeErrorr   validation_error)r   r   tokenr<   r"   forms         r   verify_tokenzDummyProvider.verify_tokenF   s     99Z(Vzz(+ (T2==?99'4CTCTUUm,,_== '' s   A; ;BB)NN)r   r   r   r    namer   account_class	uses_appssupports_redirectsupports_token_authenticationr   r#   r*   r2   r:   rG   r   r   r   r   r      s@    	BD MI$(!

>r   r   )r>   django.httpr   django.urlsr   django.utils.httpr   allauth.account.modelsr   allauth.socialaccount.adapterr   $allauth.socialaccount.providers.baser   r	   +allauth.socialaccount.providers.dummy.formsr
   r   r   provider_classesr   r   r   <module>rU      sB     ,  ' / 5 J H	? 	B>H B>J "? r   