"""Native REST API, version 1. Aggregates feature routers under ``/api/v1``."""

from fastapi import APIRouter

from app.api.health import router as health_router
from app.api.v1.admin import router as admin_router
from app.api.v1.albums import router as albums_router
from app.api.v1.artists import router as artists_router
from app.api.v1.auth import router as auth_router
from app.api.v1.downloads import router as downloads_router
from app.api.v1.history import router as history_router
from app.api.v1.likes import router as likes_router
from app.api.v1.playlists import router as playlists_router
from app.api.v1.radio import router as radio_router
from app.api.v1.search import router as search_router
from app.api.v1.sources import router as sources_router
from app.api.v1.storage import router as storage_router
from app.api.v1.streaming import router as streaming_router
from app.api.v1.sync import router as sync_router
from app.api.v1.tracks import router as tracks_router
from app.api.v1.upload import router as upload_router
from app.api.v1.user_settings import router as user_settings_router
from app.api.v1.users import router as users_router

api_v1_router = APIRouter(prefix="/api/v1")
# Also expose health under /api/v1 (root /health stays in main.py for compose/nginx
# probes); the webui pings ${apiBase}/health and apiBase is /api/v1.
api_v1_router.include_router(health_router)
api_v1_router.include_router(auth_router)
api_v1_router.include_router(users_router)
api_v1_router.include_router(tracks_router)
api_v1_router.include_router(albums_router)
api_v1_router.include_router(artists_router)
api_v1_router.include_router(search_router)
api_v1_router.include_router(playlists_router)
api_v1_router.include_router(likes_router)
api_v1_router.include_router(history_router)
api_v1_router.include_router(streaming_router)
api_v1_router.include_router(sources_router)
api_v1_router.include_router(downloads_router)
api_v1_router.include_router(upload_router)
api_v1_router.include_router(radio_router)
api_v1_router.include_router(storage_router)
api_v1_router.include_router(sync_router)
api_v1_router.include_router(user_settings_router)
api_v1_router.include_router(admin_router)

__all__ = ["api_v1_router"]
