IIC2513 / Syllabus-S1-2024-1

Sección 1 - Antonio Ossa
38 stars 1 forks source link

[T3] Problema con obtener entries de usuario desde frontend #193

Open carlosiskindacool opened 7 months ago

carlosiskindacool commented 7 months ago

Hola, estaba probando si las request que se realizan a consecuencia de la interacción con el frontend de la aplicación funcionaban y me di cuenta que al ingresar un usuario desde el Landing no carga sus entries. Al revisar código me di cuenta que al hacer la request a la API con el nombre de usuario ingresado, éste no se pasa de manera correcta ya que el body que retorna la request GET /users/username parece no poder ser "accesible". Me di cuenta haciendo logs de las variables que almacenan los valores retornados de la request: image

Esto en el archivo Landing.jsx en la parte de la variable const_config post, en el bloque try donde se hace la request de las entries con el username retornado obtenido de la request de la info de username. Probando con postman, aparentemente mis requests funcionan así que asumo que el problema puede estar en el archivo Landing.jsx. No sé muy bien como abordar esto ya que se indicó que los archivos de frontend no deben ser modificados.

vjimenezs commented 7 months ago

Hola!

En el frontend, entiendo que estás teniendo problemas con esta parte (ya que user te aparece como no definido):

if (response_post.status == 201) {
  const user = response_post.data.username
  navigate(`/Entries/${user}`)
}

Estás enviando el status 201 desde el backend?

(Como comentario extra, veo que tu usuario está siendo creado con un id, lo que es incorrecto, porque User debe funcionar con username en lugar de id)

carlosiskindacool commented 7 months ago

Hola. Sí, estoy enviando status: 201. El problema se soluciona cambiando const user = response_get.data.username; a const user = response_get.data[0].username;,

Añadí la columna id (así como createdAt y updatedAt) a la tabla de Users porque la consulta generada por .findAll utiliza esas columnas y si no existen tira error.

vjimenezs commented 7 months ago

En el endpoint GET /users/:username estas utilizando findAll o findOne?

carlosiskindacool commented 7 months ago

Estaba usando findAll. Ahí se arregló. Muchas graciass