
    )JfV                     h    d dl 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dS )	    EmailAddress)ProviderAccount)OAuth2Providerc                   2    e Zd Zd Zd Zd Zd Zd Zd ZdS )NotionAccountc                 2    | j         j        d         d         S )Nowneruseraccount
extra_dataselfs    r/home/alex/cs2snipeproduction/venv/lib/python3.11/site-packages/allauth/socialaccount/providers/notion/provider.pyget_userzNotionAccount.get_user   s    |&w/77    c                 6    |                                  d         S )Nnamer   r   s    r   get_namezNotionAccount.get_name
   s    }}v&&r   c                 6    |                                  d         S )N
avatar_urlr   r   s    r   get_avatar_urlzNotionAccount.get_avatar_url   s    }}|,,r   c                 &    | j         j        d         S )Nworkspace_namer   r   s    r   get_workspace_namez NotionAccount.get_workspace_name       |&'788r   c                 &    | j         j        d         S )Nworkspace_iconr   r   s    r   get_workspace_iconz NotionAccount.get_workspace_icon   r   r   c                 b    |                                  }|                                 }| d| dS )Nz ())r   r   )r   r   	workspaces      r   to_strzNotionAccount.to_str   s7    }}++--	&&)&&&&r   N)	__name__
__module____qualname__r   r   r   r   r!   r%    r   r   r   r      sn        8 8 8' ' '- - -9 9 99 9 9' ' ' ' 'r   r   c                   ,    e Zd ZdZdZeZd Zd Zd Z	dS )NotionProvidernotionNotionc                 J    |d         d         d         }|d         }d|d|S )z
        The unique identifier for Notion is a combination of the User ID
        and the Workspace ID they have authorized the application with.
        r
   r   idworkspace_idzuser-z_workspace-r)   )r   datauser_idr0   s       r   extract_uidzNotionProvider.extract_uid!   s4    
 w-'-N+)0,,??r   c                 D    |d         d         }|d         d         |d<   |S )Nr
   r   personemailr)   )r   r1   r   s      r   extract_common_fieldsz$NotionProvider.extract_common_fields*   s'    G}V$Xw/Wr   c                 `    |d         d         }|d         d         }t          |dd          gS )Nr
   r   r5   r6   T)r6   verifiedprimaryr   )r   r1   r   r6   s       r   extract_email_addressesz&NotionProvider.extract_email_addresses/   s6    G}V$Xw'54FFFGGr   N)
r&   r'   r(   r/   r   r   account_classr3   r7   r;   r)   r   r   r+   r+      sX        	BD!M@ @ @  
H H H H Hr   r+   N)	allauth.account.modelsr   $allauth.socialaccount.providers.baser   /allauth.socialaccount.providers.oauth2.providerr   r   r+   provider_classesr)   r   r   <module>rA      s    / / / / / / @ @ @ @ @ @ J J J J J J' ' ' ' 'O ' ' ',H H H H H^ H H H2 ##   r   