a
    Qx_                     @   sN   d dl 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 )	    )unicode_literals)ProviderAccount)OAuth2Providerc                       s   e Zd Z fddZ  ZS )MicrosoftGraphAccountc                    s0   | j jd}|r"| dkr"|S tt|  S )NZdisplayName )Zaccount
extra_datagetstripsuperr   to_str)selfname	__class__ j/var/www/html/Ranjet/env/lib/python3.9/site-packages/allauth/socialaccount/providers/microsoft/provider.pyr      s    zMicrosoftGraphAccount.to_str)__name__
__module____qualname__r   __classcell__r   r   r   r   r      s   r   c                   @   s4   e Zd ZedZdZeZdd Zdd Z	dd Z
d	S )
MicrosoftGraphProvider	microsoftzMicrosoft Graphc                 C   s   dgS )z
        Doc on scopes available at
        https://developer.microsoft.com/en-us/graph/docs/concepts/permissions_reference
        z	User.Readr   )r   r   r   r   get_default_scope   s    z(MicrosoftGraphProvider.get_default_scopec                 C   s   t |d S )Nid)str)r   datar   r   r   extract_uid   s    z"MicrosoftGraphProvider.extract_uidc                 C   s.   | dp| d}t|| d| ddS )NZmailZuserPrincipalNameZsurnameZ	givenName)email	last_nameZ
first_name)r   dict)r   r   r   r   r   r   extract_common_fields   s    z,MicrosoftGraphProvider.extract_common_fieldsN)r   r   r   r   r   r   r   Zaccount_classr   r   r    r   r   r   r   r      s   r   N)	
__future__r   Z$allauth.socialaccount.providers.baser   Z/allauth.socialaccount.providers.oauth2.providerr   r   r   Zprovider_classesr   r   r   r   <module>   s
   