prepare('DELETE FROM turnero_dispositivos WHERE id = ?')->execute([$id]); jsonOk([], 'Dispositivo eliminado'); } $ip = trim($input['ip'] ?? ''); $nombre = trim($input['nombre'] ?? ''); $lugarId = (int)($input['lugar_id'] ?? 0); $activo = (int)($input['activo'] ?? 1); $token = trim($input['token'] ?? '') ?: null; if ($nombre === '') jsonError('El nombre es requerido'); if ($lugarId <= 0) jsonError('Debes asignar un lugar'); if ($ip === '' && $token === null) jsonError('Se requiere IP o token de dispositivo'); if ($id) { $stmt = db()->prepare( 'UPDATE turnero_dispositivos SET ip=?, nombre=?, lugar_id=?, activo=?, token=? WHERE id=?' ); $stmt->execute([$ip, $nombre, $lugarId, $activo, $token, $id]); jsonOk(['id' => $id], 'Dispositivo actualizado'); } else { $stmt = db()->prepare( 'INSERT INTO turnero_dispositivos (ip, nombre, lugar_id, activo, token) VALUES (?, ?, ?, ?, ?) ON DUPLICATE KEY UPDATE nombre=VALUES(nombre), lugar_id=VALUES(lugar_id), activo=VALUES(activo), token=VALUES(token)' ); $stmt->execute([$ip, $nombre, $lugarId, $activo, $token]); jsonOk(['id' => (int)db()->lastInsertId()], 'Dispositivo creado'); }