feat(frontend): ScheduleConfig V2 types, weekday schema, export update
This commit is contained in:
@@ -1,4 +1,10 @@
|
||||
import { z } from "zod";
|
||||
import { WEEKDAYS } from "@/lib/types";
|
||||
import type { Weekday } from "@/lib/types";
|
||||
|
||||
const weekdaySchema = z.enum([
|
||||
'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday', 'sunday',
|
||||
]);
|
||||
|
||||
export const mediaFilterSchema = z.object({
|
||||
content_type: z.enum(["movie", "episode", "short"]).nullable().optional(),
|
||||
@@ -53,7 +59,10 @@ export const channelFormSchema = z.object({
|
||||
name: z.string().min(1, "Name is required"),
|
||||
timezone: z.string().min(1, "Timezone is required"),
|
||||
description: z.string().optional(),
|
||||
blocks: z.array(blockSchema),
|
||||
day_blocks: z.record(weekdaySchema, z.array(blockSchema))
|
||||
.default(() =>
|
||||
Object.fromEntries(WEEKDAYS.map(d => [d, []])) as unknown as Record<Weekday, z.infer<typeof blockSchema>[]>
|
||||
),
|
||||
recycle_policy: z.object({
|
||||
cooldown_days: z.number().int().min(0).nullable().optional(),
|
||||
cooldown_generations: z.number().int().min(0).nullable().optional(),
|
||||
|
||||
Reference in New Issue
Block a user