import { z } from "zod";

export const surveyStatusSchema = z.enum(["draft", "active", "closed"]);

export const createSurveySchema = z.object({
  title: z.string().min(1).max(500).optional(),
});

export const updateSurveySchema = z.object({
  title: z.string().min(1).max(500).optional(),
  description: z.string().max(5000).optional().nullable(),
  status: surveyStatusSchema.optional(),
});

export const surveyStatusTransitionSchema = z.object({
  surveyId: z.string().uuid(),
  status: surveyStatusSchema,
});

export type CreateSurveyInput = z.infer<typeof createSurveySchema>;
export type UpdateSurveyInput = z.infer<typeof updateSurveySchema>;
