36 lines
1.1 KiB
TypeScript
36 lines
1.1 KiB
TypeScript
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(),
|
|
});
|