
    f2                     Z    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	m
Z
  G d de	      Zy)	    )HTTPBasicAuth)	parse_qsl)	urlencode)get_adapter)OAuth2ClientOAuth2Errorc                       e Zd Zd ZddZy)NotionOAuth2Clientc                     | j                   j                  t        |            }| j                  |ddd}| j                  r| j                  |d<   |dt        |      S )Ncodeuser)	client_idscoperesponse_typeownerstate?)scope_delimiterjoinsetconsumer_keyr   r   )selfauthorization_urlr   extra_paramsparamss        h/var/www/cs2snipe.com/venv/lib/python3.12/site-packages/allauth/socialaccount/providers/notion/client.pyget_redirect_urlz#NotionOAuth2Client.get_redirect_url   s[    $$))#e*5**#	
 ::"jjF7O+Yv->??    Nc                    t               j                         j                  | j                  | j                  t        | j                  | j                        |dd| j                        }d }|j                  dv r	 |j                         }|rd|vrt        d|j                   z        |S # t        $ r! t        t        |j                              }Y Iw xY w)Nauthorization_code)r   
grant_type)authjsonheaders)      access_tokenz!Error retrieving access token: %s)r   get_requests_sessionrequestaccess_token_methodaccess_token_urlr   r   consumer_secretr$   status_coder#   
ValueErrordictr   textr   content)r   r   pkce_code_verifierrespr'   s        r   get_access_tokenz#NotionOAuth2Client.get_access_token   s    M!!#W((%%"4#4#4d6J6JK"2FG   	 z):#yy{ ~\AADLLPQQ	  :#Idii$89:s   =B- -'CC)N)__name__
__module____qualname__r   r4    r   r   r
   r
      s    
@r   r
   N)requests.authr   urllib.parser   django.utils.httpr   allauth.socialaccount.adapterr   -allauth.socialaccount.providers.oauth2.clientr   r   r
   r8   r   r   <module>r>      s"    ' " ' 5! !r   