OverviewUsage.schema.ts22 lines · main
1import { z } from 'zod'
2
3export const AuthMetricsPeriodSchema = z.enum(['current', 'previous'])
4
5export const RawAuthMetricsRowSchema = z.object({
6 period: AuthMetricsPeriodSchema,
7 active_users: z.number().min(0),
8 api_error_requests: z.number().min(0),
9 api_total_requests: z.number().min(0),
10 auth_total_errors: z.number().min(0),
11 auth_total_requests: z.number().min(0),
12 password_reset_requests: z.number().min(0),
13 sign_up_count: z.number().min(0),
14})
15
16export const RawAuthMetricsResponseSchema = z.object({
17 result: z.array(RawAuthMetricsRowSchema),
18 error: z.unknown().nullable(),
19})
20
21export type RawAuthMetricsRow = z.infer<typeof RawAuthMetricsRowSchema>
22export type RawAuthMetricsResponse = z.infer<typeof RawAuthMetricsResponseSchema>