Add complete project structure and all files

This commit is contained in:
2025-12-15 13:03:29 +05:00
parent dc4c2521c7
commit f5a3903f5d
139 changed files with 72714 additions and 2 deletions

View File

@@ -0,0 +1,34 @@
"""
Language middleware
Detects user language from settings and adds to request state
"""
from fastapi import Request
from starlette.middleware.base import BaseHTTPMiddleware
from sqlalchemy.orm import Session
from .db import SessionLocal
from .models import PanelSettings
class LanguageMiddleware(BaseHTTPMiddleware):
"""Middleware to detect and set language"""
async def dispatch(self, request: Request, call_next):
# Get language from database settings
lang = "ru" # default
try:
db = SessionLocal()
setting = db.query(PanelSettings).filter(PanelSettings.key == "language").first()
if setting:
lang = setting.value
db.close()
except Exception:
pass
# Store language in request state
request.state.lang = lang
response = await call_next(request)
return response