o
    ߭h                     @   s   d dl m Z mZmZ d dlmZmZmZ d dlZd dlm	Z	 ee
e	f ZdZdede
fdd	Zdefd
ededee de
de
f
ddZegfde
dedee
 dee
 dee
ef f
ddZdS )    )datetime	timedeltatimezone)AnyOptionalUnionN)	SecretStrHS256secretreturnc                 C   s   t | tr	|  S | S )N)
isinstancer   get_secret_value)r
    r   V/var/www/html/stock_analysis/be/venv/lib/python3.10/site-packages/fastapi_users/jwt.py_get_secret_value   s   
r   datalifetime_seconds	algorithmc                 C   s>   |   }|rttjt|d }||d< tj|t||dS )N)secondsexp)r   )	copyr   nowr   utcr   jwtencoder   )r   r
   r   r   payloadexpirer   r   r   generate_jwt   s
   r   encoded_jwtaudience
algorithmsc                 C   s   t j| t|||dS )N)r   r    )r   decoder   )r   r
   r   r    r   r   r   
decode_jwt   s   r"   )r   r   r   typingr   r   r   r   pydanticr   str
SecretTypeJWT_ALGORITHMr   dictintr   listr"   r   r   r   r   <module>   s@    	

