graphql-compose не принимает мои аргументы в методе разрешения - PullRequest
0 голосов
/ 23 октября 2018

У меня проблема с ручным вызовом Resolver.resolve

const createEntityGroupResolver = EntityGroupTC.getResolver('createOne')
const createEntityResolver = EntityTC.getResolver('createOne')

const entityGroupCreate = new Resolver({
    name: 'entityGroupCreate',
    type: createEntityGroupResolver.type,
    args: createEntityGroupResolver.args,
    resolve: async ({ source, args, context, info }) => {
        const created = (await createEntityGroupResolver.resolve({ source, args, context, info })).record
        console.log("created entityGroup : ", created, " from args: ", args)
        const newArgs = {record:
                    {name: args.record.name, entityGroupId:created._id}}
        args.record.entityGroupId=created._id
        console.log("creating entity from args works: ", args, " but with newArgs it fails: ", newArgs)
        await createEntityResolver.resolve({source, newAargs, context, info})
        return created
    }
});

, этот код выдает следующую ошибку:

создание сущности из аргументов работает: {record:

{name: 'fsgd1',

 fb: 'jgjhgf',

 web: 'kljh',

 city: 'jk',

 entityGroupId: 5bcf7ca2cd38080750b609f1 } }  but with newArgs it fails:  { record: { name: 'fsgd1', entityGroupId:

5bcf7ca2cd38080750b609f1}}

ошибка graphQl: для преобразователя Entity.createOne требуется как минимум одно значение в args.record (узел: 1872) [DEP0079] Предупреждение об устаревании: пользовательская функция проверки объектов через .inspect () устарела

По таинственной причине передача измененного параметра args работает

    await createEntityResolver.resolve({source, args, context, info})
    return created

Я заметил, что args записывается с переносами строк, в то время как newArgs регистрируется внутри строки, я не могу понять, почему

1 Ответ

0 голосов
/ 25 октября 2018

Как ответил "Павел Черторогов" в этом посте , проблема заключалась в том, что мне не хватало имени аргумента, которое должно быть аргументом, а не newArgs (так как я передаю карту, не вызывая функциюс параметрами)

Я должен исправить это следующим образом: - await createEntityResolver.resolve ({source, newAargs, context, info}) + await createEntityResolver.resolve ({source, args: newArgs, context, info})

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...