refactor(simulator): enhance mobile simulator UI with updated styles, improved security policies, and WebRTC signaling support
This commit is contained in:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user