В эти дни я изучал нечто подобное.
Я адаптировал код из моих исследований. Дайте мне знать, если это поможет.
const { ApolloServer } = require("apollo-server");
const { generate } = require("shortid");
const typeDefs = `
type Tab {
id: ID!
title: String!
body: String!
}
type Query {
allTabs: [Tab!]!
}
type Mutation {
addTab(title: String! body: String!): Tab
}
`;
let tabs = [
{
id: "2WEKaVNO",
title: "Title 1",
body: "Body 1"
}
];
const resolvers = {
Query: {
allTabs: () => tabs
},
Mutation: {
addTab: (parent, { title, body }) => {
let newTab = {
id: generate(),
title,
body
};
tabs = [...tabs, newTab];
return newTab;
}
}
};
const server = new ApolloServer({
typeDefs,
resolvers
});
server
.listen()
.then(({ url }) => `GraphQL server listening on ${url}`)
.then(console.log)
.catch(console.error);```