o
    hh                     @   sT   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)OAuth2AdapterOAuth2CallbackViewOAuth2LoginViewc                   @   s\   e Zd ZdZdd Zdd Zedd Zedd	 Zed
d Z	edd Z
dZdd ZdS )TrainingPeaksOAuth2Adaptertrainingpeaksc                 C   s   t j| ji S )zProvider settings)r   	PROVIDERSgetprovider_idself r   j/var/www/html/pos/venv/lib/python3.10/site-packages/allauth/socialaccount/providers/trainingpeaks/views.pyget_settings      z'TrainingPeaksOAuth2Adapter.get_settingsc                 C   s   |   }|drdS dS )z,Return hostname depending on sandbox settingUSE_PRODUCTIONztrainingpeaks.comzsandbox.trainingpeaks.com)r   r
   )r   settingsr   r   r   get_hostname   s   
z'TrainingPeaksOAuth2Adapter.get_hostnamec                 C      d|    d S )Nhttps://oauth.z/oauth/tokenr   r   r   r   r   access_token_url   r   z+TrainingPeaksOAuth2Adapter.access_token_urlc                 C   r   )Nr   z/OAuth/Authorizer   r   r   r   r   authorize_url   r   z(TrainingPeaksOAuth2Adapter.authorize_urlc                 C   r   )Nhttps://api.z/v1/athlete/profiler   r   r   r   r   profile_url!   r   z&TrainingPeaksOAuth2Adapter.profile_urlc                 C   s   d|    S )zReturn https://api.hostname.tldr   r   r   r   r   r   api_hostname%   s   z'TrainingPeaksOAuth2Adapter.api_hostname c                 K   sF   dd |ji}t  j| j|d}|  | }|  	||S )NAuthorizationz
Bearer {0})headers)
formattokenr   get_requests_sessionr
   r   raise_for_statusjsonget_providersociallogin_from_response)r   requestappr!   kwargsr   response
extra_datar   r   r   complete_login.   s   z)TrainingPeaksOAuth2Adapter.complete_loginN)__name__
__module____qualname__r   r   r   propertyr   r   r   r   scope_delimiterr,   r   r   r   r   r   
   s    



r   N)allauth.socialaccountr   allauth.socialaccount.adapterr   ,allauth.socialaccount.providers.oauth2.viewsr   r   r   r   adapter_viewoauth2_loginoauth2_callbackr   r   r   r   <module>   s    
.