o
    h                     @   sp   d dl mZ d dlmZ d dlmZmZ d dl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)OAuth2Provider)SalesforceOAuth2Adapterc                   @   s   e Zd Zdd Zdd ZdS )SalesforceAccountc                 C      | j jdS )Nlinkaccount
extra_datagetself r   j/var/www/html/pos/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_urlN)__name__
__module____qualname__r   r   r   r   r   r   r      s    r   c                       sP   e Zd ZdZdZdZe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jkrd|d< |S )Nforceapproval_prompt)superget_auth_params_from_requestr   REAUTHENTICATE)r   requestactionret	__class__r   r   r#      s   
z/SalesforceProvider.get_auth_params_from_requestc                 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)r/   	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 )Nr/   Temail_verified)r/   primaryverified)r   r   )r   r-   r/   r   r   r   extract_email_addresses+   s   z*SalesforceProvider.extract_email_addresses)r   r   r   r   namepackager   account_classr   oauth2_adapter_classr   r#   r.   r7   r;   __classcell__r   r   r(   r   r      s    r   N)allauth.account.modelsr   allauth.socialaccountr   $allauth.socialaccount.providers.baser   r   /allauth.socialaccount.providers.oauth2.providerr   0allauth.socialaccount.providers.salesforce.viewsr   r   r   registryregisterr   r   r   r   <module>   s    %