o
    h                     @   s^   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 deZ	G dd deZ
e
gZd	S )
    )app_settings)ProviderAccountProviderException)OAuth2Provider)QuickBooksOAuth2Adapterc                   @   s   e Zd ZdS )QuickBooksAccountN)__name__
__module____qualname__ r   r   j/var/www/html/pos/venv/lib/python3.10/site-packages/allauth/socialaccount/providers/quickbooks/provider.pyr      s    r   c                   @   s<   e Zd ZdZdZeZeZdd Z	dd Z
dd Zd	d
 ZdS )QuickBooksOAuth2Provider
quickbooks
QuickBooksc                 C   s   d|vr	t d|t|d S )Nsubz	QBO error)r   strselfdatar   r   r   extract_uid   s   
z$QuickBooksOAuth2Provider.extract_uidc                 C   s   g d}|   d|}|S )N)addressr   phoneNumber	givenName
familyNameemailemailVerifiedPROFILE_FIELDS)get_settingsget)r   default_fieldsfieldsr   r   r   get_profile_fields   s   	z+QuickBooksOAuth2Provider.get_profile_fieldsc                 C   s   g d}t jr|d |S )N)openidz com.intuit.quickbooks.accountingprofilephoner   )r   QUERY_EMAILappend)r   scoper   r   r   get_default_scope$   s   
z*QuickBooksOAuth2Provider.get_default_scopec              
   C   s@   t |d|d|d|d|d|d|ddS )	Nr   r   r   r   r   r   r   )r   r   r   r   familynNamer   r   )dictr   r   r   r   r   extract_common_fields/   s   z.QuickBooksOAuth2Provider.extract_common_fieldsN)r   r	   r
   idnamer   account_classr   oauth2_adapter_classr   r!   r(   r+   r   r   r   r   r      s    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   r   <module>   s    
0