Files
SeConectai_Vendas/frontend/lib/api/tenant-dashboard.ts
T
tiagoandClaude Sonnet 5 323912748f Frontend completo (Etapas 11-18) e extensões de backend (Etapas 13 e 18)
Adiciona o frontend Next.js em frontend/ (setup, design system,
autenticação/tema, layout/navegação, área master, área tenant completa:
clientes, produtos, vendas, recebimentos, whatsapp, e-mail, alertas,
equipe e perfil). Estende o backend de forma aditiva e autorizada:
cookie httpOnly para refresh token (Etapa 13) e CRUD de equipe +
edição de perfil do tenant (Etapa 18, módulo src/modules/equipe/ novo
e PUT /tenant/perfil). Detalhes completos em Etapas/V2/*.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-16 09:41:13 -03:00

37 lines
1.1 KiB
TypeScript

import { apiClient } from '@/lib/api/client';
import { buildQuery } from '@/lib/api/types';
import type { SalePayment } from '@/lib/api/sales';
export interface ResumoSemanalRow {
semana: string;
qtd_vendas: number;
total_vendido: number;
}
export interface ResumoMensalRow {
mes: string;
qtd_vendas: number;
total_vendido: number;
}
export interface TenantDashboardFinanceiro {
total_recebido_mes: string;
total_a_receber: string;
total_atrasado: string;
proximas_parcelas: (SalePayment & {
sale: { numero_venda: number; customer: { razao_social: string } };
})[];
}
export function getResumoSemanal(params?: { inicio?: string; fim?: string }) {
return apiClient.get<ResumoSemanalRow[]>(`/tenant/dashboard/resumo-semanal${buildQuery(params ?? {})}`);
}
export function getResumoMensal(params?: { inicio?: string; fim?: string }) {
return apiClient.get<ResumoMensalRow[]>(`/tenant/dashboard/resumo-mensal${buildQuery(params ?? {})}`);
}
export function getFinanceiro(limite = 5) {
return apiClient.get<TenantDashboardFinanceiro>(`/tenant/dashboard/financeiro${buildQuery({ limite })}`);
}