From bbc70751db01eceb01207f55995a2739ab620a7b Mon Sep 17 00:00:00 2001 From: alorig <220087330+alorig@users.noreply.github.com> Date: Fri, 5 Dec 2025 14:12:06 +0500 Subject: [PATCH] 123213 --- frontend/src/pages/Admin/AdminBilling.tsx | 11 +++++++---- frontend/src/pages/admin/AdminAllAccountsPage.tsx | 3 ++- frontend/src/services/billing.api.ts | 4 ++-- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/frontend/src/pages/Admin/AdminBilling.tsx b/frontend/src/pages/Admin/AdminBilling.tsx index 53dc9a9e..04a8a3e6 100644 --- a/frontend/src/pages/Admin/AdminBilling.tsx +++ b/frontend/src/pages/Admin/AdminBilling.tsx @@ -65,9 +65,12 @@ const AdminBilling: React.FC = () => { try { setLoading(true); const [statsData, usersData, configsData] = await Promise.all([ + // Admin billing stats (credits, activity, revenue) fetchAPI('/v1/billing/admin/stats/'), - fetchAPI('/v1/admin/users/?limit=100'), - fetchAPI('/v1/admin/credit-costs/'), + // Admin billing users list (with credits) + fetchAPI('/v1/admin/billing/users/?limit=100'), + // Admin billing credit costs + fetchAPI('/v1/admin/billing/credit-costs/'), ]); setStats(statsData); @@ -87,7 +90,7 @@ const AdminBilling: React.FC = () => { } try { - await fetchAPI(`/v1/admin/users/${selectedUser.id}/adjust-credits/`, { + await fetchAPI(`/v1/admin/billing/users/${selectedUser.id}/adjust-credits/`, { method: 'POST', body: JSON.stringify({ amount: parseInt(creditAmount), @@ -107,7 +110,7 @@ const AdminBilling: React.FC = () => { const handleUpdateCreditCost = async (configId: number, newCost: number) => { try { - await fetchAPI(`/v1/admin/credit-costs/${configId}/`, { + await fetchAPI(`/v1/admin/billing/credit-costs/${configId}/`, { method: 'PATCH', body: JSON.stringify({ cost: newCost }), }); diff --git a/frontend/src/pages/admin/AdminAllAccountsPage.tsx b/frontend/src/pages/admin/AdminAllAccountsPage.tsx index 754afe84..396cac3c 100644 --- a/frontend/src/pages/admin/AdminAllAccountsPage.tsx +++ b/frontend/src/pages/admin/AdminAllAccountsPage.tsx @@ -34,7 +34,8 @@ export default function AdminAllAccountsPage() { const loadAccounts = async () => { try { setLoading(true); - const data = await fetchAPI('/v1/admin/accounts/'); + // Developer/admin accounts are exposed via auth accounts endpoint + const data = await fetchAPI('/v1/auth/accounts/'); setAccounts(data.results || []); } catch (err: any) { setError(err.message || 'Failed to load accounts'); diff --git a/frontend/src/services/billing.api.ts b/frontend/src/services/billing.api.ts index 5784358a..4beffcdc 100644 --- a/frontend/src/services/billing.api.ts +++ b/frontend/src/services/billing.api.ts @@ -261,8 +261,8 @@ export async function getCreditUsageLimits(): Promise<{ // ============================================================================ export async function getAdminBillingStats(): Promise { - // Admin stats live under the admin namespace - return fetchAPI('/v1/admin/billing/stats/'); + // Use business billing admin stats endpoint (returns all dashboard metrics) + return fetchAPI('/v1/billing/admin/stats/'); } export async function getAdminInvoices(params?: { status?: string; account_id?: number; search?: string }): Promise<{