o
     ä›e¬  ã                   @   sŠ   d dl mZ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	ƒZG d
d„ dee	jƒZG dd„ deƒZdS )é    )ÚAnyÚDictÚOptionalÚUnion)Úgettext_lazy)Ú
exceptionsÚstatusc                   @   ó   e Zd ZdS )Ú
TokenErrorN©Ú__name__Ú
__module__Ú__qualname__© r   r   úV/var/www/html/venv/lib/python3.10/site-packages/rest_framework_simplejwt/exceptions.pyr
      ó    r
   c                   @   r	   )ÚTokenBackendErrorNr   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%   )   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&   -   s    r&   N)Útypingr   r   r   r   Údjango.utils.translationr   r*   Úrest_frameworkr   r   Ú	Exceptionr
   r   r   r%   r&   r   r   r   r   Ú<module>   s    