2016-12-23 14 views
0

Я только что получил свою первую реляционную схему базы данных/запрос/резольвер, работающую в apollo/postgres/sequelize, вплоть до момента, когда распознаватель возвращает данные клиенту. Очевидно, что у меня пока нет данных в правильной форме, так как на клиентском компьютере это не так.Apollo: Требуемая форма ответа сервера?

QUERY

const CREATE_APPT_MUTATION = gql` 
      mutation createAPPT ($originatingUserID: String!, $apptWithUserID: String!, $apptDateTime: String!, $apptNotes: String!, $apptTitle: String!){ 
       createAPPT(originatingUserID: $originatingUserID, apptWithUserID: $apptWithUserID, apptDateTime: $apptDateTime, apptNotes: $apptNotes, apptTitle: $apptTitle){ 
        originatingUserID 
        apptWithUserID 
        apptDateTime 
        apptNotes 
        apptTitle 
       } 
      } 
`; 

ТОКА ФОРМЫ ИЗ ОТВЕТА RESOLVER

Via console.log работает на сервере, перед отправкой клиенту:

{ data: 
    { __typename: 'Mutation', 
    createAPPT: 
     { id: '76', 
     originatingUserID: 'DsmkoaYPeAumREsqC', 
     apptWithUserID: '9W95z8A7Y6i34buk7', 
     apptDateTime: '2016-12-24T02:48:50.000Z', 
     apptTitle: 'Appointment with Benedict Sama', 
     apptNotes: 'asdf', 
     createdAt: Fri Dec 23 2016 10:49:12 GMT-0800 (PST), 
     updatedAt: Fri Dec 23 2016 10:49:12 GMT-0800 (PST), 
     UserData: [Object], 
     __typename: 'Appts' 
     } 
    } 
} 

КАК ЭТО СМОТРЕТЬ В ИНСТРУМЕНТАХ ХРОМА DEV, КОГДА ЭТО ПРИХОДИТ НАЗАД КЛИЕНТ

mutationResult: Object 
    data: Object 
     createAPPT: Object 
      __typename: "Appts" 
      apptDateTime: null 
      apptNotes: null 
      apptTitle: null 
      apptWithUserID: null 
      originatingUserID: null 
     __proto__: Object 
    __proto__: Object 
__proto__: Object 

FINAL THEN БЛОК В RESOLVER

.then(apptWithJoinedData => { 
     //package up the results in the way that the client is expecting 
     const apptDataValues = apptWithJoinedData[0].dataValues; 
     apptDataValues.__typename = "Appts"; 
     var serverResponse = {}; 
     serverResponse.data = {}; 
     serverResponse.data.__typename = 'Mutation'; 
     serverResponse.data.createAPPT = apptDataValues; 

     // publish subscription notification 
     debugger; 
     console.log(serverResponse); 
     pubsub.publish('APPTAdded', serverResponse); 
     return serverResponse; 
    }) 

Может кто-то мне точку в направлении, видя, что случилось с формой ответа сервера?

ответ

0

Я получил все данные, для массива UserData, за исключением, к серверу, изменив последний then блок:

  .then(apptWithJoinedData => { 
       // publish subscription notification 
       debugger; 
       console.log('createAPPT cp#2'); 
       console.log(apptWithJoinedData); 
       pubsub.publish('APPTAdded', apptWithJoinedData); 
       return apptWithJoinedData; 
      }) 

я до сих пор получить, что UserData к серверу, но это тема для другого потока.

 Смежные вопросы

  • Нет связанных вопросов^_^