registration.py 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. from fastapi_login import LoginManager
  2. from fastapi import APIRouter, Form, Depends, HTTPException, File, UploadFile
  3. from typing import List,Optional,Union
  4. from fastapi.responses import FileResponse
  5. from random import randint
  6. from fastapi.security import OAuth2PasswordRequestForm
  7. from app.models.models import Guidance_group,User
  8. from app.api import deps
  9. from sqlalchemy.orm import Session
  10. from typing import Any, Dict
  11. import secrets
  12. from fastapi_login.exceptions import InvalidCredentialsException
  13. from fastapi_login import LoginManager
  14. from datetime import timedelta,datetime
  15. from jose import jwt
  16. from emails.template import JinjaTemplate
  17. from tortoise.queryset import Q
  18. from fastapi.responses import HTMLResponse
  19. from app.api.users import manager
  20. registration = APIRouter()
  21. async def check_token(access_token: str):
  22. result = await User.filter(token=access_token).first()
  23. if not result:
  24. print("no access")
  25. return None
  26. user_id = result.id
  27. return user_id
  28. @registration.get("/protected")
  29. def protected_route(user_id=Depends(check_token)):
  30. if not user_id:
  31. return {"message": "no access"}
  32. return {'user': user_id}