from fastapi_login import LoginManager from fastapi import APIRouter, Form, Depends, HTTPException, File, UploadFile from typing import List,Optional,Union from fastapi.responses import FileResponse from random import randint from fastapi.security import OAuth2PasswordRequestForm from app.models.models import Guidance_group,User from app.api import deps from sqlalchemy.orm import Session from typing import Any, Dict import secrets from fastapi_login.exceptions import InvalidCredentialsException from fastapi_login import LoginManager from datetime import timedelta,datetime from jose import jwt from emails.template import JinjaTemplate from tortoise.queryset import Q from fastapi.responses import HTMLResponse from app.api.users import manager registration = APIRouter() async def check_token(access_token: str): result = await User.filter(token=access_token).first() if not result: print("no access") return None user_id = result.id return user_id @registration.get("/protected") def protected_route(user_id=Depends(check_token)): if not user_id: return {"message": "no access"} return {'user': user_id}