o
    h                     @   s`   d dl mZ d dlmZ d dlmZmZmZ d dlm	Z	 G dd deZ
ee
Zee
ZdS )    )app_settings)get_adapter)OAuth2AdapterOAuth2CallbackViewOAuth2LoginView)get_request_paramc                   @   sX   e Zd ZdZejei ZeddZd	eZ
d	eZd	eZdd Zd	d
 ZdS )MailcowAdaptermailcowSERVERzhttps://hosted.mailcow.dez{0}/oauth/tokenz{0}/oauth/authorizez{0}/oauth/profilec                 K   s(   t |d}| |j|}|  ||S )Ncode)r   get_user_infotokenget_providersociallogin_from_response)selfrequestappr   kwargsr   
extra_data r   d/var/www/html/pos/venv/lib/python3.10/site-packages/allauth/socialaccount/providers/mailcow/views.pycomplete_login   s   
zMailcowAdapter.complete_loginc                 C   s,   t   j| j||dd}|  | S )N)access_tokenr   )params)r   get_requests_sessiongetprofile_urlraise_for_statusjson)r   r   r   respr   r   r   r      s   zMailcowAdapter.get_user_infoN)__name__
__module____qualname__provider_idr   	PROVIDERSr   settingsserverformataccess_token_urlauthorize_urlr   r   r   r   r   r   r   r      s    


r   N)allauth.socialaccountr   allauth.socialaccount.adapterr   ,allauth.socialaccount.providers.oauth2.viewsr   r   r   allauth.utilsr   r   adapter_viewoauth2_loginoauth2_callbackr   r   r   r   <module>   s    
