feat(projects): переработать проекты и отчётность по проектам
Docker / build (push) Failing after 20s

Добавлены карточка проекта, KPI и фильтры на /projects, отчёты с разрезом по проектам, cascade rename и защита удаления на API.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Denozordec
2026-06-29 19:21:04 +07:00
co-authored by Cursor
parent 0bcea39868
commit 447d499a8d
19 changed files with 1561 additions and 100 deletions
+20 -3
View File
@@ -1,7 +1,24 @@
import { z } from 'zod'
export const projectSchema = z.object({
name: z.string().min(1, 'Укажите название проекта').max(120),
export const serverProjectSchema = z.object({
id: z.string(),
name: z.string(),
color: z.string().nullable().optional(),
sortOrder: z.number().optional(),
notes: z.string().nullable().optional(),
createdAt: z.string().optional(),
})
export type ProjectFormValues = z.infer<typeof projectSchema>
export type ServerProject = z.infer<typeof serverProjectSchema>
export const projectFormSchema = z.object({
id: z.string().optional(),
name: z.string().min(1, 'Укажите название проекта').max(120),
color: z.string().optional().default(''),
notes: z.string().optional().default(''),
})
export type ProjectFormValues = z.infer<typeof projectFormSchema>
/** @deprecated use projectFormSchema */
export const projectSchema = projectFormSchema.pick({ name: true })