Files
HoruxDespachosNuevo/apps/web/lib/api/admin-clientes.ts

45 lines
1.2 KiB
TypeScript

import { apiClient } from './client';
export interface ClientesStats {
suscripcionesPorPlan: Array<{ plan: string; count: number }>;
ingresos: { total: number; paymentsCount: number };
noRenovaciones: Array<{
tenantId: string;
tenantNombre: string;
rfc: string;
plan: string;
currentPeriodEnd: string;
statusActual: string;
}>;
usuariosPorCliente: Array<{
tenantId: string;
tenantNombre: string;
rfc: string;
activeUsers: number;
owners: number;
}>;
}
export interface TenantUsuario {
userId: string;
email: string;
nombre: string;
rol: string;
isOwner: boolean;
joinedAt: string;
lastLogin: string | null;
}
export async function getClientesStats(from?: string, to?: string): Promise<ClientesStats> {
const params = new URLSearchParams();
if (from) params.set('from', from);
if (to) params.set('to', to);
const res = await apiClient.get<ClientesStats>(`/admin/clientes/stats?${params}`);
return res.data;
}
export async function getTenantUsuarios(tenantId: string): Promise<TenantUsuario[]> {
const res = await apiClient.get<{ data: TenantUsuario[] }>(`/admin/clientes/${tenantId}/usuarios`);
return res.data.data;
}