U
    “ñccâ  ã                   @   sr   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ƒZ	G d	d
„ d
e	ej
ƒZ
G dd„ de
ƒZdS )é    )Úgettext_lazy)Ú
exceptionsÚstatusc                   @   s   e Zd ZdS )Ú
TokenErrorN©Ú__name__Ú
__module__Ú__qualname__© r
   r
   ú]/var/www/html/project/venv/lib/python3.8/site-packages/rest_framework_simplejwt/exceptions.pyr      s   r   c                   @   s   e Zd ZdS )ÚTokenBackendErrorNr   r
   r
   r
   r   r   	   s   r   c                       s   e Zd Zd‡ fdd„	Z‡  ZS )ÚDetailDictMixinNc                    sT   | j | jdœ}t|tƒr$| |¡ n|dk	r4||d< |dk	rD||d< tƒ  |¡ dS )zi
        Builds a detail dictionary for the error to give more information to API
        users.
        )ÚdetailÚcodeNr   r   )Údefault_detailÚdefault_codeÚ
isinstanceÚdictÚupdateÚsuperÚ__init__)Úselfr   r   Zdetail_dict©Ú	__class__r
   r   r      s    
zDetailDictMixin.__init__)NN)r   r   r	   r   Ú__classcell__r
   r
   r   r   r      s   r   c                   @   s   e Zd ZdS )ÚAuthenticationFailedNr   r
   r
   r
   r   r       s   r   c                   @   s   e Zd ZejZedƒZdZdS )ÚInvalidTokenzToken is invalid or expiredZtoken_not_validN)	r   r   r	   r   ZHTTP_401_UNAUTHORIZEDÚstatus_codeÚ_r   r   r
   r
   r
   r   r   $   s   r   N)Zdjango.utils.translationr   r   Zrest_frameworkr   r   Ú	Exceptionr   r   r   r   r   r
   r
   r
   r   Ú<module>   s   