
    log                        d dl mZmZmZ d dlmZ d dlmZm	Z	  G d de
          Z G d de          Z G d d	e
          Z G d
 de          Z G d d          Z G d deej                  Z G d de          ZdS )    )AnyOptionalUnion)gettext_lazy)
exceptionsstatusc                       e Zd ZdS )
TokenErrorN__name__
__module____qualname__     ^/var/www/html/nourish/venv/lib/python3.11/site-packages/rest_framework_simplejwt/exceptions.pyr
   r
              Dr   r
   c                       e Zd ZdS )ExpiredTokenErrorNr   r   r   r   r   r      r   r   r   c                       e Zd ZdS )TokenBackendErrorNr   r   r   r   r   r      r   r   r   c                       e Zd ZdS )TokenBackendExpiredTokenNr   r   r   r   r   r      r   r   r   c                   v     e Zd ZU eed<   eed<   	 	 ddeeeef         edf         dee         ddf fdZ	 xZ
S )	DetailDictMixindefault_detaildefault_codeNdetailcodereturnc                     | j         | j        d}t          |t                    r|                    |           n|||d<   |||d<   t                                          |           dS )zi
        Builds a detail dictionary for the error to give more information to API
        users.
        )r   r   Nr   r   )r   r   
isinstancedictupdatesuper__init__)selfr   r   detail_dict	__class__s       r   r%   zDetailDictMixin.__init__   s     "&!4d>OPPfd## 	+v&&&&$*K!"&K%%%%%r   )NN)r   r   r   str__annotations__r   r"   r   r   r%   __classcell__)r(   s   @r   r   r      s          48"& &d38nc4/0& sm& 
	& & & & & & & & & &r   r   c                       e Zd ZdS )AuthenticationFailedNr   r   r   r   r-   r-   1   r   r   r-   c                   6    e Zd Zej        Z ed          ZdZdS )InvalidTokenzToken is invalid or expiredtoken_not_validN)	r   r   r   r   HTTP_401_UNAUTHORIZEDstatus_code_r   r   r   r   r   r/   r/   5   s+        .KQ455N$LLLr   r/   N)typingr   r   r   django.utils.translationr   r3   rest_frameworkr   r   	Exceptionr
   r   r   r   r   r-   r/   r   r   r   <module>r8      s   ' ' ' ' ' ' ' ' ' ' 6 6 6 6 6 6 - - - - - - - -	 	 	 	 	 	 	 		 	 	 	 	
 	 	 		 	 	 	 		 	 	 		 	 	 	 	0 	 	 	& & & & & & & &4	 	 	 	 	?J,K 	 	 	% % % % %' % % % % %r   