У меня проблема с ручным вызовом 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 регистрируется встроенным, я не могу понять, почему


Как ответил «Павел Черторогов» в эта почта, проблема заключалась в том, что мне не хватало имени аргумента, которое должно быть args, а не newArgs (поскольку я передаю карту, а не вызываю функцию с параметрами)
Я должен исправить это так: - await createEntityResolver.resolve ({источник, newAargs, context, info}) + await createEntityResolver.resolve ({источник, аргументы: newArgs, context, info})