from fastapi import APIRouter, Depends, Query from app.core.security import get_current_user from app.models.user import User from app.services.bandcamp import discover_by_tag, get_trending_tags router = APIRouter(prefix="/bandcamp", tags=["bandcamp"]) @router.get("/discover") async def bandcamp_discover( tags: str = Query(..., description="Comma-separated tags, e.g. 'indie-rock,shoegaze'"), sort: str = Query("new", description="Sort: new, rec, or pop"), page: int = Query(1), user: User = Depends(get_current_user), ): tag_list = [t.strip() for t in tags.split(",") if t.strip()] if not tag_list: return [] return await discover_by_tag(tag_list, sort=sort, page=page) @router.get("/tags") async def bandcamp_tags(user: User = Depends(get_current_user)): return await get_trending_tags()