Files
saladeaula.digital/apps/admin.saladeaula.digital/app/routes/_.$orgid.enrollments.add/data.ts
2025-12-11 12:14:17 -03:00

41 lines
790 B
TypeScript

import { z } from 'zod'
export const enrollment = z.object({
user: z
.object(
{
id: z.string(),
name: z.string(),
email: z.string(),
cpf: z.string()
},
{ 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(100)
})
export type Schema = z.infer<typeof formSchema>
export const MAX_ITEMS = 100