Join -Monster Проблемы с возвратом резольвера с данными и количеством в отдельных полях - PullRequest
0 голосов
/ 03 января 2019

Моя функция распознавателя в настоящее время возвращает следующую ошибку: «Должен вызывать joinMonster в преобразователе в поле, где тип украшен« sqlTable ».»Вот решатель:

const joinMonster = require("join-monster").default; 
const sql = require("mssql"); 

export const  studentsPageResolver = async(obj, { filter }, context, info) => {
    return {
      students: joinMonster(
        info,
        context,
        async sqlString => {
            console.log(sqlString);
            const results = await sql.query([sqlString]);
            return results.recordset;
        },
    ),
    total: async ()=> {
        const schools = filter.schoolIds.toString();
        const result =  await sql.query([`select count (*)
        FROM [aaa].[dbo].[bbb] WHERE SchoolID IN (${schools})`])
        const number = result.recordset[0][''];
        return number;
      }
  }
}

Я думаю, проблема в том, что поле students ищет таблицу studentsPageResolver вместо students, который существует.В своем корневом запросе я использую такой преобразователь:

studentsPage: studentsPageResolver,

И в схеме он определен так: type studentsPage { students: [StudentView!] total: Int! }

Реализация такова:

students (filter: JSON!): [StudentView!]!
  studentsPage(filter: JSON): studentsPage

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

...