Files
CapaKraken/packages/api/src/router/timeline-allocation-mutation-schema-support.ts
T

39 lines
1.3 KiB
TypeScript

import { AllocationStatus, UpdateAllocationHoursSchema } from "@capakraken/shared";
import { z } from "zod";
export { UpdateAllocationHoursSchema };
export const timelineQuickAssignInputSchema = z.object({
resourceId: z.string(),
projectId: z.string(),
startDate: z.coerce.date(),
endDate: z.coerce.date(),
hoursPerDay: z.number().min(0.5).max(24).default(8),
role: z.string().min(1).max(200).default("Team Member"),
roleId: z.string().optional(),
status: z.nativeEnum(AllocationStatus).default(AllocationStatus.PROPOSED),
});
export const timelineBatchQuickAssignInputSchema = z.object({
assignments: z
.array(
z.object({
resourceId: z.string(),
projectId: z.string(),
startDate: z.coerce.date(),
endDate: z.coerce.date(),
hoursPerDay: z.number().min(0.5).max(24).default(8),
role: z.string().min(1).max(200).default("Team Member"),
status: z.nativeEnum(AllocationStatus).default(AllocationStatus.PROPOSED),
}),
)
.min(1)
.max(50),
});
export const timelineBatchShiftAllocationsInputSchema = z.object({
allocationIds: z.array(z.string()).min(1).max(100),
daysDelta: z.number().int().min(-3650).max(3650),
mode: z.enum(["move", "resize-start", "resize-end"]).default("move"),
});