uniqid('host_'), 'participants' => [], 'offer' => null, 'host_candidates' => [], 'participant_candidates' => [], 'createdAt' => time() ]; saveRoomData($roomCode, $roomData); echo json_encode(['roomCode' => $roomCode]); break; case 'get-room-details': $roomData = getRoomData($roomCode); if ($roomData) { echo json_encode($roomData); } else { http_response_code(404); echo json_encode(['error' => 'Room not found']); } break; case 'signal': $roomData = getRoomData($roomCode); if ($roomData) { $signal = json_decode(file_get_contents('php://input'), true); if (isset($signal['offer'])) { $roomData['offer'] = $signal['offer']; } if (isset($signal['answer'])) { $roomData['answer'] = $signal['answer']; } if (isset($signal['candidate'])) { if ($signal['isHost']) { $roomData['host_candidates'][] = $signal['candidate']; } else { $roomData['participant_candidates'][] = $signal['candidate']; } } saveRoomData($roomCode, $roomData); echo json_encode(['success' => true]); } else { http_response_code(404); echo json_encode(['error' => 'Room not found']); } break; default: http_response_code(400); echo json_encode(['error' => 'Invalid action']); }