§
    ¥”j¯  ã                   óx   — d dl mZmZmZmZ d dlmZ d dlm	Z	 d dl
mZ ddlmZ erddlmZ  G d„ d	¦  «        Zd
S )é    )ÚTYPE_CHECKINGÚAnyÚOptionalÚUnion)Úmodels)ÚEmptyManager)Úcached_propertyé   )Úapi_settings)ÚTokenc                   óš  — e Zd ZdZdZ eej        ¦  «        Z eej	        ¦  «        Z
d'd„Zdefd„Zedefd	„¦   «         Zedefd
„¦   «         Zedefd„¦   «         Zedefd„¦   «         Zedefd„¦   «         Zdedefd„Zdedefd„Zdefd„Zd(d„Zd(d„Zdeddfd„Zdeddfd„Zedej        fd„¦   «         Zedej	        fd„¦   «         Z d)de!e         de"fd„Z#d)de!e         de"fd„Z$d)dede!e         defd„Z%d)de&e         de!e         defd„Z'd edefd!„Z(edefd"„¦   «         Z)edefd#„¦   «         Z*defd$„Z+d%ede!e,         fd&„Z-dS )*Ú	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.
    TÚtokenr   ÚreturnNc                 ó   — || _         d S ©N)r   )Úselfr   s     ún/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/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   € Ø%˜DœGÐ%Ð%Ð%r   c                 ó0   — | j         t          j                 S r   )r   r   ÚUSER_ID_CLAIMr   s    r   r   zTokenUser.id$   s   € àŒz�,Ô4Ô5Ð5r   c                 ó   — | j         S r   r   r   s    r   ÚpkzTokenUser.pk(   s	   € àŒwˆr   c                 ó8   — | j                              dd¦  «        S )NÚusernameÚ ©r   Úgetr   s    r   r!   zTokenUser.username,   s   € àŒz�~Š~˜j¨"Ñ-Ô-Ð-r   c                 ó8   — | j                              dd¦  «        S )NÚis_staffFr#   r   s    r   r&   zTokenUser.is_staff0   s   € àŒz�~Š~˜j¨%Ñ0Ô0Ð0r   c                 ó8   — | j                              dd¦  «        S )NÚis_superuserFr#   r   s    r   r(   zTokenUser.is_superuser4   s   € àŒz�~Š~˜n¨eÑ4Ô4Ð4r   Úotherc                 óZ   — t          |t          ¦  «        st          S | j        |j        k    S r   )Ú
isinstancer   ÚNotImplementedr   ©r   r)   s     r   Ú__eq__zTokenUser.__eq__8   s)   € Ý˜%¥Ñ+Ô+ð 	"Ý!Ð!ØŒw˜%œ(Ò"Ð"r   c                 ó.   — |                       |¦  «         S r   )r.   r-   s     r   Ú__ne__zTokenUser.__ne__=   s   € Ø—;’;˜uÑ%Ô%Ð%Ð%r   c                 ó*   — t          | j        ¦  «        S r   )Úhashr   r   s    r   Ú__hash__zTokenUser.__hash__@   s   € Ý�D”G‰}Œ}Ðr   c                 ó    — t          d¦  «        ‚©Nz%Token users have no DB representation©ÚNotImplementedErrorr   s    r   ÚsavezTokenUser.saveC   ó   € Ý!Ð"IÑJÔJÐJr   c                 ó    — t          d¦  «        ‚r5   r6   r   s    r   ÚdeletezTokenUser.deleteF   r9   r   Úraw_passwordc                 ó    — t          d¦  «        ‚r5   r6   ©r   r<   s     r   Úset_passwordzTokenUser.set_passwordI   r9   r   c                 ó    — t          d¦  «        ‚r5   r6   r>   s     r   Úcheck_passwordzTokenUser.check_passwordL   r9   r   c                 ó   — | j         S r   )Ú_groupsr   s    r   ÚgroupszTokenUser.groupsO   s
   € àŒ|Ðr   c                 ó   — | j         S r   )Ú_user_permissionsr   s    r   Úuser_permissionszTokenUser.user_permissionsS   s   € àÔ%Ð%r   Úobjc                 ó   — t          ¦   «         S r   ©Úset©r   rH   s     r   Úget_group_permissionszTokenUser.get_group_permissionsW   ó   € Ý‰uŒuˆr   c                 ó   — t          ¦   «         S r   rJ   rL   s     r   Úget_all_permissionszTokenUser.get_all_permissionsZ   rN   r   Úpermc                 ó   — dS ©NF© )r   rQ   rH   s      r   Úhas_permzTokenUser.has_perm]   ó   € Øˆur   Ú	perm_listc                 ó   — dS rS   rT   )r   rW   rH   s      r   Ú	has_permszTokenUser.has_perms`   rV   r   Úmodulec                 ó   — dS rS   rT   )r   rZ   s     r   Úhas_module_permszTokenUser.has_module_permsc   rV   r   c                 ó   — dS rS   rT   r   s    r   Úis_anonymouszTokenUser.is_anonymousf   s   € àˆur   c                 ó   — dS )NTrT   r   s    r   Úis_authenticatedzTokenUser.is_authenticatedj   s   € àˆtr   c                 ó   — | j         S r   )r!   r   s    r   Úget_usernamezTokenUser.get_usernamen   s
   € ØŒ}Ðr   Úattrc                 ó8   — | j                              |d¦  «        S )zVThis acts as a backup attribute getter for custom claims defined in Token serializers.Nr#   )r   rc   s     r   Ú__getattr__zTokenUser.__getattr__q   s   € àŒz�~Š~˜d DÑ)Ô)Ð)r   )r   r   r   N)r   Nr   ).Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú	is_activer   Úauth_modelsÚGrouprC   Ú
PermissionrF   r   Ústrr   r	   r   r   r!   Úboolr&   r(   Úobjectr.   r0   Úintr3   r8   r;   r?   rA   ÚpropertyrD   rG   r   rK   rM   rP   rU   ÚlistrY   r\   r^   r`   rb   r   re   rT   r   r   r   r      sâ  € € € € € ðð ð €Iàˆl˜;Ô,Ñ-Ô-€GØ$˜ [Ô%;Ñ<Ô<Ððð ð ð ð&˜ð &ð &ð &ð &ð ð6�Cð 6ð 6ð 6ñ „_ð6ð ð�Cð ð ð ñ „_ðð ð.˜#ð .ð .ð .ñ „_ð.ð ð1˜$ð 1ð 1ð 1ñ „_ð1ð ð5˜dð 5ð 5ð 5ñ „_ð5ð#˜Fð # tð #ð #ð #ð #ð
&˜Fð & tð &ð &ð &ð &ð˜#ð ð ð ð ðKð Kð Kð KðKð Kð Kð KðK¨ð K°ð Kð Kð Kð KðK¨3ð K°4ð Kð Kð Kð Kð ð˜Ô)ð ð ð ñ „Xðð ð& +Ô"8ð &ð &ð &ñ „Xð&ðð ¨°&Ô)9ð ÀSð ð ð ð ðð  x°Ô'7ð À3ð ð ð ð ðð ˜Sð  x°Ô'7ð À4ð ð ð ð ðð  4¨¤9ð °8¸FÔ3Cð Ètð ð ð ð ð sð ¨tð ð ð ð ð ð˜dð ð ð ñ „Xðð ð $ð ð ð ñ „Xðð˜cð ð ð ð ð* ð *¨°¬ð *ð *ð *ð *ð *ð *r   r   N)Útypingr   r   r   r   Údjango.contrib.authr   rk   Údjango.db.models.managerr   Údjango.utils.functionalr	   Úsettingsr   Útokensr   r   rT   r   r   ú<module>rz      sÇ   ðØ 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6à 5Ð 5Ð 5Ð 5Ð 5Ð 5Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3à "Ð "Ð "Ð "Ð "Ð "àð ØÐÐÐÐÐðf*ð f*ð f*ð f*ð f*ñ f*ô f*ð f*ð f*ð f*r   