from fastapi import APIRouter, Depends, Form, Request from fastapi.responses import RedirectResponse from fastapi.templating import Jinja2Templates from app.security.deps import require_auth from app.services import artist_canonical_service router = APIRouter(prefix="/settings/artist-casing", tags=["artist-casing"]) templates = Jinja2Templates(directory="app/templates") @router.get("") async def artist_casing_index(request: Request, user: dict = Depends(require_auth)): entries = artist_canonical_service.list_entries() return templates.TemplateResponse( request, "settings/artist_casing.html", {"entries": entries} ) @router.post("/add") async def add_artist(name: str = Form(...), user: dict = Depends(require_auth)): artist_canonical_service.add_entry(name) return RedirectResponse(url="/settings/artist-casing", status_code=303) @router.post("/remove") async def remove_artist(name: str = Form(...), user: dict = Depends(require_auth)): artist_canonical_service.remove_entry(name) return RedirectResponse(url="/settings/artist-casing", status_code=303)