Files
Edu/services/classes/src/classes/classes.dto.ts
SpecialX 2ba4250165
Some checks failed
CI Go / test (push) Has been cancelled
CI Proto / lint (push) Has been cancelled
CI Python / test (push) Has been cancelled
CI TypeScript / test (push) Has been cancelled
feat(p1): complete P1 foundation stage
- monorepo: pnpm workspace + go.work + pyproject.toml + commitlint/husky
- infra: docker-compose (minimal + full profiles) + init-sql + prometheus
- arch-scan: multi-language scanner skeleton (TS/Go/Python/Proto)
- shared-proto: buf v2 + classes.proto (ClassService CRUD contract)
- api-gateway: Go/Gin + JWT HS256 auth + reverse proxy + request ID
- classes: NestJS golden template (error system + observability + middleware + CRUD + tests)
- teacher-portal: Next.js + paper-feel UI design system
- CI/CD: 4 workflows (go/ts/py/proto)
- docs: migration guide + project_rules + coding-standards + git-workflow + ui-design-system + 004 + 9 module READMEs + known-issues + spec/plan migration + roadmap
2026-07-07 23:39:37 +08:00

18 lines
577 B
TypeScript

import { z } from 'zod';
export const createClassSchema = z.object({
name: z.string().min(1).max(100),
gradeId: z.string().uuid(),
headTeacherId: z.string().uuid().optional(),
description: z.string().max(2000).optional(),
});
export const updateClassSchema = z.object({
name: z.string().min(1).max(100).optional(),
headTeacherId: z.string().uuid().optional().nullable(),
description: z.string().max(2000).optional().nullable(),
});
export type CreateClassDto = z.infer<typeof createClassSchema>;
export type UpdateClassDto = z.infer<typeof updateClassSchema>;