o
    h                     @   s`   d dl mZ d dlmZ d dlmZ d dlmZmZm	Z	 G dd deZ
e	e
Zee
ZdS )    )app_settings)get_adapter)QUERY_EMAIL)OAuth2AdapterOAuth2CallbackViewOAuth2LoginViewc                   @   sZ   e Zd ZdZejei ZeddZe dZ	e dZ
e dZe dZdd	 Zd
S )LichessOAuth2AdapterlichessAPI_URLzhttps://lichess.orgz
/api/tokenz/oauthz/api/accountz/api/account/emailc           
      C   s   t   j| jd|jidd|j id}|  | }d|v r%|d n|}trNt   j| jdd|j id}|  | }|dd }	|	rN|	|d< | 	 
||S )Naccess_tokenAuthorizationzBearer )paramsheadersresult)r   email)r   get_requests_sessiongetprofile_urltokenraise_for_statusjsonr   email_address_urlget_providersociallogin_from_response)
selfrequestappr   responseprofile_res
extra_datauser_profile
email_datar    r"   d/var/www/html/pos/venv/lib/python3.10/site-packages/allauth/socialaccount/providers/lichess/views.pycomplete_login   s2   
	z#LichessOAuth2Adapter.complete_loginN)__name__
__module____qualname__provider_idr   	PROVIDERSr   settingsprovider_base_urlaccess_token_urlauthorize_urlr   r   r$   r"   r"   r"   r#   r      s    



r   N)allauth.socialaccountr   allauth.socialaccount.adapterr   "allauth.socialaccount.app_settingsr   ,allauth.socialaccount.providers.oauth2.viewsr   r   r   r   adapter_viewoauth2_loginoauth2_callbackr"   r"   r"   r#   <module>   s    
4