Я хочу разрешить поле типа объединения, используя делегирование схемы для сшитой схемы.Как я могу добиться этого, так как в настоящее время мой подход не работает
Spaceship: {
createdBy: {
fragment: 'fragment SpaceShipFragment on Spaceship { createdByHumanId createdByAlienId }',
__resolveType({ createdByHumanId, createdByAlienId }, args, context, info) {
const delegate = {
operation: 'query',
args: {},
context,
info,
};
if (createdByAlienId) {
delegate.schema = schemas.aliens;
delegate.args._id = createdByAlienId;
delegate.fieldName = 'alienById';
} else if (createdByHumanId) {
delegate.schema = schemas.humans;
delegate.args._id = createdByHumanId;
delegate.fieldName = 'humanById';
}
return info.mergeInfo.delegateToSchema(delegate);
},
},
},
});
Я пробовал и с __resolveType
, и с resolve
, но каждый раз, когда я получаю ноль.Spaceship
- это интерфейс, который реализован несколькими другими типами.Решатель не вызывается.Я не совсем уверен, что я делаю не так.Любая помощь будет высоко ценится