from fastapi import APIRouter, Request, Depends from fastapi.responses import HTMLResponse, JSONResponse from fastapi.templating import Jinja2Templates from app.services.tidal_wrapper import TidalWrapper router = APIRouter(prefix="/auth", tags=["auth"]) templates = Jinja2Templates(directory="app/templates") @router.get("/login", response_class=HTMLResponse) async def login_page(request: Request): return templates.TemplateResponse("login.html", {"request": request}) @router.post("/start") async def start_login(): wrapper = TidalWrapper() result = wrapper.start_device_login() return JSONResponse(result) @router.get("/status") async def check_status(): wrapper = TidalWrapper() return JSONResponse(wrapper.get_auth_status()) @router.post("/logout") async def logout(): # wrapper = TidalWrapper() # wrapper.logout() return JSONResponse({"status": "logged_out"})