frontend: align types to backend, playout HLS, rm Jellyfin proxy (#12)
This commit is contained in:
@@ -26,9 +26,7 @@ export const mediaFilterSchema = z.object({
|
||||
|
||||
export const accessModeSchema = z.enum([
|
||||
"public",
|
||||
"password_protected",
|
||||
"account_required",
|
||||
"owner_only",
|
||||
"private",
|
||||
]);
|
||||
|
||||
export const blockSchema = z.object({
|
||||
@@ -40,7 +38,7 @@ export const blockSchema = z.object({
|
||||
z.object({
|
||||
type: z.literal("algorithmic"),
|
||||
filter: mediaFilterSchema,
|
||||
strategy: z.enum(["best_fit", "sequential", "random"]),
|
||||
strategy: z.enum(["best_fit", "sequential", "random", "alternating", "weighted", "marathon"]),
|
||||
provider_id: z.string().optional(),
|
||||
}),
|
||||
z.object({
|
||||
@@ -50,7 +48,7 @@ export const blockSchema = z.object({
|
||||
}),
|
||||
]),
|
||||
loop_on_finish: z.boolean().optional(),
|
||||
ignore_recycle_policy: z.boolean().optional(),
|
||||
ignore_rotation_policy: z.boolean().optional(),
|
||||
access_mode: accessModeSchema.optional(),
|
||||
access_password: z.string().optional(),
|
||||
});
|
||||
@@ -63,7 +61,7 @@ export const channelFormSchema = z.object({
|
||||
.default(() =>
|
||||
Object.fromEntries(WEEKDAYS.map(d => [d, []])) as unknown as Record<Weekday, z.infer<typeof blockSchema>[]>
|
||||
),
|
||||
recycle_policy: z.object({
|
||||
rotation_policy: z.object({
|
||||
cooldown_days: z.number().int().min(0).nullable().optional(),
|
||||
cooldown_generations: z.number().int().min(0).nullable().optional(),
|
||||
min_available_ratio: z
|
||||
|
||||
Reference in New Issue
Block a user