from fastapi import APIRouter, Depends, Request
from ..supabase_client import supabase

router = APIRouter()

def require_auth(request: Request):
    """Dependency to check if user is authenticated via session"""
    from fastapi import HTTPException
    if not request.session.get("authenticated"):
        raise HTTPException(status_code=401, detail="Not authenticated")
    return True

@router.get("/monthly-summary", dependencies=[Depends(require_auth)])
async def monthly_summary():
    res = supabase.rpc("get_retention_monthly").execute()
    return { "data": res.data or [] }
