AI story writer enhancements, text to video and voice generation, subscription management, and more.
This commit is contained in:
42
backend/api/story_writer/routes/cache_routes.py
Normal file
42
backend/api/story_writer/routes/cache_routes.py
Normal file
@@ -0,0 +1,42 @@
|
||||
from typing import Any, Dict
|
||||
|
||||
from fastapi import APIRouter, Depends, HTTPException
|
||||
from loguru import logger
|
||||
|
||||
from middleware.auth_middleware import get_current_user
|
||||
|
||||
from ..cache_manager import cache_manager
|
||||
from ..utils.auth import require_authenticated_user
|
||||
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
|
||||
@router.get("/cache/stats")
|
||||
async def get_cache_stats(
|
||||
current_user: Dict[str, Any] = Depends(get_current_user),
|
||||
) -> Dict[str, Any]:
|
||||
"""Get cache statistics."""
|
||||
try:
|
||||
require_authenticated_user(current_user)
|
||||
stats = cache_manager.get_cache_stats()
|
||||
return {"success": True, "stats": stats}
|
||||
except Exception as exc:
|
||||
logger.error(f"[StoryWriter] Failed to get cache stats: {exc}")
|
||||
raise HTTPException(status_code=500, detail=str(exc))
|
||||
|
||||
|
||||
@router.post("/cache/clear")
|
||||
async def clear_cache(
|
||||
current_user: Dict[str, Any] = Depends(get_current_user),
|
||||
) -> Dict[str, Any]:
|
||||
"""Clear the story generation cache."""
|
||||
try:
|
||||
require_authenticated_user(current_user)
|
||||
result = cache_manager.clear_cache()
|
||||
return {"success": True, **result}
|
||||
except Exception as exc:
|
||||
logger.error(f"[StoryWriter] Failed to clear cache: {exc}")
|
||||
raise HTTPException(status_code=500, detail=str(exc))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user