frontend: align types to backend, playout HLS, rm Jellyfin proxy (#12)
This commit is contained in:
@@ -11,7 +11,7 @@ import {
|
||||
DialogFooter,
|
||||
} from "@/components/ui/dialog";
|
||||
import { Button } from "@/components/ui/button";
|
||||
import type { ProgrammingBlock, RecyclePolicy } from "@/lib/types";
|
||||
import type { ProgrammingBlock, RotationPolicy } from "@/lib/types";
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// Import schema — lenient so LLM output and community exports both work
|
||||
@@ -37,7 +37,7 @@ const importBlockSchema = z.object({
|
||||
max_duration_secs: z.number().nullable().optional(),
|
||||
collections: z.array(z.string()).default([]),
|
||||
}),
|
||||
strategy: z.enum(["best_fit", "sequential", "random"]).default("random"),
|
||||
strategy: z.enum(["best_fit", "sequential", "random", "alternating", "weighted", "marathon"]).default("random"),
|
||||
}),
|
||||
z.object({
|
||||
type: z.literal("manual"),
|
||||
@@ -46,7 +46,7 @@ const importBlockSchema = z.object({
|
||||
]),
|
||||
});
|
||||
|
||||
const recyclePolicySchema = z
|
||||
const rotationPolicySchema = z
|
||||
.object({
|
||||
cooldown_days: z.number().int().min(0).nullable().optional(),
|
||||
cooldown_generations: z.number().int().min(0).nullable().optional(),
|
||||
@@ -62,7 +62,7 @@ const importSchema = z
|
||||
timezone: z.string().default("UTC"),
|
||||
blocks: z.array(importBlockSchema).optional(),
|
||||
schedule_config: z.object({ blocks: z.array(importBlockSchema).optional() }).optional(),
|
||||
recycle_policy: recyclePolicySchema,
|
||||
rotation_policy: rotationPolicySchema,
|
||||
})
|
||||
.transform((d) => ({
|
||||
name: d.name,
|
||||
@@ -72,7 +72,7 @@ const importSchema = z
|
||||
...b,
|
||||
id: b.id ?? crypto.randomUUID(),
|
||||
})) as ProgrammingBlock[],
|
||||
recycle_policy: d.recycle_policy as RecyclePolicy,
|
||||
rotation_policy: d.rotation_policy as RotationPolicy,
|
||||
}));
|
||||
|
||||
export type ChannelImportData = z.output<typeof importSchema>;
|
||||
|
||||
Reference in New Issue
Block a user