from fastapi import APIRouter, Request, Depends from fastapi.responses import RedirectResponse from fastapi.templating import Jinja2Templates from sqlalchemy.orm import Session from web.auth import get_current_user from web.database import get_db from web.models import User, EvotorConnection router = APIRouter() templates = Jinja2Templates(directory="web/templates") @router.get("/connections") def connections_page( request: Request, db: Session = Depends(get_db), user: User | None = Depends(get_current_user), ): if not user: return RedirectResponse("/login", 303) evotor = db.query(EvotorConnection).filter(EvotorConnection.user_id == user.id).first() connections = [ { "name": "Эвотор", "icon": "bi-shop", "connected": evotor is not None, "is_online": evotor.is_online if evotor else False, "last_checked_at": evotor.last_checked_at if evotor else None, "details": evotor.store_name if evotor else None, "connect_url": "/evotor/connect", "disconnect_url": "/evotor/disconnect", } ] return templates.TemplateResponse("connections.html", { "request": request, "user": user, "connections": connections, })