VendeeDocs
Backend

Funcoes

RPCs de dashboard, seed e auto-close

O banco possui funcoes RPC (Remote Procedure Call) chamadas pelo frontend via supabase.rpc().

RPCs de Dashboard

Usadas pelo hook use-dashboard.ts para calcular metricas:

FuncaoDescricao
get_dashboard_kpisKPIs principais (total de negocios, valor, taxa de conversao)
get_deals_timelineTimeline de negocios por periodo
get_deals_by_ownerNegocios agrupados por responsavel
get_loss_reasons_distributionDistribuicao de motivos de perda
get_activities_summaryResumo de atividades por periodo
get_qualifications_distributionDistribuicao de scores de qualificacao

Uso no frontend

const { data } = useQuery({
  queryKey: ["dashboard-kpis", workspaceId, dateRange],
  queryFn: async () => {
    const { data, error } = await supabase.rpc("get_dashboard_kpis", {
      p_workspace_id: workspaceId,
      p_start_date: startDate,
      p_end_date: endDate,
    });
    if (error) throw error;
    return data;
  },
});

Event logs

O sistema registra eventos automaticamente em event_logs e pipeline_logs:

  • deal_created — Negocio criado
  • stage_changed — Etapa alterada
  • deal_won — Negocio ganho
  • deal_lost — Negocio perdido

Esses logs sao usados na tab "Historico" do detalhe do negocio.

Kanban ordering

O Kanban usa fractional indexing (fractional-indexing package) para ordenar cards sem precisar reindexar todos:

import { generateKeyBetween } from "fractional-indexing";

const newOrder = generateKeyBetween(prevOrder, nextOrder);

On this page