diff --git a/app/routers/home.py b/app/routers/home.py index 44b4dbf..356a671 100644 --- a/app/routers/home.py +++ b/app/routers/home.py @@ -19,21 +19,23 @@ router = APIRouter() async def get_user_stats(actor_id: str) -> dict: """Get stats for a user.""" import database - from ..services.recipe_service import RecipeService from ..services.run_service import RunService from ..dependencies import get_redis_client, get_cache_manager stats = {} try: - stats["media"] = await database.count_user_items(actor_id) + # Count only actual media types (video, image, audio), not effects/recipes + media_count = 0 + for media_type in ["video", "image", "audio", "unknown"]: + media_count += await database.count_user_items(actor_id, item_type=media_type) + stats["media"] = media_count except Exception: stats["media"] = 0 try: - recipe_service = RecipeService(get_redis_client(), get_cache_manager()) - recipes = await recipe_service.list_recipes(actor_id) - stats["recipes"] = len(recipes) + # Count user's recipes from database (ownership-based) + stats["recipes"] = await database.count_user_items(actor_id, item_type="recipe") except Exception: stats["recipes"] = 0 @@ -51,11 +53,8 @@ async def get_user_stats(actor_id: str) -> dict: stats["storage"] = 0 try: - effects_dir = Path(get_cache_manager().cache_dir) / "_effects" - if effects_dir.exists(): - stats["effects"] = len([d for d in effects_dir.iterdir() if d.is_dir()]) - else: - stats["effects"] = 0 + # Count user's effects from database (ownership-based) + stats["effects"] = await database.count_user_items(actor_id, item_type="effect") except Exception: stats["effects"] = 0