o
    ˷eY                     @   sP   d dl 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 )    N)OAuth2AdapterOAuth2CallbackViewOAuth2LoginView   )QuickBooksOAuth2Providerc                   @   s:   e Zd ZejZdZdZdZdZ	dZ
dZdd Zd	d
 ZdS )QuickBooksOAuth2Adapterz9https://oauth.platform.intuit.com/oauth2/v1/tokens/bearerz+https://appcenter.intuit.com/connect/oauth2zGhttps://sandbox-accounts.platform.intuit.com/v1/openid_connect/userinfoz?https://accounts.platform.intuit.com/v1/openid_connect/userinfoGETPOSTc                 K   s2   |j d}| |}|r||d< |  ||S )NrealmId)r   getget_user_infoget_providersociallogin_from_response)selfrequestapptokenkwargsrealm_id
extra_data r   g/var/www/ideatree/venv/lib/python3.10/site-packages/allauth/socialaccount/providers/quickbooks/views.pycomplete_login   s
   
z&QuickBooksOAuth2Adapter.complete_loginc                 C   sX   d|j  }d|dd}|   dd}|r| jn| j}tj||d}|  | S )NzBearer zapplication/json)AcceptAuthorizationacceptSANDBOXF)headers)	r   r   get_settingsr   profile_testprofile_urlrequestsraise_for_statusjson)r   r   auth_headerr   
is_sandboxurlrespr   r   r   r      s   
z%QuickBooksOAuth2Adapter.get_user_infoN)__name__
__module____qualname__r   idprovider_idaccess_token_urlauthorize_urlr   r    profile_url_methodaccess_token_methodr   r   r   r   r   r   r      s    r   )r!   ,allauth.socialaccount.providers.oauth2.viewsr   r   r   providerr   r   adapter_viewoauth2_loginoauth2_callbackr   r   r   r   <module>   s    
