ó
    Zœ‘h¯  ã                   óz   • S SK JrJrJrJr  S SKJr  S SKJ	r	  S SK
Jr  SSKJr  \(       a  SSKJr   " S S	5      rg
)é    )ÚTYPE_CHECKINGÚAnyÚOptionalÚUnion)Úmodels)ÚEmptyManager)Úcached_propertyé   )Úapi_settings)ÚTokenc                   óœ  • \ rS rSrSrSr\" \R                  5      r	\" \R                  5      rS'S jrS\4S jr\S\4S j5       r\S\4S	 j5       r\S\4S
 j5       r\S\4S j5       r\S\4S j5       rS\S\4S jrS\S\4S jrS\4S jrS(S jrS(S jrS\SS4S jrS\SS4S jr\S\R                  4S j5       r \S\R                  4S j5       r!S)S\"\   S\#4S jjr$S)S\"\   S\#4S jjr%S)S\S\"\   S\4S jjr&S)S\'\   S\"\   S\4S jjr(S\S\4S  jr)\S\4S! j5       r*\S\4S" j5       r+S\4S# jr,S$\S\"\-   4S% jr.S&r/g)*Ú	TokenUseré   a¶  
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ÚreturnNc                 ó   • Xl         g ©N©Útoken)Úselfr   s     ÚcC:\Users\psant\Downloads\Noiseback\school\venv\Lib\site-packages\rest_framework_simplejwt/models.pyÚ__init__ÚTokenUser.__init__   s   € Ø�
ó    c                 ó    • SU R                    3$ )Nz
TokenUser ©Úid©r   s    r   Ú__str__ÚTokenUser.__str__!   s   € Ø˜DŸG™G˜9Ð%Ð%r   c                 ó<   • U R                   [        R                     $ r   )r   r   ÚUSER_ID_CLAIMr   s    r   r   ÚTokenUser.id$   s   € à�z‰zœ,×4Ñ4Ñ5Ð5r   c                 ó   • U R                   $ r   r   r   s    r   ÚpkÚTokenUser.pk(   s   € à�w‰wˆr   c                 ó:   • U R                   R                  SS5      $ )NÚusernameÚ ©r   Úgetr   s    r   r'   ÚTokenUser.username,   s   € à�z‰z�~‰~˜j¨"Ó-Ð-r   c                 ó:   • U R                   R                  SS5      $ )NÚis_staffFr)   r   s    r   r-   ÚTokenUser.is_staff0   s   € à�z‰z�~‰~˜j¨%Ó0Ð0r   c                 ó:   • U R                   R                  SS5      $ )NÚis_superuserFr)   r   s    r   r0   ÚTokenUser.is_superuser4   s   € à�z‰z�~‰~˜n¨eÓ4Ð4r   Úotherc                 ój   • [        U[        5      (       d  [        $ U R                  UR                  :H  $ r   )Ú
isinstancer   ÚNotImplementedr   ©r   r2   s     r   Ú__eq__ÚTokenUser.__eq__8   s(   € Ü˜%¤×+Ñ+Ü!Ð!Ø�w‰w˜%Ÿ(™(Ñ"Ð"r   c                 ó.   • U R                  U5      (       + $ r   )r7   r6   s     r   Ú__ne__ÚTokenUser.__ne__=   s   € Ø—;‘;˜uÓ%Ô%Ð%r   c                 ó,   • [        U R                  5      $ r   )Úhashr   r   s    r   Ú__hash__ÚTokenUser.__hash__@   s   € Ü�D—G‘G‹}Ðr   c                 ó   • [        S5      e©Nz%Token users have no DB representation©ÚNotImplementedErrorr   s    r   ÚsaveÚTokenUser.saveC   ó   € Ü!Ð"IÓJÐJr   c                 ó   • [        S5      erA   rB   r   s    r   ÚdeleteÚTokenUser.deleteF   rF   r   Úraw_passwordc                 ó   • [        S5      erA   rB   ©r   rJ   s     r   Úset_passwordÚTokenUser.set_passwordI   rF   r   c                 ó   • [        S5      erA   rB   rL   s     r   Úcheck_passwordÚTokenUser.check_passwordL   rF   r   c                 ó   • U R                   $ r   )Ú_groupsr   s    r   ÚgroupsÚTokenUser.groupsO   s   € à�|‰|Ðr   c                 ó   • U R                   $ r   )Ú_user_permissionsr   s    r   Úuser_permissionsÚTokenUser.user_permissionsS   s   € à×%Ñ%Ð%r   Úobjc                 ó   • [        5       $ r   ©Úset©r   rZ   s     r   Úget_group_permissionsÚTokenUser.get_group_permissionsW   ó	   € Ü‹uˆr   c                 ó   • [        5       $ r   r\   r^   s     r   Úget_all_permissionsÚTokenUser.get_all_permissionsZ   ra   r   Úpermc                 ó   • g©NF© )r   re   rZ   s      r   Úhas_permÚTokenUser.has_perm]   ó   € Ør   Ú	perm_listc                 ó   • grg   rh   )r   rl   rZ   s      r   Ú	has_permsÚTokenUser.has_perms`   rk   r   Úmodulec                 ó   • grg   rh   )r   rp   s     r   Úhas_module_permsÚTokenUser.has_module_permsc   rk   r   c                 ó   • grg   rh   r   s    r   Úis_anonymousÚTokenUser.is_anonymousf   s   € àr   c                 ó   • g)NTrh   r   s    r   Úis_authenticatedÚTokenUser.is_authenticatedj   s   € àr   c                 ó   • U R                   $ r   )r'   r   s    r   Úget_usernameÚTokenUser.get_usernamen   s   € Ø�}‰}Ðr   Úattrc                 ó:   • U R                   R                  US5      $ )zVThis acts as a backup attribute getter for custom claims defined in Token serializers.Nr)   )r   r}   s     r   Ú__getattr__ÚTokenUser.__getattr__q   s   € à�z‰z�~‰~˜d DÓ)Ð)r   r   )r   r   r   N)r   Nr   )0Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú	is_activer   Úauth_modelsÚGrouprS   Ú
PermissionrW   r   Ústrr   r	   r   r$   r'   Úboolr-   r0   Úobjectr7   r:   Úintr>   rD   rH   rM   rP   ÚpropertyrT   rX   r   r]   r_   rc   ri   Úlistrn   rr   ru   rx   r{   r   r   Ú__static_attributes__rh   r   r   r   r      sQ  † ñð €Iá˜;×,Ñ,Ó-€GÙ$ [×%;Ñ%;Ó<Ðôð&˜ô &ð ð6�Có 6ó ð6ð ð�Có ó ðð ð.˜#ó .ó ð.ð ð1˜$ó 1ó ð1ð ð5˜dó 5ó ð5ð#˜Fð # tô #ð
&˜Fð & tô &ð˜#ô ôKôKðK¨ð K°ô KðK¨3ð K°4ô Kð ð˜×)Ñ)ó ó ðð ð& +×"8Ñ"8ó &ó ð&ñ¨°&Ñ)9ð ÀSõ ñ x°Ñ'7ð À3õ ñ˜Sð  x°Ñ'7ð À4õ ñ 4¨¡9ð °8¸FÑ3Cð Ètõ ð sð ¨tô ð ð˜dó ó ðð ð $ó ó ðð˜cô ð* ð *¨°©÷ *r   r   N)Útypingr   r   r   r   Údjango.contrib.authr   r‡   Údjango.db.models.managerr   Údjango.utils.functionalr	   Úsettingsr   Útokensr   r   rh   r   r   Ú<module>r—      s)   ðß 6Ó 6å 5Ý 1Ý 3å "æÝ÷f*ò f*r   