
    f1                     |    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  G d d	e      Zd
 Zy)    )AnyDict)Field)EmailAddress)user_displayuser_username)BaseAdapter)app_settings)import_attributec            
       X    e Zd ZdZddddddej
                  d   d	d
d	Zdeee	f   fdZ
y)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-Pass only one of email or username, not both.zInvalid token.z/Provider does not support token authentication.z*`id_token` and/or `access_token` required.requiredzUnknown email address.zInvalid URL.)	account_not_foundclient_id_requiredemail_or_usernameinvalid_token"token_authentication_not_supportedtoken_requiredr   unknown_emailinvalid_urlreturnc                     |j                   t        |      |j                         d}t        j                  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).
        )iddisplayhas_usable_passwordemailusername)pkr   r   r   objectsget_primary_emailr   )selfuserretr   r   s        S/var/www/cs2snipe.com/venv/lib/python3.12/site-packages/allauth/headless/adapter.pyserialize_userz%DefaultHeadlessAdapter.serialize_user!   se     ''#D)#'#;#;#=

 $$66t< CL &&C
O
    N)__name__
__module____qualname____doc__r   default_error_messageserror_messagesr   strr   r%    r&   r$   r   r      sJ     05L)._F00<1%Nd38n r&   r   c                  >     t        t        j                               S )N)r   r
   ADAPTERr.   r&   r$   get_adapterr1   5   s    1L00133r&   N)typingr   r   django.forms.fieldsr   allauth.account.modelsr   allauth.account.utilsr   r   allauth.core.internal.adapterr	   allauth.headlessr
   allauth.utilsr   r   r1   r.   r&   r$   <module>r9      s,     % / = 5 ) *&[ &R4r&   