diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 758b819..83d819a 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -110,3 +110,9 @@ model VerificationToken { @@unique([identifier, token]) } + +model UsageMetrics { + id String @id @default(cuid()) + action String + createdAt DateTime @default(now()) +} \ No newline at end of file diff --git a/src/app/find-the-expert/[role]/page.tsx b/src/app/find-the-expert/[role]/page.tsx index 66ef65d..683c789 100644 --- a/src/app/find-the-expert/[role]/page.tsx +++ b/src/app/find-the-expert/[role]/page.tsx @@ -7,6 +7,7 @@ import ButtonSkeleton from "~/components/loading/button-loader"; import { Login } from "~/components/login"; import ShowDataTable from "~/components/show-data-table"; import { getServerAuthSession } from "~/server/auth"; +import { api } from "~/trpc/server"; import { extractUniqueIds, fetchUserAnswersForRole, @@ -39,7 +40,8 @@ const ContentSection = () => ( const FindTheExpertPage = async () => { const session = await getServerAuthSession(); - + await api.usageMetricLogger.logUsageMetric.mutate({logMessage: 'find-the-expert-page-filtered-on-role'}); + return (

diff --git a/src/app/result/[role]/page.tsx b/src/app/result/[role]/page.tsx index 80e5546..50d8613 100644 --- a/src/app/result/[role]/page.tsx +++ b/src/app/result/[role]/page.tsx @@ -1,7 +1,6 @@ import React, { Suspense } from "react"; import { db } from "~/server/db"; import { - type Role, type QuestionResult, type TransformedData, } from "~/models/types"; diff --git a/src/components/additional-buttons-homepage.tsx b/src/components/additional-buttons-homepage.tsx index d131ea9..22f01d5 100644 --- a/src/components/additional-buttons-homepage.tsx +++ b/src/components/additional-buttons-homepage.tsx @@ -5,8 +5,15 @@ import { Login } from "./login"; import { Button } from "./ui/button"; import { ArrowRightDarkModeFriendly } from "./svg"; import { signIn } from "next-auth/react"; +import { api } from "~/trpc/react"; const Buttons = ({ session }: { session: Session | null }) => { + const {mutate: logUsageMetric} = api.usageMetricLogger.logUsageMetric.useMutation(); + + const handleLogging = () => { + logUsageMetric({logMessage:'find-the-expert-page-accessed'}); + } + return (
@@ -24,8 +31,10 @@ const Buttons = ({ session }: { session: Session | null }) => {