"""API routers."""
from fastapi import APIRouter

from app.api.auth import router as auth_router
from app.api.oauth import router as oauth_router
from app.api.domains import router as domains_router
from app.api.check import router as check_router
from app.api.subscription import router as subscription_router
from app.api.admin import router as admin_router
from app.api.tld_prices import router as tld_prices_router
from app.api.portfolio import router as portfolio_router
from app.api.auctions import router as auctions_router
from app.api.webhooks import router as webhooks_router
from app.api.contact import router as contact_router
from app.api.price_alerts import router as price_alerts_router
from app.api.blog import router as blog_router
from app.api.listings import router as listings_router
from app.api.sniper_alerts import router as sniper_alerts_router
from app.api.seo import router as seo_router
from app.api.dashboard import router as dashboard_router
from app.api.yield_domains import router as yield_router
from app.api.yield_webhooks import router as yield_webhooks_router
from app.api.yield_routing import router as yield_routing_router
from app.api.yield_payout_admin import router as yield_payout_admin_router
from app.api.telemetry import router as telemetry_router
from app.api.analyze import router as analyze_router
from app.api.hunt import router as hunt_router
from app.api.cfo import router as cfo_router
from app.api.drops import router as drops_router
from app.api.llm import router as llm_router
from app.api.llm_naming import router as llm_naming_router
from app.api.llm_vision import router as llm_vision_router
from app.api.deploy import router as deploy_router

api_router = APIRouter()

# Core API endpoints
api_router.include_router(auth_router, prefix="/auth", tags=["Authentication"])
api_router.include_router(oauth_router, prefix="/oauth", tags=["OAuth"])
api_router.include_router(check_router, prefix="/check", tags=["Domain Check"])
api_router.include_router(domains_router, prefix="/domains", tags=["Domain Management"])
api_router.include_router(subscription_router, prefix="/subscription", tags=["Subscription"])
api_router.include_router(tld_prices_router, prefix="/tld-prices", tags=["TLD Prices"])
api_router.include_router(price_alerts_router, prefix="/price-alerts", tags=["Price Alerts"])
api_router.include_router(portfolio_router, prefix="/portfolio", tags=["Portfolio"])
api_router.include_router(auctions_router, prefix="/auctions", tags=["Smart Pounce - Auctions"])
api_router.include_router(dashboard_router, prefix="/dashboard", tags=["Dashboard"])
api_router.include_router(analyze_router, prefix="/analyze", tags=["Analyze"])
api_router.include_router(hunt_router, prefix="/hunt", tags=["Hunt"])
api_router.include_router(cfo_router, prefix="/cfo", tags=["CFO"])
api_router.include_router(drops_router, tags=["Drops - Zone Files"])
api_router.include_router(llm_router, tags=["LLM"])
api_router.include_router(llm_naming_router, tags=["LLM Naming"])
api_router.include_router(llm_vision_router, tags=["LLM Vision"])

# Marketplace (For Sale) - from analysis_3.md
api_router.include_router(listings_router, prefix="/listings", tags=["Marketplace - For Sale"])

# Sniper Alerts - from analysis_3.md
api_router.include_router(sniper_alerts_router, prefix="/sniper-alerts", tags=["Sniper Alerts"])

# SEO Data / Backlinks - from analysis_3.md (Tycoon-only)
api_router.include_router(seo_router, prefix="/seo", tags=["SEO Data - Tycoon"])

# Yield / Intent Routing - Passive income from parked domains
api_router.include_router(yield_router, tags=["Yield - Intent Routing"])
api_router.include_router(yield_webhooks_router, tags=["Yield - Webhooks"])
api_router.include_router(yield_routing_router, tags=["Yield - Routing"])
api_router.include_router(yield_payout_admin_router, tags=["Yield - Admin"])

# Telemetry / KPIs (admin)
api_router.include_router(telemetry_router, tags=["Telemetry"])

# Support & Communication
api_router.include_router(contact_router, prefix="/contact", tags=["Contact & Newsletter"])

# Webhooks (external service callbacks)
api_router.include_router(webhooks_router, prefix="/webhooks", tags=["Webhooks"])

# Content
api_router.include_router(blog_router, prefix="/blog", tags=["Blog"])

# Admin endpoints
api_router.include_router(admin_router, prefix="/admin", tags=["Admin"])

# Deploy endpoint (internal use only)
api_router.include_router(deploy_router, tags=["Deploy"])
