/** Resposta bruta de GET /v1/user/metrics/capabilities-usage (Laravel). */
export interface LaravelCapabilitiesUsageResponse {
  clients?: number;
  client_directory_storage_gb?: number;
  open_finance_connections?: number;
  max_portfolios?: number;
}

export interface AdvisorUsageMetrics {
  clients: number;
  openFinanceConnections: number;
  clientDirectoryStorageGb: number | null;
}

export interface AdvisorUsageMetricsResponse {
  metrics: AdvisorUsageMetrics;
}

export function mapLaravelCapabilitiesUsage(
  payload: LaravelCapabilitiesUsageResponse,
): AdvisorUsageMetrics {
  return {
    clients: payload.clients ?? 0,
    openFinanceConnections: payload.open_finance_connections ?? 0,
    clientDirectoryStorageGb: payload.client_directory_storage_gb ?? null,
  };
}
