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 type { Request, Response } from 'express';
import { and, eq } from 'drizzle-orm';
import { db } from '../../db/client';
import { streamSessions } from '../../db/schema';
import { mediaMode, streamRecordingEnabled } from '../../media/config';
export const ensureStreamDeviceAuth = (req: Request, res: Response) => {
const deviceAuth = req.deviceAuth;
if (!deviceAuth) {
res.status(401).json({ message: 'Unauthorized' });
return null;
}
return deviceAuth;
};
export const getOwnedStreamSession = async (streamSessionId: string, ownerUserId: string) =>
await db.query.streamSessions.findFirst({
where: and(eq(streamSessions.id, streamSessionId), eq(streamSessions.ownerUserId, ownerUserId)),
});
export const isStreamParticipant = (
session: { requesterDeviceId: string; cameraDeviceId: string },
deviceId: string,
): boolean => session.requesterDeviceId === deviceId || session.cameraDeviceId === deviceId;
export const shouldCreateRecordingPlaceholder = (): boolean => mediaMode === 'legacy' || streamRecordingEnabled;