summaryrefslogtreecommitdiff
path: root/app/routes/me.py
diff options
context:
space:
mode:
Diffstat (limited to 'app/routes/me.py')
-rw-r--r--app/routes/me.py51
1 files changed, 0 insertions, 51 deletions
diff --git a/app/routes/me.py b/app/routes/me.py
deleted file mode 100644
index 6d28a80..0000000
--- a/app/routes/me.py
+++ /dev/null
@@ -1,51 +0,0 @@
-from fastapi import APIRouter, Depends, Request
-from sqlalchemy.ext.asyncio import AsyncSession
-
-from app.auth.jwt import decode_token
-from app.models.user import User
-from app.utils.db import get_async_session
-
-router = APIRouter(tags=["auth"])
-
-
-async def get_current_user_from_cookie(
- request: Request,
- session: AsyncSession = Depends(get_async_session),
-) -> dict:
- token = request.cookies.get("access_token")
- if not token:
- return {"authenticated": False, "user": None}
-
- try:
- payload = decode_token(token)
- sub = payload.get("sub")
- if sub is None:
- return {"authenticated": False, "user": None}
- user_id = int(sub)
- except ValueError, TypeError:
- return {"authenticated": False, "user": None}
-
- user = await User.get_user_by_id(user_id, session=session)
- if not user or user.token_version != payload.get("token_version"):
- return {"authenticated": False, "user": None}
-
- return {
- "authenticated": True,
- "user": {
- "id": user.id,
- "username": user.username,
- "password": user.has_password,
- "google_id": user.google_id,
- "email": user.email,
- "premium": user.premium,
- "is_banned": user.is_banned,
- "is_moderator": user.is_moderator,
- },
- }
-
-
-@router.get("/me")
-async def read_current_user(
- user_info: dict = Depends(get_current_user_from_cookie),
-):
- return user_info