refactor(stage-4): partition monolithic main.py into modular APIRouters

This commit is contained in:
Antigravity committed 2026-10-07 14:50:21 +03:00
1 parent 4e1f809018
commit dde87e5d6c
15 files changed
+2202 -2138

No files matched your search

+22
View File
@@ -4,6 +4,7 @@ import secrets
import time
from datetime import datetime, timezone, timedelta
from typing import Optional
from fastapi import Request, HTTPException, status
from app import config
from app.database import get_db
@@ -136,3 +137,24 @@ def ensure_admin_user():
if count == 0 and config.ADMIN_PASSWORD:
create_user(config.ADMIN_USERNAME, config.ADMIN_PASSWORD)
def get_optional_user(request: Request) -> Optional[dict]:
token = request.cookies.get(config.SESSION_COOKIE_NAME)
if not token:
auth_header = request.headers.get("Authorization", "")
if auth_header.startswith("Bearer "):
token = auth_header[7:].strip()
if token:
return get_user_from_session(token)
return None
def require_user(request: Request) -> dict:
user = get_optional_user(request)
if not user:
raise HTTPException(
status_code=status.HTTP_401_UNAUTHORIZED,
detail="Authentication required",
)
return user