18 lines
425 B
TypeScript
18 lines
425 B
TypeScript
import { z } from "zod";
|
|
|
|
export const analyticsEventTypeSchema = z.enum([
|
|
"PAGE_VIEW",
|
|
"PROJECT_OPEN",
|
|
"MELODY_PLAY",
|
|
"PROJECT_LINK_CLICK",
|
|
"CONTACT_SUBMITTED",
|
|
]);
|
|
|
|
export const analyticsEventSchema = z.object({
|
|
type: analyticsEventTypeSchema,
|
|
path: z.string().trim().max(2048).optional(),
|
|
entityId: z.string().cuid().optional(),
|
|
});
|
|
|
|
export type AnalyticsEventInput = z.infer<typeof analyticsEventSchema>;
|