U
    >i=                     @   sf   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	 G dd deZ
G dd	 d	e	ZegZd
S )    )EmailAddress)QUERY_EMAIL)ProviderAccount)LichessOAuth2Adapter)OAuth2Providerc                   @   s   e Zd Zdd Zdd ZdS )LichessAccountc                 C   s   | j jdS )Nurlaccount
extra_datagetself r   T/tmp/pip-unpacked-wheel-upujnpc2/allauth/socialaccount/providers/lichess/provider.pyget_profile_url	   s    zLichessAccount.get_profile_urlc                 C   s   | j jdS )NZavatarr	   r   r   r   r   get_avatar_url   s    zLichessAccount.get_avatar_urlN)__name__
__module____qualname__r   r   r   r   r   r   r      s   r   c                   @   s@   e Zd ZdZdZeZeZdZ	dd Z
dd Zdd	 Zd
d ZdS )LichessProviderZlichessZLichessTc                 C   s   t |d S )Nid)str)r   datar   r   r   extract_uid   s    zLichessProvider.extract_uidc                 C   s@   | di  d}| di  d}t| d| d||dS )NZprofileZ	firstNameZlastNameusernameemail)r   r   
first_name	last_name)r   dict)r   r   r   r   r   r   r   extract_common_fields   s    z%LichessProvider.extract_common_fieldsc                 C   s(   g }| d}|r$|t|dd |S )Nr   T)r   Zprimary)r   appendr   )r   r   retr   r   r   r   extract_email_addresses%   s    
z'LichessProvider.extract_email_addressesc                 C   s   g }t r|d |S )Nz
email:read)r   r!   )r   r"   r   r   r   get_default_scope2   s    
z!LichessProvider.get_default_scopeN)r   r   r   r   namer   Zaccount_classr   Zoauth2_adapter_classZpkce_enabled_defaultr   r    r#   r$   r   r   r   r   r      s   r   N)Zallauth.account.modelsr   Z"allauth.socialaccount.app_settingsr   Z$allauth.socialaccount.providers.baser   Z-allauth.socialaccount.providers.lichess.viewsr   Z/allauth.socialaccount.providers.oauth2.providerr   r   r   Zprovider_classesr   r   r   r   <module>   s   )