o
    ÏCâh  ã                   @   s¦   d dl mZmZmZ d dlmZ d dlmZm	Z	 G dd„ de
ƒZG dd„ deƒZG dd	„ d	e
ƒZG d
d„ deƒZG dd„ dƒZG dd„ deejƒZG dd„ deƒZdS )é    )ÚAnyÚOptionalÚUnion)Úgettext_lazy)Ú
exceptionsÚstatusc                   @   ó   e Zd ZdS )Ú
TokenErrorN©Ú__name__Ú
__module__Ú__qualname__© r   r   úu/var/www/html/myvaluetrips/my_value_trip_new/venv/lib/python3.10/site-packages/rest_framework_simplejwt/exceptions.pyr	      ó    r	   c                   @   r   )ÚExpiredTokenErrorNr
   r   r   r   r   r      r   r   c                   @   r   )ÚTokenBackendErrorNr
   r   r   r   r   r      r   r   c                   @   r   )ÚTokenBackendExpiredTokenNr
   r   r   r   r   r      r   r   c                       sX   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d„Z	‡  Z
S )
ÚDetailDictMixinÚdefault_detailÚdefault_codeNÚdetailÚcodeÚreturnc                    sT   | j | jdœ}t|tƒr| |¡ n|dur||d< |dur"||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__r   r   r      s   	
zDetailDictMixin.__init__)NN)r   r   r   ÚstrÚ__annotations__r   r   r   r   r   Ú__classcell__r   r   r!   r   r      s   
 ýþýür   c                   @   r   )ÚAuthenticationFailedNr
   r   r   r   r   r&   1   r   r&   c                   @   s   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    r'   N)Útypingr   r   r   Údjango.utils.translationr   r+   Úrest_frameworkr   r   Ú	Exceptionr	   r   r   r   r   r&   r'   r   r   r   r   Ú<module>   s    