Why is my query call returning extra data that I didn’t request?

I have an issue where changing the status of a turn causes it to appear in other views where it shouldn’t. For example, if I set a turn in ‘technical support’ to ‘pending,’ it also appears in ‘payment’ and ‘inquiry,’ even though it should only be shown in the designated view without altering the data.

function setupSocketHandlers(socket) {
    const handleDatabaseQuery = async (query, params) => {
        try {
            const res = await pool.query(query, params);
            return res.rows;
        } catch (error) {
            console.error('Database query error:', error);
            throw error;
        }
    };

// Función para obtener los turnos por destino
const getTurnosByDestino = async (destino) => {
    try {
      return await handleDatabaseQuery(
        'SELECT * FROM turnos WHERE DESTINO = $1 AND ESTADO = $2 OR ESTADO = $3 OR ESTADO = $4 ORDER BY CREADO_A ASC',
        [destino, 'PENDIENTE', 'ATENDIENDO', 'LLAMANDO']
      );
    } catch (error) {
      throw new Error(`Error fetching turnos for destino ${destino}`);
    }
  };
// Emitir el evento para que los clientes recarguen la lista de turnos
io.emit('turnosActualizados'); // Este evento se usará para refrescar la vista
  // Consulta para "Técnica"
  socket.on('getUsuarioTecnica', async () => {
    try {
      const turnos = await getTurnosByDestino('TECNICA');
      socket.emit('respuestaUsuarioTecnica', turnos);
    } catch (error) {
      socket.emit('error', 'Error fetching turnos de tecnica');
    }
  });
  
  // Consulta para "Pagos"
  socket.on('getUsuarioPagos', async () => {
    try {
      const turnos = await getTurnosByDestino('PAGO');
      socket.emit('respuestaUsuarioPagos', turnos);
    } catch (error) {
      socket.emit('error', 'Error fetching turnos de pagos');
    }
  });
  
  // Consulta para "Consulta"
  socket.on('getUsuarioConsulta', async () => {
    try {
      const turnos = await getTurnosByDestino('CONSULTA');
      socket.emit('respuestaUsuarioConsulta', turnos); 
    } catch (error) {
      socket.emit('error', 'Error fetching turnos de consulta');
    }
  });

// Crear turno  
socket.on('crearTurno', async (body) => {
    const { DNI, DESTINO } = body;
    try {
      const nuevoTurno = await handleDatabaseQuery(
        'INSERT INTO turnos (DNI, DESTINO, ESTADO) VALUES ($1, $2, $3) RETURNING *',
        [DNI, DESTINO, 'PENDIENTE']
      );
      
      // Emitir los turnos actualizados a todos los clientes
      io.emit('turnosActualizados');  // Esto emite a todos los clientes conectados
      socket.emit('respuestaCrearTurno', nuevoTurno); // Emitir la respuesta al cliente que lo solicitó
    } catch (error) {
      console.error(error);  // Mostrar el error en consola para más detalles
      socket.emit('error', 'Error creando turnos');
    }
  });
  

socket.on('actualizarEstadoDelTurno', async (body) => {
    const { id, ESTADO } = body;
    try {
      const turnoActualizado = await handleDatabaseQuery(
        'UPDATE turnos SET ESTADO = $1, creado_a = NOW() WHERE id = $2 RETURNING *',
        [ESTADO, id]
      );
  // Emitir el evento para que los clientes recarguen la lista de turnos
io.emit('turnosActualizados'); // Este evento se usará para refrescar la vista
      socket.emit('respuestaActualizarEstado', turnoActualizado);
    } catch (error) {
      socket.emit('error', 'Error actualizando el estado del turno');
    }
  });
  
  socket.on('comentarTurno', async (body) => {
    const { id, comentario } = body;
    try {
      const turnoActualizado = await handleDatabaseQuery(
        'UPDATE turnos SET comentario = $1 WHERE id = $2 RETURNING *',
        [comentario, id]
      );
      // Emitir el evento para que los clientes recarguen la lista de turnos
      io.emit('turnosActualizados'); // Este evento se usará para refrescar la vista
  
      socket.emit('respuestaComentarTurno', turnoActualizado);
    } catch (error) {
      socket.emit('error', 'Error comentando el turno');
    }
  });

  const getTurnosByDestinoComentarios = async (destino) => {
    try {
      return await handleDatabaseQuery(
        'SELECT * FROM turnos WHERE DESTINO = $1 AND ESTADO = $2 AND comentario IS NOT NULL ORDER BY CREADO_A ASC',
        [destino, 'LISTO']
      );
    } catch (error) {
      throw new Error(`Error fetching turnos for destino ${destino}`);
    }
  };
  // Emitir el evento para que los clientes recarguen la lista de turnos
io.emit('turnosActualizados'); // Este evento se usará para refrescar la vista
  // Consulta para "Técnica comentados"
  socket.on('getUsuarioTecnicaComentado', async () => {
    try {
      const turnos = await getTurnosByDestinoComentarios('TECNICA');
      socket.emit('respuestaResponderTurnoTecnica', turnos);
    } catch (error) {
      socket.emit('error', 'Error fetching turnos de tecnica');
    }
  });
  
  // Consulta para "Pagos comentados"
  socket.on('getUsuarioPagosComentado', async () => {
    try {
      const turnos = await getTurnosByDestinoComentarios('PAGO');
      socket.emit('respuestaResponderTurnoPago', turnos);
    } catch (error) {
      socket.emit('error', 'Error fetching turnos de pagos');
    }
  });
  
  // Consulta para "Consulta comentados"
  socket.on('getUsuarioConsultaComentado', async () => {
    try {
      const turnos = await getTurnosByDestinoComentarios('CONSULTA');
      socket.emit('respuestaResponderTurnoConsulta', turnos); 
    } catch (error) {
      socket.emit('error', 'Error fetching turnos de consulta');
    }
  }); 
  }
io.on('connection', (socket) => {
setupSocketHandlers(socket);
});

server.listen(3000, () => {
  console.log('Server listening on port 3000');
});