feat: image generation overhaul (model-aware text, dim clamping, \.30 pricing), event-driven dashboard cache invalidation, SEO insights (AI visibility, GSC, keyword gap), YouTube OAuth/publish, blog writer & content planning improvements, scheduler monitoring updates

This commit is contained in:
ajaysi
2026-05-30 07:58:22 +05:30
parent aaf94049da
commit 64f1f88cdd
129 changed files with 8796 additions and 8755 deletions

View File

@@ -135,6 +135,8 @@ from api.seo_dashboard import (
get_semantic_health,
get_semantic_cache_stats,
get_sif_indexing_health,
get_guardian_audit,
get_keyword_gaps,
)
# Initialize FastAPI app
@@ -365,6 +367,30 @@ async def sif_indexing_health_endpoint(current_user: dict = Depends(get_current_
"""
return await get_sif_indexing_health(current_user)
@app.get("/api/seo-dashboard/guardian-audit")
async def guardian_audit_endpoint(current_user: dict = Depends(get_current_user)):
"""
Get the latest Content Guardian audit report for the current user.
Returns content quality, brand voice, safety, and cannibalization metrics.
Used by the Content Guardian Audit Card on the dashboard.
"""
return await get_guardian_audit(current_user)
@app.get("/api/seo-dashboard/keyword-gaps")
async def keyword_gaps_endpoint(
current_user: dict = Depends(get_current_user),
site_url: str = None,
):
"""
Get keyword gap analysis from GSC data.
Returns keyword gaps, quick wins, content opportunities, and page opportunities
for the user's site, derived from last 30 days of GSC search analytics.
"""
return await get_keyword_gaps(current_user, site_url)
# Comprehensive SEO Analysis endpoints
@app.post("/api/seo-dashboard/analyze-comprehensive")
async def analyze_seo_comprehensive_endpoint(request: SEOAnalysisRequest):