Запрос GraphQL, возвращающий пустой список - PullRequest
0 голосов
/ 16 мая 2019

Я использую sequelize для запроса номеров деталей в таблице, связанной с командой, а затем использую эти номера для поиска отображаемого имени для этой детали. Эти значения помещаются в объект и добавляются в список деталей. Я пытаюсь вернуть этот список клиенту.

Я console.logged переменная "end", чтобы увидеть, если вывод выглядит правильно в зависимости от моего типа graphql, и он выглядит правильно для меня. Это список объектов, каждый из которых имеет part_num, имя и ключ категории, пару значений.

PartsListType GraphQL Тип

const PartsListType = new GraphQLObjectType({
  name:"PartsListItem",
  fields: () => ({
    part_num: {
      type: GraphQLString
    },
    name: {
      type: GraphQLString
    },
    category: {
      type: GraphQLString
    }
  })
})

Запрос

crew_parts: {
  type: new GraphQLList(PartsListType),
  args: {
    crew: {
      type: new GraphQLNonNull(GraphQLString)
    }
  },
  async resolve(parent, args){
    const end = await partsCrewModel.findAll({
      raw: true,
      attributes: ['part_num', 'category'],
      where: {
        crew: args.crew
      }
    }).then(async partList => {
      let queryresults = []
      await partList.forEach(async part => {
         await partsModel.findAll({
           raw:true,
           attributes: ['sap_name'],
           where: {
             part_num: part.part_num
           }
         }).then(results => {
           queryresults.push({
             part_num: part.part_num,
             name: results[0].sap_name,
             category: part.category
           })
         })
         })
         return queryresults
    })
    console.log(end)
    return end
  }
}

Выход журнала Chrome

[]
0: {part_num: "4500344", name: "Packing (w/Brass Ring)", category: "Packing"}
1: {part_num: "2018298", name: "Discharge Seat", category: "Discharge Seat"}
2: {part_num: "2017692", name: "Clamp Plunger", category: "Plunger"}
3: {part_num: "2018299", name: "Discharge Valve ", category: "Discharge Valve"}
4: {part_num: "2018320", name: "Suction Seat", category: "Suction Seat"}
5: {part_num: "2018321", name: "Suction Valve", category: "Suction Valve"}

Запрос GraphiQL

query crewParts($crew: String!){
  crew_parts(crew: $crew){
    category
    name
    part_num
  }
}

Вывод GraphiQL

{
  "data": {
    "crew_parts": []
  }
}

Я ожидаю получить список объектов, но получаю пустой список из моего запроса graphql.

...