
    rh                         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y)    )AnyOptionalUnion)gettext_lazy)
exceptionsstatusc                       e Zd Zy)
TokenErrorN__name__
__module____qualname__     v/var/www/html/ai-insurance-compliance-backend/venv/lib/python3.12/site-packages/rest_framework_simplejwt/exceptions.pyr
   r
          r   r
   c                       e Zd Zy)ExpiredTokenErrorNr   r   r   r   r   r      r   r   r   c                       e Zd Zy)TokenBackendErrorNr   r   r   r   r   r      r   r   r   c                       e Zd Zy)TokenBackendExpiredTokenNr   r   r   r   r   r      r   r   r   c                   d     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|j	                  |       n|||d<   |||d<   t
        |   |       y)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`     "&!4!4d>O>OPfd#v&$*K!"&K%r   )NN)r   r   r   str__annotations__r   r"   r   r   r%   __classcell__)r(   s   @r   r   r      sU     48"&d38nc4/0& sm& 
	& &r   r   c                       e Zd Zy)AuthenticationFailedNr   r   r   r   r-   r-   1   r   r   r-   c                   8    e Zd Zej                  Z ed      ZdZy)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45N$Lr   r/   N)typingr   r   r   django.utils.translationr   r3   rest_frameworkr   r   	Exceptionr
   r   r   r   r   r-   r/   r   r   r   <module>r8      sm    ' ' 6 -	 		
 			 		0 	& &4	?J,K,K 	%' %r   