import * as z from "zod"; import { Id } from "./ids.js"; export const ProjectGoalStatusSchema = z.enum(["open", "doing", "done"]); export type ProjectGoalStatus = z.infer; export const ProjectGoalSchema = z.object({ id: Id, sectionId: Id, groupId: Id.nullable(), title: z.string(), description: z.string().nullable(), status: ProjectGoalStatusSchema, createdAt: z.string(), updatedAt: z.string(), }); export type ProjectGoal = z.infer; export const CreateProjectGoalInput = z.object({ sectionId: Id, title: z.string().trim().min(1).max(200), description: z.string().trim().max(4_000).optional(), status: ProjectGoalStatusSchema.default("open"), groupId: Id.optional(), }); export const UpdateProjectGoalInput = z.object({ goalId: Id, title: z.string().trim().min(1).max(200).optional(), description: z.string().trim().max(4_000).nullable().optional(), status: ProjectGoalStatusSchema.optional(), groupId: Id.nullable().optional(), });