Team Ai
Apppublic

ruby2210/todo-manager

sourceHugging Facemitupdated 9mo agoView on Hugging Face
0likes
utils.cpython-312.pyc35 linesDownload Raw Back to __pycache__
1�

2>ii%���ddlmZmZddlmZddlmZmZddlmZddl	m3Z4ddlmZddl
mZmZded	eefd5�Zded	eefd�Zdd
edeefd�Zy)�)�datetime�	timedelta)�Optional)�JWTError�jwt)�settings)�Session)�Task)�
HTTPException�status�token�returnc� �	tj|tjtjg��}|jd�}|r+t
j|�t
j�kry|S#t$rYyt$rYywxYw)z�6    Verify JWT token from Better Auth using shared BETTER_AUTH_SECRET.7 8    Args:9        token: JWT token to verify10 11    Returns:12        Decoded token payload if valid, None if invalid13    )�14algorithms�expN)r�decoder�BETTER_AUTH_SECRET�
JWT_ALGORITHM�getr�
fromtimestamp�utcnowr�	Exception)r
�payloadrs   �EC:\Users\Dell\OneDrive\Desktop\todo-manager\backend\src\auth\utils.py�verify_tokenr15s~����*�*���'�'� �.�.�/�16���k�k�%� ���8�)�)�#�.����1B�B������������s�A2A7�5A7�7	B
�B
�B
c�j�t|�}|r&|jd�xs|jd�}|Sy)z�17    Extract user ID from JWT token.18 19    Args:20        token: JWT token from Authorization header21 22    Returns:23        User ID if token is valid, None if invalid24    �sub�user_idN)rr)r
rrs   r�get_current_user_idr's5���5�!�G���+�+�e�$�>����I�(>�����N�data�
expires_deltac�b�|j�}|rtj�|z}n/tj�ttj25��z}|j
d|j�i�tj|tjtj��}|S)z�26    Create access token (primarily for testing purposes since we're using Better Auth).27 28    Args:29        data: Data to encode in token30        expires_delta: Expiration time delta31 32    Returns:33        Encoded JWT token34    )�minutesr)�	algorithm)�copyrrrr�ACCESS_TOKEN_EXPIRE_MINUTES�update�	timestampr�encoderr)r!r"�	to_encode�expire�encoded_jwts     r�create_access_tokenr.9s���	�	��I�����"�]�2�����"�Y�x�7[�7[�%\�\��
���e�V�-�-�/�0�1��*�*�Y��(C�(C�x�Oe�Oe�f�K��r )N)rr�typingr�joserr�src.core.configr�sqlmodelr	�src.models.taskr35�fastapirr�str�dictrrr.�r r�<module>r8s`��(���$�� �)��������:�s��x��}��$�d��8�I�3F�r