refactor(backend): split stream routes into focused modules

This commit is contained in:
2026-04-16 12:30:00 +01:00
parent 9a8603e5cd
commit 68ecc82bd9
11 changed files with 920 additions and 857 deletions

View File

@@ -0,0 +1,29 @@
import { z } from 'zod';
export const requestStreamSchema = z.object({
cameraDeviceId: z.string().uuid(),
reason: z.enum(['on_demand', 'motion_follow_up']).default('on_demand'),
metadata: z.record(z.string(), z.unknown()).optional(),
});
export const acceptStreamSchema = z.object({
streamKey: z.string().trim().min(1).max(255).optional(),
metadata: z.record(z.string(), z.unknown()).optional(),
});
export const endStreamSchema = z.object({
reason: z.enum(['completed', 'cancelled', 'failed']).default('completed'),
});
export const streamParamSchema = z.object({
streamSessionId: z.string().uuid(),
});
export const sfuTransportRequestSchema = z.object({
role: z.enum(['camera', 'viewer']).optional(),
});
export const listSchema = z.object({
status: z.string().optional(),
limit: z.coerce.number().int().min(1).max(100).default(25),
});