refactor(simulator): enhance mobile simulator UI with updated styles, improved security policies, and WebRTC signaling support

This commit is contained in:
2026-02-03 11:00:00 +00:00
parent f1919ca0e1
commit a2f6a22f97
5 changed files with 1184 additions and 790 deletions

View File

@@ -3,7 +3,7 @@ import { Router } from 'express';
import { z } from 'zod';
import { db } from '../db/client';
import { devices } from '../db/schema';
import { deviceLinks, devices } from '../db/schema';
import { requireAuth } from '../middleware/auth';
import { requireDeviceAuth } from '../middleware/device-auth';
import { createDeviceToken } from '../utils/device-token';
@@ -84,6 +84,22 @@ router.post('/register', requireAuth, async (req, res) => {
return;
}
const oppositeRole = device.role === 'camera' ? 'client' : 'camera';
const oppositeDevices = await db.query.devices.findMany({
where: and(eq(devices.userId, device.userId), eq(devices.role, oppositeRole)),
});
if (oppositeDevices.length > 0) {
const linksToCreate = oppositeDevices.map((otherDevice) => ({
ownerUserId: device.userId,
cameraDeviceId: device.role === 'camera' ? device.id : otherDevice.id,
clientDeviceId: device.role === 'client' ? device.id : otherDevice.id,
status: 'active' as const,
}));
await db.insert(deviceLinks).values(linksToCreate).onConflictDoNothing();
}
const deviceToken = createDeviceToken({
userId: device.userId,
deviceId: device.id,