o
    Q?hF                     @   sx   d dl Z d dlZd dl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 dd Zd	d
 Zdd Zdd ZdS )    N)OAuth2SessionClient)getAppCredentials)	API_Error)getSquareMerchantsc                 C   sX   |  d}| d}td| }| d}t|g dd}|d}t|d |d	 d
S )G
    Generates the URL to redirect the user to for authentication.
    currentUserenterpriseId4apiKey)ORDERS_READORDERS_WRITEMERCHANT_PROFILE_READ
ITEMS_READITEMS_WRITECUSTOMERS_READCUSTOMERS_WRITEPAYMENTS_READ)	client_idscopez-https://connect.squareup.com/oauth2/authorizer      )urlstate)getr   r   authorization_urldict)datar	   r
   appclientIdoauthres r"   J/var/www/html/riverr-enterprise-integrations-main/functions/Square/Auth.pysquareAuthUrl   s   



r$   c              	   C   s   |  d}| d}td| }| d}| d}tjdt|||  ddd	d
dd| d dd}|jdkrI| |  t| }|S t	|  d|j| )r   r	   r
   r   r   	apiSecretz)https://connect.squareup.com/oauth2/tokencodeauthorization_code)r   client_secretr&   
grant_typezapplication/jsonz
2024-04-17zBearer accessToken)zContent-TypezSquare-VersionAuthorization)r   headers   message)
r   r   requestspostjsondumpsstatus_codeupdater   r   )r   r	   r
   r   r   clientSecretr!   	merchantsr"   r"   r#   squareAuthToken>   s*   





r7   c                 C   s   t | d}|S )N)access_tokenr   )r8   clientr"   r"   r#   	getClientZ   s   
r:   c                 C   s(   | j  }| r|jdS t|j)N	locations)r;   list_locations
is_successbodyr   r   errors)r9   resultr"   r"   r#   getLocations^   s   

rA   )r1   osr/   requests_oauthlibr   square.clientr   functions.Applicationsr   functions.Responser   functions.Square.Shopsr   r$   r7   r:   rA   r"   r"   r"   r#   <module>   s    1