
    f                     j    d dl mZ d dlmZmZ d dlmZ d dlmZ  G d de      Z	 G d de      Z
e
gZy	)
    )app_settings)ProviderAccountProviderException)OAuth2Provider)QuickBooksOAuth2Adapterc                       e Zd Zy)QuickBooksAccountN)__name__
__module____qualname__     n/var/www/cs2snipe.com/venv/lib/python3.12/site-packages/allauth/socialaccount/providers/quickbooks/provider.pyr	   r	      s    r   r	   c                   4    e Zd ZdZdZeZeZd Z	d Z
d Zd Zy)QuickBooksOAuth2Provider
quickbooks
QuickBooksc                 >    d|vrt        d|      t        |d         S )Nsubz	QBO error)r   strselfdatas     r   extract_uidz$QuickBooksOAuth2Provider.extract_uid   s&    #K664;r   c                 N    g d}| j                         j                  d|      }|S )N)addressr   phoneNumber	givenName
familyNameemailemailVerifiedPROFILE_FIELDS)get_settingsget)r   default_fieldsfieldss      r   get_profile_fieldsz+QuickBooksOAuth2Provider.get_profile_fields   s,    
 ""$(()9>Jr   c                 P    g d}t         j                  r|j                  d       |S )N)openidz com.intuit.quickbooks.accountingprofilephoner    )r   QUERY_EMAILappend)r   scopes     r   get_default_scopez*QuickBooksOAuth2Provider.get_default_scope)   s%    
 ##LL!r   c                     t        |j                  d      |j                  d      |j                  d      |j                  d      |j                  d      |j                  d      |j                  d            S )	Nr    r   r   r   r   r!   r   )r    r   r   r   familynNamer!   r   )dictr$   r   s     r   extract_common_fieldsz.QuickBooksOAuth2Provider.extract_common_fields4   sb    ((7#HHY'hh{+.((?3/
 	
r   N)r
   r   r   idnamer	   account_classr   oauth2_adapter_classr   r'   r/   r3   r   r   r   r   r      s+    	BD%M2 
		
r   r   N)allauth.socialaccountr   $allauth.socialaccount.providers.baser   r   /allauth.socialaccount.providers.oauth2.providerr   0allauth.socialaccount.providers.quickbooks.viewsr   r	   r   provider_classesr   r   r   <module>r=      s<    . K
	 	-
~ -
` -- r   