from fastapi import APIRouter, Depends, HTTPException from sqlalchemy.orm import Session from app.database import get_db from app.models import User, Memory, App, MemoryState router = APIRouter(prefix="/api/v1/stats", tags=["stats"]) @router.get("/") async def get_profile( user_id: str, db: Session = Depends(get_db) ): user = db.query(User).filter(User.user_id == user_id).first() if not user: raise HTTPException(status_code=404, detail="User not found") # Get total number of memories total_memories = db.query(Memory).filter(Memory.user_id == user.id, Memory.state != MemoryState.deleted).count() # Get total number of apps apps = db.query(App).filter(App.owner == user) total_apps = apps.count() return { "total_memories": total_memories, "total_apps": total_apps, "apps": apps.all() }