import { z } from "zod";

export const TimelineWindowFiltersSchema = z.object({
  startDate: z.coerce.date(),
  endDate: z.coerce.date(),
  resourceIds: z.array(z.string()).optional(),
  projectIds: z.array(z.string()).optional(),
  clientIds: z.array(z.string()).optional(),
  chapters: z.array(z.string()).optional(),
  eids: z.array(z.string()).optional(),
  countryCodes: z.array(z.string()).optional(),
});

export const TimelineDetailFiltersSchema = z.object({
  startDate: z.string().optional(),
  endDate: z.string().optional(),
  durationDays: z.number().int().min(1).max(366).optional(),
  resourceIds: z.array(z.string()).optional(),
  projectIds: z.array(z.string()).optional(),
  clientIds: z.array(z.string()).optional(),
  chapters: z.array(z.string()).optional(),
  eids: z.array(z.string()).optional(),
  countryCodes: z.array(z.string()).optional(),
});

export const TimelineProjectContextDetailSchema = z.object({
  projectId: z.string(),
  startDate: z.string().optional(),
  endDate: z.string().optional(),
  durationDays: z.number().int().min(1).max(366).optional(),
});

export const TimelineProjectIdSchema = z.object({
  projectId: z.string(),
});
