Схема GraphQL/Relay должна содержать уникальные именованные типы, но содержать несколько именованных типов
Я использую relay и graphql-relay для построения определений моего соединения.
В одном файле, используемом для определения типа клиента, который я использую:
const { connectionType: CustomerDataConnectionType } =
connectionDefinitions ( { nodeType: DataType });
const fields = {
id: {
type: new GraphQLNonNull(GraphQLID),
resolve: (obj) => dbIdToNodeId(obj._id, "Customer")
},
name: {
type: GraphQLString
},
description: {
type: GraphQLString
},
history: {
type: CustomerDataConnectionType,
args: connectionArgs,
resolve(source, args, context) {
return DataModel.find({ objectId: source.id}).sort('timestamp').exec();
}
}
};
export const CustomerType = new GraphQLObjectType({
name: 'Customer',
description: 'Customer',
interfaces: () => [NodeInterface],
isTypeOf: (value) => value instanceof CustomerModel,
fields: fields
});
В другом файле, используемом для определения типа акции, который я использую:
const { connectionType: StockDataConnectionType } =
connectionDefinitions ( { nodeType: DataType });
const fields = {
id: {
type: new GraphQLNonNull(GraphQLID),
resolve: (obj) => dbIdToNodeId(obj._id, "Stock")
},
item: {
type: GraphQLString
},
qrcode: {
type: GraphQLString
},
history: {
type: StockDataConnectionType,
args: connectionArgs,
resolve(source, args, context) {
return DataModel.find({ objectId: source.id}).sort('timestamp').exec();
}
}
};
export const StockType = new GraphQLObjectType({
name: 'Stock',
description: 'Stock',
interfaces: () => [NodeInterface],
isTypeOf: (value) => value instanceof StockModel,
fields: fields
});
При запуске я получаю следующую ошибку:
Schema must contain unique named types but contains multiple types named "DataConnection"
Хорошо, я могу понять, что у меня есть центральное хранилище для типов, но я не могу найти способ повторно использовать одно и то же определение или изменить его имя для каждого компонента.
Помощь оценена, чтобы решить эту проблему. Если мне нужно создать третий файл, пожалуйста, объясните, как я могу экспортировать его в оба типа.