2
0
Files
bot/packages/schemas/features/blocks/integrations/googleAnalytics.ts

28 lines
883 B
TypeScript
Raw Normal View History

import { z } from 'zod'
import { blockBaseSchema } from '../baseSchemas'
import { IntegrationBlockType } from './enums'
import { variableStringSchema } from '../../utils'
export const googleAnalyticsOptionsSchema = z.object({
trackingId: z.string().optional(),
category: z.string().optional(),
action: z.string().optional(),
label: z.string().optional(),
value: z.number().or(variableStringSchema).optional(),
2023-04-27 13:23:10 +02:00
sendTo: z.string().optional(),
})
export const googleAnalyticsBlockSchema = blockBaseSchema.merge(
z.object({
2022-06-11 07:27:38 +02:00
type: z.enum([IntegrationBlockType.GOOGLE_ANALYTICS]),
options: googleAnalyticsOptionsSchema,
})
)
export const defaultGoogleAnalyticsOptions: GoogleAnalyticsOptions = {}
2022-06-11 07:27:38 +02:00
export type GoogleAnalyticsBlock = z.infer<typeof googleAnalyticsBlockSchema>
export type GoogleAnalyticsOptions = z.infer<
typeof googleAnalyticsOptionsSchema
>