Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | 1x 4x 4x 4x 1x 3x | import { request } from "./base";
export type MetricsWindow = {
d1: number;
d2: number;
d7: number;
d30: number;
};
export type LeadershipMetrics = {
leads: MetricsWindow;
landingLeads: MetricsWindow;
pros: MetricsWindow;
homeowners: MetricsWindow;
generatedAt: string;
};
export const leadershipMetricsApi = {
async get(options?: { fresh?: boolean }): Promise<LeadershipMetrics> {
const qs = options?.fresh ? "?fresh=1" : "";
const response = await request<LeadershipMetrics>(
`/api/leadership-metrics${qs}`,
);
if (!response.data) {
throw new Error("Empty metrics response");
}
return response.data;
},
};
|