All checks were successful
- Add 55 unit tests for hosting module (hosted site service, client service service, stats service) with full fixture setup - Fix table_empty_state macro: add x_message param for dynamic Alpine.js expressions rendered via x-text instead of server-side Jinja - Fix hosting templates (sites, clients) using message= with Alpine expressions that rendered as literal text - Fix prospecting templates (leads, scan-jobs, prospects) using nonexistent subtitle= param, migrated to x_message= - Align hosting and prospecting admin templates with shared design system Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
22 lines
696 B
Python
22 lines
696 B
Python
# app/modules/hosting/routes/api/admin.py
|
|
"""
|
|
Hosting module admin API routes.
|
|
|
|
Aggregates all admin hosting routes:
|
|
- /sites/* - Hosted site CRUD and lifecycle
|
|
- /sites/{id}/services/* - Client service management
|
|
- /stats/* - Dashboard statistics
|
|
"""
|
|
|
|
from fastapi import APIRouter
|
|
|
|
from .admin_services import router as admin_services_router
|
|
from .admin_sites import router as admin_sites_router
|
|
from .admin_stats import router as admin_stats_router
|
|
|
|
router = APIRouter(prefix="/hosting")
|
|
|
|
router.include_router(admin_sites_router, tags=["hosting-sites"])
|
|
router.include_router(admin_services_router, tags=["hosting-services"])
|
|
router.include_router(admin_stats_router, tags=["hosting-stats"])
|