o
    ëË·eW  ã                   @   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 )	é    )ÚEmailAddress)ÚProviderAccount)ÚOAuth2Providerc                       s0   e Zd Zedd„ ƒZdd„ Z‡ fdd„Z‡  ZS )ÚKakaoAccountc                 C   s   | j j d¡S )NÚ
properties)ÚaccountÚ
extra_dataÚget©Úself© r   úe/var/www/ideatree/venv/lib/python3.10/site-packages/allauth/socialaccount/providers/kakao/provider.pyr      s   zKakaoAccount.propertiesc                 C   s   | j  d¡S )NÚprofile_image)r   r	   r
   r   r   r   Úget_avatar_url   ó   zKakaoAccount.get_avatar_urlc                    s   t t| ƒ ¡ }| j d|¡S )NÚnickname)Úsuperr   Úto_strr   r	   )r   Údflt©Ú	__class__r   r   r      s   zKakaoAccount.to_str)Ú__name__Ú
__module__Ú__qualname__Úpropertyr   r   r   Ú__classcell__r   r   r   r   r      s
    
r   c                   @   s0   e Zd ZdZdZeZdd„ Zdd„ Zdd„ Z	d	S )
ÚKakaoProviderÚkakaoÚKakaoc                 C   s   t |d ƒS )NÚid)Ústr)r   Údatar   r   r   Úextract_uid   r   zKakaoProvider.extract_uidc                 C   s0   |  di ¡  d¡}|  di ¡  d¡}t||dS )NÚkakao_accountÚemailr   r   )r$   Úusername)r	   Údict)r   r!   r$   r   r   r   r   Úextract_common_fields   s   z#KakaoProvider.extract_common_fieldsc                 C   s@   g }|  di ¡}|  d¡}|r|  d¡}| t||dd¡ |S )Nr#   r$   Úis_email_verifiedT)r$   ÚverifiedÚprimary)r	   Úappendr   )r   r!   Úretr$   r)   r   r   r   Úextract_email_addresses!   s   

z%KakaoProvider.extract_email_addressesN)
r   r   r   r   Únamer   Úaccount_classr"   r'   r-   r   r   r   r   r      s    r   N)	Úallauth.account.modelsr   Ú$allauth.socialaccount.providers.baser   Ú/allauth.socialaccount.providers.oauth2.providerr   r   r   Úprovider_classesr   r   r   r   Ú<module>   s    
