
    tni_                         d dl Z d dlmZmZmZ d dlZd dlmZ dedefdZdedede	fdZ
defd	Zdefd
Zdede	fdZy)    N)datetime	timedeltatimezone)settingspasswordreturnc                     t        j                  | j                         t        j                               j	                         S N)bcrypthashpwencodegensaltdecode)r   s    G/Users/manta/Documents/Projects/TheRoad-I1/backend/app/core/security.pyhash_passwordr   	   s*    ==*FNN,<=DDFF    password_hashc                 f    t        j                  | j                         |j                               S r
   )r   checkpwr   )r   r   s     r   verify_passwordr      s#    >>(//+]-A-A-CDDr   c                  ,    t        j                  d      S )N    )secretstoken_urlsafe r   r   create_session_tokenr      s      $$r   c                      t        j                  t        j                        t	        t
        j                        z   } | j                         S )N)hours)r   nowr   utcr   r   session_ttl_hours	isoformat)expiress    r   session_expires_atr$      s3    ll8<<(98;U;U+VVGr   
expires_atc                     t        j                  |       }|j                   |j                  t        j
                        }t        j                  t        j
                        |kD  S )N)tzinfo)r   fromisoformatr'   replacer   r    r   )r%   expirys     r   is_session_expiredr+      sH    ##J/F}}x||4<<%..r   )r   r   r   r   r   app.core.configr   strr   boolr   r   r$   r+   r   r   r   <module>r/      ss     2 2  $GC GC GEc E# E$ E%c %C 
/3 /4 /r   