Files
saladeaula.digital/apps/admin.saladeaula.digital/app/routes/_.$orgid.enrollments.add/data.ts

41 lines
798 B
TypeScript

import { z } from 'zod'
export const MAX_ITEMS = 50
export const enrollment = z.object({
user: z
.object(
{
id: z.string(),
name: z.string(),
email: z.string(),
cpf: z.string('a')
},
{ error: 'Escolhe um colaborador' }
)
.required(),
course: z
.object(
{
id: z.string(),
name: z.string(),
access_period: z.number(),
unit_price: z.number()
},
{ error: 'Escolha um curso' }
)
.required(),
deduplication_window: z
.object({
offset_days: z.number()
})
.optional(),
scheduled_for: z.date().optional()
})
export const formSchema = z.object({
enrollments: z.array(enrollment).min(1).max(MAX_ITEMS)
})
export type Schema = z.infer<typeof formSchema>