o
    “h7	  ã                   @   s„   d dl mZmZ d dlmZ d dlmZ d dlmZm	Z	 d dl
mZ d dlmZ d dlmZ d dlmZ G d	d
„ d
eƒZdd„ ZdS )é    )ÚAnyÚDict)ÚField)ÚEmailAddress)Úuser_displayÚuser_username)ÚBaseAdapter)Údefault_get_frontend_url)Úapp_settings)Úimport_attributec                
   @   sL   e Zd ZdZdddddejd dd	d
dœ	Zdeee	f fdd„Z
dd„ ZdS )ÚDefaultHeadlessAdapteraB  The adapter class allows you to override various functionality of the
    ``allauth.headless`` app.  To do so, point ``settings.HEADLESS_ADAPTER`` to your own
    class that derives from ``DefaultHeadlessAdapter`` and override the behavior by
    altering the implementation of the methods according to your own need.
    zUnknown account.z`client_id` required.zInvalid token.z/Provider does not support token authentication.z*`id_token` and/or `access_token` required.ÚrequiredzUnknown email address.zUnknown provider.zInvalid URL.)	Úaccount_not_foundÚclient_id_requiredÚinvalid_tokenÚ"token_authentication_not_supportedÚtoken_requiredr   Úunknown_emailÚunknown_providerÚinvalid_urlÚreturnc                 C   sR   t |ƒ| ¡ dœ}|jr|j|d< tj |¡}|r||d< t|ƒ}|r'||d< |S )z°
        Returns the basic user data. Note that this data is also exposed in
        partly authenticated scenario's (e.g. password reset, email
        verification).
        )ÚdisplayÚhas_usable_passwordÚidÚemailÚusername)r   r   Úpkr   ÚobjectsÚget_primary_emailr   )ÚselfÚuserÚretr   r   © r"   úS/var/www/html/env_mimamsha/lib/python3.10/site-packages/allauth/headless/adapter.pyÚserialize_user"   s   þ
z%DefaultHeadlessAdapter.serialize_userc                 K   s   t | j|fi |¤ŽS )z/Return the frontend URL for the given URL name.)r	   Úrequest)r   ÚurlnameÚkwargsr"   r"   r#   Úget_frontend_url6   s   z'DefaultHeadlessAdapter.get_frontend_urlN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Údefault_error_messagesÚerror_messagesr   Ústrr   r$   r(   r"   r"   r"   r#   r      s    	õr   c                   C   s   t tjƒƒ S )N)r   r
   ÚADAPTERr"   r"   r"   r#   Úget_adapter;   s   r1   N)Útypingr   r   Údjango.forms.fieldsr   Úallauth.account.modelsr   Úallauth.account.utilsr   r   Úallauth.core.internal.adapterr   Úallauth.core.internal.httpkitr	   Úallauth.headlessr
   Úallauth.utilsr   r   r1   r"   r"   r"   r#   Ú<module>   s    .