import { z } from 'zod'; import { createPageSchema, createPageSizeSchema, createPaginationSchema } from './pagination.js'; const isoDateTimeSchema = z.string().datetime(); const pageSchema = createPageSchema(); const pageSizeSchema = createPageSizeSchema(10); const paginationSchema = createPaginationSchema(); export const StudentDtoSchema = z.object({ id: z.string(), groupId: z.string(), fullName: z.string(), email: z.string().nullable(), phone: z.string().nullable(), guardianName: z.string().nullable(), guardianPhone: z.string().nullable(), notes: z.string().nullable(), createdAt: isoDateTimeSchema, updatedAt: isoDateTimeSchema, }); export type StudentDto = z.output; export const StudentQuerySchema = z.object({ page: pageSchema, pageSize: pageSizeSchema, }); export type StudentQuery = z.output; export const StudentListSchema = z.object({ data: z.array(StudentDtoSchema), pagination: paginationSchema, }); export type StudentList = z.output;