database-bridge-lambda/src/services/grafanaReportingService.ts (16 lines of code) (raw):

import { MetricRequest } from "../../../shared/types/grafanaType"; import { getUniqueUsersPerHourInRange } from "../sql/Item"; import { Sql } from "../../../shared/database/types"; export const getMetrics = async (sql: Sql, metricRequest: MetricRequest) => { console.log(`processing grafana request`, metricRequest); const { metric } = metricRequest; switch (metric) { case "uniqueUsers": { return await getUniqueUsersPerHourInRange(sql, metricRequest.range); } default: throw Error( `No handler for '${metric}' target. @typescript-eslint/switch-exhaustiveness-check should have caught this` ); } };