13 lines
465 B
TypeScript
13 lines
465 B
TypeScript
import { Prisma } from "@toolctrl/db/prisma-browser";
|
|
import { dbRead } from "~/utils/db.server";
|
|
|
|
export async function groupUniqueVisitorsBy(by: Prisma.AnalyticsUniqueVisitorScalarFieldEnum) {
|
|
// Pure aggregation for analytics dashboards — eventually-consistent is fine.
|
|
return (
|
|
await dbRead.analyticsUniqueVisitor.groupBy({
|
|
by: [by],
|
|
_count: true,
|
|
})
|
|
).map((f) => ({ name: f[by]?.toString() ?? ("" as string), count: f._count }));
|
|
}
|