Admin Panel: - User Detail Modal with full profile info - Bulk tier upgrade for multiple users - User export to CSV - Price Alerts overview tab - Domain Health Check trigger - Email Test functionality - Scheduler Status with job info and last runs - Activity Log for admin actions - Blog management tab with CRUD Blog System: - BlogPost model with full content management - Public API: list, featured, categories, single post - Admin API: create, update, delete, publish/unpublish - Frontend blog listing page with categories - Frontend blog detail page with styling - View count tracking OAuth: - Google OAuth integration - GitHub OAuth integration - OAuth callback handling - Provider selection on login/register Other improvements: - Domain checker with check_all_domains function - Admin activity logging - Breadcrumbs component - Toast notification component - Various UI/UX improvements
42 lines
1.9 KiB
Python
42 lines
1.9 KiB
Python
"""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
|
|
|
|
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"])
|
|
|
|
# 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"])
|