
    f=                     r    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e      Z
 G d d	e	      ZegZy
)    )EmailAddress)QUERY_EMAIL)ProviderAccount)LichessOAuth2Adapter)OAuth2Providerc                       e Zd Zd Zd Zy)LichessAccountc                 L    | j                   j                  j                  d      S )Nurlaccount
extra_datagetselfs    k/var/www/cs2snipe.com/venv/lib/python3.12/site-packages/allauth/socialaccount/providers/lichess/provider.pyget_profile_urlzLichessAccount.get_profile_url	   s    ||&&**511    c                 L    | j                   j                  j                  d      S )Navatarr   r   s    r   get_avatar_urlzLichessAccount.get_avatar_url   s    ||&&**844r   N)__name__
__module____qualname__r   r    r   r   r	   r	      s    25r   r	   c                   8    e Zd ZdZdZeZeZdZ	d Z
d Zd Zd Zy)	LichessProviderlichessLichessTc                     t        |d         S )Nid)str)r   datas     r   extract_uidzLichessProvider.extract_uid   s    4:r   c                     |j                  di       j                  d      }|j                  di       j                  d      }t        |j                  d      |j                  d      ||      S )Nprofile	firstNamelastNameusernameemail)r)   r*   
first_name	last_name)r   dict)r   r#   r+   r,   s       r   extract_common_fieldsz%LichessProvider.extract_common_fields   sc    XXi,00=
HHY+//
;	XXj)((7#!	
 	
r   c                 h    g }|j                  d      }|r|j                  t        |d             |S )Nr*   T)r*   primary)r   appendr   )r   r#   retr*   s       r   extract_email_addressesz'LichessProvider.extract_email_addresses%   s9    !JJ  
r   c                 8    g }t         r|j                  d       |S )Nz
email:read)r   r1   )r   r2   s     r   get_default_scopez!LichessProvider.get_default_scope2   s    JJ|$
r   N)r   r   r   r!   namer	   account_classr   oauth2_adapter_classpkce_enabled_defaultr$   r.   r3   r5   r   r   r   r   r      s1    	BD"M/	
r   r   N)allauth.account.modelsr   "allauth.socialaccount.app_settingsr   $allauth.socialaccount.providers.baser   -allauth.socialaccount.providers.lichess.viewsr   /allauth.socialaccount.providers.oauth2.providerr   r	   r   provider_classesr   r   r   <module>r@      s8    / : @ N J5_ 5&n &R $$ r   