diff --git a/app/backoffice/dashboard.py b/app/backoffice/dashboard.py index cd39693..d423260 100644 --- a/app/backoffice/dashboard.py +++ b/app/backoffice/dashboard.py @@ -15,15 +15,19 @@ async def get_dashboard_context() -> dict: async with AsyncSessionLocal() as session: today_start = datetime.now(TIMEZONE).replace(hour=0, minute=0, second=0, microsecond=0) - total_users = (await session.execute( - select(func.count()).select_from(User).where(User.is_deleted == False) - )).scalar() - pending_charge_requests_count = (await session.execute( select(func.count()).select_from(CreditChargeRequest) .where(CreditChargeRequest.status == ChargeRequestStatus.PENDING) )).scalar() + today_charge = (await session.execute( + select(func.count()).select_from(CreditTransaction) + .where( + CreditTransaction.type == CreditTransactionType.CHARGE, + CreditTransaction.created_at >= today_start, + ) + )).scalar() + today_consume = (await session.execute( select(func.count()).select_from(CreditTransaction) .where( @@ -32,11 +36,13 @@ async def get_dashboard_context() -> dict: ) )).scalar() - today_charge = (await session.execute( - select(func.count()).select_from(CreditTransaction) + month_start = datetime.now(TIMEZONE).replace(day=1, hour=0, minute=0, second=0, microsecond=0) + month_consume = (await session.execute( + select(func.coalesce(func.sum(func.abs(CreditTransaction.amount)), 0)) + .select_from(CreditTransaction) .where( - CreditTransaction.type == CreditTransactionType.CHARGE, - CreditTransaction.created_at >= today_start, + CreditTransaction.type == CreditTransactionType.CONSUME, + CreditTransaction.created_at >= month_start, ) )).scalar() @@ -62,10 +68,10 @@ async def get_dashboard_context() -> dict: return { "stats": { - "total_users": total_users, "pending_charge_requests": pending_charge_requests_count, - "today_consume": today_consume, "today_charge": today_charge, + "today_consume": today_consume, + "month_consume": month_consume, }, "pending_requests": pending_requests, "recent_transactions": recent_transactions, diff --git a/app/backoffice/frontend/templates/sqladmin/index.html b/app/backoffice/frontend/templates/sqladmin/index.html index d6fe8e6..ffbea24 100644 --- a/app/backoffice/frontend/templates/sqladmin/index.html +++ b/app/backoffice/frontend/templates/sqladmin/index.html @@ -7,15 +7,7 @@