
    )Jf                         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
 eg d          Z G d d	e          Z G d
 de          ZegZdS )    )EmailAddress)app_settings)
AuthActionProviderAccount)OAuth2Providerc                   &    e Zd ZdZdZdZdZdZdZdS )Scopezaq:nameemailphoneaddressaq:locationzaq:pushN)	__name__
__module____qualname__NAMEEMAILPHONEADDRESSLOCATIONPUSH     u/home/alex/cs2snipeproduction/venv/lib/python3.11/site-packages/allauth/socialaccount/providers/authentiq/provider.pyr	   r	      s,        DEEGHDDDr   r	   )subname
given_namefamily_namemiddle_namenicknamepreferred_usernameprofilepicturewebsiter
   email_verifiedgender	birthdatezoneinfolocalephone_numberphone_number_verifiedr   
updated_atr   c                   *     e Zd Zd Zd Z fdZ xZS )AuthentiqAccountc                 @    | j         j                            d          S )Nr!   account
extra_datagetselfs    r   get_profile_urlz AuthentiqAccount.get_profile_url,       |&**9555r   c                 @    | j         j                            d          S )Nr"   r/   r3   s    r   get_avatar_urlzAuthentiqAccount.get_avatar_url/   r6   r   c                     t          t          |                                           }| j        j                            d|          S )Nr   )superr-   to_strr0   r1   r2   )r4   dflt	__class__s     r   r;   zAuthentiqAccount.to_str2   s:    %t,,3355|&**64888r   )r   r   r   r5   r8   r;   __classcell__r=   s   @r   r-   r-   +   sV        6 6 66 6 69 9 9 9 9 9 9 9 9r   r-   c                   R     e Zd ZdZdZeZ fdZd Z fdZ	d Z
d Zd Zd	 Z xZS )
AuthentiqProvider	authentiq	Authentiqc                    t          t          t          |                               |                    }|                    d           t
          j        |v rjd}t          j        r|dz  }t          j	        r|dz  }|rD|                    t
          j        dz   |z              |
                    t
          j                   t          |          S )Nopenid rs~)setr:   rA   	get_scopeaddr	   r   r   EMAIL_REQUIREDEMAIL_VERIFICATIONremovelist)r4   requestscope	modifiersr=   s       r   rK   zAuthentiqProvider.get_scope<   s    E+T22<<WEEFF		(;%I* !S 	. !S 	 *		%++i7888U[)))E{{r   c                     t           j        t           j        g}t          j        r|                    t           j                   |S )N)r	   r   r   r   QUERY_EMAILappendr   )r4   rR   s     r   get_default_scopez#AuthentiqProvider.get_default_scopeK   s4    UZ(# 	&LL%%%r   c                     t          t          |                               ||          }|t          j        k    rd|d<   |S )Nselect_accountprompt)r:   rA   get_auth_paramsr   REAUTHENTICATE)r4   rQ   actionretr=   s       r   r[   z!AuthentiqProvider.get_auth_paramsQ   s?    %t,,<<WfMMZ...,CM
r   c                 ,    t          |d                   S )Nr   )strr4   datas     r   extract_uidzAuthentiqProvider.extract_uidW   s    4;r   c           	         t          |                    d|                    d                    |                    d          |                    d          |                    d          |                    d                    S )Nr    r   r
   r   r   )usernamer
   r   
first_name	last_name)dictr2   ra   s     r   extract_common_fieldsz'AuthentiqProvider.extract_common_fieldsZ   ss    XX2DHH\4J4JKK((7##&!!xx--hh}--
 
 
 	
r   c                 >    d |                                 D             S )Nc                 ,    i | ]\  }}|t           v ||S r   )IDENTITY_CLAIMS).0kvs      r   
<dictcomp>z8AuthentiqProvider.extract_extra_data.<locals>.<dictcomp>d   s(    FFFAo1E1E11E1E1Er   )itemsra   s     r   extract_extra_dataz$AuthentiqProvider.extract_extra_datac   s    FFFFFFr   c                     g }|                     d          }|r:|                     d          r%|                    t          |dd                     |S )Nr
   r$   T)r
   verifiedprimary)r2   rV   r   )r4   rb   r^   r
   s       r   extract_email_addressesz)AuthentiqProvider.extract_email_addressesf   s\    !! 	OTXX.// 	OJJ|%$MMMNNN
r   )r   r   r   idr   r-   account_classrK   rW   r[   rc   ri   rr   rv   r>   r?   s   @r   rA   rA   7   s        	BD$M               
 
 
G G G      r   rA   N)allauth.account.modelsr   allauth.socialaccountr   $allauth.socialaccount.providers.baser   r   /allauth.socialaccount.providers.oauth2.providerr   objectr	   	frozensetrl   r-   rA   provider_classesr   r   r   <module>r      s   / / / / / / . . . . . . L L L L L L L L J J J J J J    F    )   6	9 	9 	9 	9 	9 	9 	9 	94 4 4 4 4 4 4 4n &&   r   