Files
audio_resive/functions/admin/is_logged_in.py
T
2023-11-11 09:47:34 +07:00

17 lines
549 B
Python
Executable File

import jwt
from fastapi import Cookie, Depends
from functions.admin.models import token, database
def is_logged_in(access_token: str = Cookie(None), db=Depends(database.get_db)):
if not access_token:
return False
response = db.query(token.Token).filter(token.Token.access_token == access_token).first()
if not response or not response.is_active:
return False
try:
jwt.decode(access_token, "secret", algorithms=["HS256"])
except jwt.exceptions.ExpiredSignatureError:
return False
return True