Graphql-compose не принимает мои аргументы в методе разрешения

У меня проблема с ручным вызовом 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.info("created entityGroup : ", created, " from args: ", args)
        const newArgs = {record:
                    {name: args.record.name, entityGroupId:created._id}}
        args.record.entityGroupId=created._id
        console.info("creating entity from args works: ", args, " but with newArgs it fails: ", newArgs)
        await createEntityResolver.resolve({source, newAargs, context, info})
        return created
    }
});

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

creating entity from args works: { record:

{ name: 'fsgd1',

 fb: 'jgjhgf',

 web: 'kljh',

 city: 'jk',

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

5bcf7ca2cd38080750b609f1 } }

graphQl error : Entity.createOne resolver requires at least one value in args.record (node:1872) [DEP0079] DeprecationWarning: Custom inspection function on Objects via .inspect() is deprecated

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

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

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

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Что такое Apollo Client и зачем он нужен?
Что такое Apollo Client и зачем он нужен?
Apollo Client - это полнофункциональный клиент GraphQL для JavaScript-приложений, который упрощает получение, управление и обновление данных в...
0
0
86
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

Я должен исправить это так: - await createEntityResolver.resolve ({источник, newAargs, context, info}) + await createEntityResolver.resolve ({источник, аргументы: newArgs, context, info})

Другие вопросы по теме