es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Amplificar error de validación de DataStore de tipo CampoNoDefinido

Tengo un problema con DataStore.save(). Quiero crear una sala de chat, pero obtengo el siguiente error:

DataStore – subscriptionError, Error de conexión: {“errors”:[{“message”:”Error de validación de tipo FieldUndefined: El campo ‘chatroom’ en el tipo ‘ChatRoomUser’ no está definido en ‘onUpdateChatRoomUser/chatroom'”}]}

Estoy utilizando react-native y Expo.

Mi función:

const onPress = async () => {
      //Crear una sala de chat
      const newChatRoom = await DataStore.save(new ChatRoom({newMessages: 0}))
      //Conectar usuario autenticado con la sala de chat
      const authUser = await Auth.currentAuthenticatedUser()
      const dbUser = await DataStore.query(User, authUser.attributes.sub)
      await DataStore.save(new ChatRoomUser({
        user: dbUser,
        chatroom: newChatRoom
      }))

<pre><code>  //Conectar usuario seleccionado con la sala de chat
  await DataStore.save(new ChatRoomUser({
    user,
    chatroom: newChatRoom
  }))

  console.log(newChatRoom)

  navigation.navigate('ChatRoom' as never, {id: newChatRoom.id} as never)
}
</code></pre>

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    El mensaje de error sugiere que el campo ‘chatroom’ en el tipo ‘ChatRoomUser’ está indefinido. Esto puede ser debido a una mala configuración en el esquema de GraphQL o en el modelo de datos.

    Una posible solución es verificar si el campo ‘chatroom’ está definido en el modelo ChatRoomUser y si está correctamente conectado al modelo ChatRoom.

    Otra posible solución es actualizar la API de DataStore a la última versión y verificar si el problema persiste.

    Además, puede ser útil inspeccionar los registros del servidor y verificar si hay mensajes de error relevantes.

    En general, este problema requiere más depuración e investigación para determinar la causa raíz del error.

Comments are closed.