o
    ˷e                     @   sd   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 deZ	G dd deZ
eje
 d	S )
    )EmailAddress)	providers)
AuthActionProviderAccount)OAuth2Providerc                       s,   e Zd Zdd Zdd Z fddZ  ZS )SalesforceAccountc                 C      | j jdS )Nlinkaccount
extra_datagetself r   j/var/www/ideatree/venv/lib/python3.10/site-packages/allauth/socialaccount/providers/salesforce/provider.pyget_profile_url      z!SalesforceAccount.get_profile_urlc                 C   r   )Npicturer
   r   r   r   r   get_avatar_url   r   z SalesforceAccount.get_avatar_urlc                    s   t t|  }| jjd|S )Nname)superr   to_strr   r   r   )r   dflt	__class__r   r   r      s   zSalesforceAccount.to_str)__name__
__module____qualname__r   r   r   __classcell__r   r   r   r   r      s    r   c                       sL   e Zd ZdZdZdZeZdd Z fddZ	dd	 Z
d
d Zdd Z  ZS )SalesforceProvider
salesforce
Salesforcez*allauth.socialaccount.providers.salesforcec                 C   s   ddgS )Nidopenidr   r   r   r   r   get_default_scope   s   z$SalesforceProvider.get_default_scopec                    s(   t t| ||}|tjkrd|d< |S )Nforceapproval_prompt)r   r    get_auth_paramsr   REAUTHENTICATE)r   requestactionretr   r   r   r(      s   
z"SalesforceProvider.get_auth_paramsc                 C   s   t |d S )Nuser_id)strr   datar   r   r   extract_uid"   s   zSalesforceProvider.extract_uidc                 C   s(   t |d|d|d|ddS )Nemailfamily_name
given_namepreferred_username)r2   	last_name
first_nameusername)dictr   r/   r   r   r   extract_common_fields%   s   z(SalesforceProvider.extract_common_fieldsc                 C   s    t |dd|dd}|gS )Nr2   Temail_verified)r2   primaryverified)r   r   )r   r0   r2   r   r   r   extract_email_addresses-   s   z*SalesforceProvider.extract_email_addresses)r   r   r   r#   r   packager   account_classr%   r(   r1   r:   r>   r   r   r   r   r   r       s    r    N)allauth.account.modelsr   allauth.socialaccountr   $allauth.socialaccount.providers.baser   r   /allauth.socialaccount.providers.oauth2.providerr   r   r    registryregisterr   r   r   r   <module>   s    $