a
    Šxd  ã                   @   sR   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„ dƒZd	S )
é    )Úmodels)ÚEmptyManager)Úcached_propertyé   )ÚCallableFalseÚCallableTrue)Úapi_settingsc                   @   s  e Zd ZdZdZeejƒZeej	ƒZ
dd„ Zdd„ Zedd„ ƒZed	d
„ ƒZedd„ ƒZedd„ ƒZedd„ ƒZdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zedd „ ƒZed!d"„ ƒZd4d$d%„Zd5d&d'„Zd6d(d)„Zd7d*d+„Z d,d-„ Z!ed.d/„ ƒZ"ed0d1„ ƒZ#d2d3„ Z$d#S )8Ú	TokenUseraÊ  
    A dummy user class modeled after django.contrib.auth.models.AnonymousUser.
    Used in conjunction with the `JWTTokenUserAuthentication` backend to
    implement single sign-on functionality across services which share the same
    secret key.  `JWTTokenUserAuthentication` 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                 C   s
   || _ d S ©N)Útoken)Úselfr   © r   úW/var/www/html/Ranjet/env/lib/python3.9/site-packages/rest_framework_simplejwt/models.pyÚ__init__   s    zTokenUser.__init__c                 C   s   d  | j¡S )NzTokenUser {})ÚformatÚid©r   r   r   r   Ú__str__   s    zTokenUser.__str__c                 C   s   | j tj S r
   )r   r   ZUSER_ID_CLAIMr   r   r   r   r      s    zTokenUser.idc                 C   s   | j S r
   ©r   r   r   r   r   Úpk#   s    zTokenUser.pkc                 C   s   | j  dd¡S )NÚusernameÚ ©r   Úgetr   r   r   r   r   '   s    zTokenUser.usernamec                 C   s   | j  dd¡S )NÚis_staffFr   r   r   r   r   r   +   s    zTokenUser.is_staffc                 C   s   | j  dd¡S )NÚis_superuserFr   r   r   r   r   r   /   s    zTokenUser.is_superuserc                 C   s   | j |j kS r
   r   ©r   Úotherr   r   r   Ú__eq__3   s    zTokenUser.__eq__c                 C   s   |   |¡ S r
   )r   r   r   r   r   Ú__ne__6   s    zTokenUser.__ne__c                 C   s
   t | jƒS r
   )Úhashr   r   r   r   r   Ú__hash__9   s    zTokenUser.__hash__c                 C   s   t dƒ‚d S ©Nz%Token users have no DB representation©ÚNotImplementedErrorr   r   r   r   Úsave<   s    zTokenUser.savec                 C   s   t dƒ‚d S r"   r#   r   r   r   r   Údelete?   s    zTokenUser.deletec                 C   s   t dƒ‚d S r"   r#   ©r   Zraw_passwordr   r   r   Úset_passwordB   s    zTokenUser.set_passwordc                 C   s   t dƒ‚d S r"   r#   r'   r   r   r   Úcheck_passwordE   s    zTokenUser.check_passwordc                 C   s   | j S r
   )Ú_groupsr   r   r   r   ÚgroupsH   s    zTokenUser.groupsc                 C   s   | j S r
   )Ú_user_permissionsr   r   r   r   Úuser_permissionsL   s    zTokenUser.user_permissionsNc                 C   s   t ƒ S r
   ©Úset©r   Úobjr   r   r   Úget_group_permissionsP   s    zTokenUser.get_group_permissionsc                 C   s   t ƒ S r
   r.   r0   r   r   r   Úget_all_permissionsS   s    zTokenUser.get_all_permissionsc                 C   s   dS ©NFr   )r   Úpermr1   r   r   r   Úhas_permV   s    zTokenUser.has_permc                 C   s   dS r4   r   )r   Z	perm_listr1   r   r   r   Ú	has_permsY   s    zTokenUser.has_permsc                 C   s   dS r4   r   )r   Úmoduler   r   r   Úhas_module_perms\   s    zTokenUser.has_module_permsc                 C   s   t S r
   )r   r   r   r   r   Úis_anonymous_   s    zTokenUser.is_anonymousc                 C   s   t S r
   )r   r   r   r   r   Úis_authenticatedc   s    zTokenUser.is_authenticatedc                 C   s   | j S r
   )r   r   r   r   r   Úget_usernameg   s    zTokenUser.get_username)N)N)N)N)%Ú__name__Ú
__module__Ú__qualname__Ú__doc__Z	is_activer   Úauth_modelsÚGroupr*   Z
Permissionr,   r   r   r   r   r   r   r   r   r   r   r!   r%   r&   r(   r)   Úpropertyr+   r-   r2   r3   r6   r7   r9   r:   r;   r<   r   r   r   r   r	   	   sJ   















r	   N)Zdjango.contrib.authr   rA   Zdjango.db.models.managerr   Zdjango.utils.functionalr   Úcompatr   r   Úsettingsr   r	   r   r   r   r   Ú<module>   s
   