Refactor to get user info from a single endpoint

This commit is contained in:
Leo Vasanko
2025-07-14 12:30:10 -06:00
parent 3567b7802b
commit 19bcddca30
4 changed files with 21 additions and 70 deletions

View File

@@ -23,28 +23,7 @@ from .session_manager import (
async def get_user_info(request: Request) -> dict:
"""Get user information from session cookie."""
try:
user = await get_current_user(request)
if not user:
return {"error": "Not authenticated"}
return {
"status": "success",
"user": {
"user_id": str(user.user_id),
"user_name": user.user_name,
"created_at": user.created_at.isoformat() if user.created_at else None,
"last_seen": user.last_seen.isoformat() if user.last_seen else None,
"visits": user.visits,
},
}
except Exception as e:
return {"error": f"Failed to get user info: {str(e)}"}
async def get_user_credentials(request: Request) -> dict:
"""Get all credentials for a user using session cookie."""
"""Get user information and credentials from session cookie."""
try:
user = await get_current_user(request)
if not user:
@@ -98,11 +77,18 @@ async def get_user_credentials(request: Request) -> dict:
return {
"status": "success",
"user": {
"user_id": str(user.user_id),
"user_name": user.user_name,
"created_at": user.created_at.isoformat() if user.created_at else None,
"last_seen": user.last_seen.isoformat() if user.last_seen else None,
"visits": user.visits,
},
"credentials": credentials,
"aaguid_info": aaguid_info,
}
except Exception as e:
return {"error": f"Failed to get credentials: {str(e)}"}
return {"error": f"Failed to get user info: {str(e)}"}
async def refresh_token(request: Request, response: Response) -> dict:

View File

@@ -30,7 +30,6 @@ from fastapi.staticfiles import StaticFiles
from ..db import sql
from .api_handlers import (
delete_credential,
get_user_credentials,
get_user_info,
logout,
refresh_token,
@@ -55,21 +54,12 @@ app = FastAPI(title="Passkey Auth", lifespan=lifespan)
app.mount("/auth/ws", ws_app)
@app.get("/auth/user-info")
async def api_get_user_info(request: Request):
"""Get user information from session cookie."""
"""Get user information and credentials from session cookie."""
return await get_user_info(request)
@app.get("/auth/user-credentials")
async def api_get_user_credentials(request: Request):
"""Get all credentials for a user using session cookie."""
return await get_user_credentials(request)
@app.post("/auth/refresh-token")
async def api_refresh_token(request: Request, response: Response):
"""Refresh the session token."""