(в настоящее время не использует Apollo)
Итак, у меня есть server.js:
let graphqlHTTP = require('express-graphql');
... // (other graphQL setup)
let users = []; // or any DB solution here
const {
UserType,
UserFactory
} = require('./schema/typeDef.js');
const { QueryType } = require('./schema/query.js');
... // similar imports
// other server declarations
И, например, у меня есть typeDef.js:
const UserType = new GraphQLObjectType({
name: 'User',
fields: {
id: { type: new GraphQLNonNull(GraphQLInt) },
username: { type: new GraphQLNonNull(GraphQLString }
}
});
const UserFactory = function(username, id) {
return {username: username, id: id};
};
module.exports = { UserType, UserFactory };
Проблема в том, что я хочу иметь возможность добавить UserType в БД (в этом примере кода, массив users) в server.js;но, конечно, typeDef.js не имеет доступа к объявленной БД в server.js.
Сначала я разделил файлы, потому что не хотел, чтобы server.js был слишком раздутым с помощью кода схемы.
Как мне поступить?Спасибо!