
    !h                     X    d dl mZ d dlmZ d dlmZ ddlmZm	Z	 ddl
mZ  G d d      Zy	)
    )models)EmptyManager)cached_property   )CallableFalseCallableTrue)api_settingsc                   T   e Zd ZdZdZ eej                        Z eej                        Z
d Zd Zed        Zed        Zed        Zed        Zed	        Zd
 Zd Zd Zd Zd Zd Zd Zed        Zed        ZddZddZddZddZ d Z!ed        Z"ed        Z#d Z$d Z%y)	TokenUsera  
    A dummy user class modeled after django.contrib.auth.models.AnonymousUser.
    Used in conjunction with the `JWTStatelessUserAuthentication` backend to
    implement single sign-on functionality across services which share the same
    secret key.  `JWTStatelessUserAuthentication` will return an instance of this
    class instead of a `User` model instance.  Instances of this class act as
    stateless user objects which are backed by validated tokens.
    Tc                     || _         y N)token)selfr   s     _/var/www/html/Ryun_Seer/newvenv/lib/python3.12/site-packages/rest_framework_simplejwt/models.py__init__zTokenUser.__init__   s	    
    c                      d| j                    S )Nz
TokenUser idr   s    r   __str__zTokenUser.__str__   s    DGG9%%r   c                 <    | j                   t        j                     S r   )r   r	   USER_ID_CLAIMr   s    r   r   zTokenUser.id    s    zz,4455r   c                     | j                   S r   r   r   s    r   pkzTokenUser.pk$   s    wwr   c                 :    | j                   j                  dd      S )Nusername r   getr   s    r   r   zTokenUser.username(   s    zz~~j"--r   c                 :    | j                   j                  dd      S )Nis_staffFr   r   s    r   r"   zTokenUser.is_staff,   s    zz~~j%00r   c                 :    | j                   j                  dd      S )Nis_superuserFr   r   s    r   r$   zTokenUser.is_superuser0   s    zz~~ne44r   c                 4    | j                   |j                   k(  S r   r   r   others     r   __eq__zTokenUser.__eq__4   s    ww%((""r   c                 &    | j                  |       S r   )r(   r&   s     r   __ne__zTokenUser.__ne__7   s    ;;u%%%r   c                 ,    t        | j                        S r   )hashr   r   s    r   __hash__zTokenUser.__hash__:   s    DGG}r   c                     t        d      Nz%Token users have no DB representationNotImplementedErrorr   s    r   savezTokenUser.save=       !"IJJr   c                     t        d      r/   r0   r   s    r   deletezTokenUser.delete@   r3   r   c                     t        d      r/   r0   r   raw_passwords     r   set_passwordzTokenUser.set_passwordC   r3   r   c                     t        d      r/   r0   r7   s     r   check_passwordzTokenUser.check_passwordF   r3   r   c                     | j                   S r   )_groupsr   s    r   groupszTokenUser.groupsI   s    ||r   c                     | j                   S r   )_user_permissionsr   s    r   user_permissionszTokenUser.user_permissionsM   s    %%%r   Nc                     t               S r   setr   objs     r   get_group_permissionszTokenUser.get_group_permissionsQ   	    ur   c                     t               S r   rC   rE   s     r   get_all_permissionszTokenUser.get_all_permissionsT   rH   r   c                      yNF )r   permrF   s      r   has_permzTokenUser.has_permW       r   c                      yrL   rM   )r   	perm_listrF   s      r   	has_permszTokenUser.has_permsZ   rP   r   c                      yrL   rM   )r   modules     r   has_module_permszTokenUser.has_module_perms]   rP   r   c                     t         S r   )r   r   s    r   is_anonymouszTokenUser.is_anonymous`   s    r   c                     t         S r   )r   r   s    r   is_authenticatedzTokenUser.is_authenticatedd   s    r   c                     | j                   S r   )r   r   s    r   get_usernamezTokenUser.get_usernameh   s    }}r   c                 :    | j                   j                  |d      S )zVThis acts as a backup attribute getter for custom claims defined in Token serializers.Nr   )r   attrs     r   __getattr__zTokenUser.__getattr__k   s    zz~~dD))r   r   )&__name__
__module____qualname____doc__	is_activer   auth_modelsGroupr=   
Permissionr@   r   r   r   r   r   r   r"   r$   r(   r*   r-   r2   r5   r9   r;   propertyr>   rA   rG   rJ   rO   rS   rV   rX   rZ   r\   r_   rM   r   r   r   r   	   s7    I;,,-G$[%;%;<& 6 6   . . 1 1 5 5#&KKKK   & &    *r   r   N)django.contrib.authr   re   django.db.models.managerr   django.utils.functionalr   compatr   r   settingsr	   r   rM   r   r   <module>rn      s     5 1 3 / "d* d*r   