Skip to content

Instantly share code, notes, and snippets.

@pkellner
Created September 22, 2020 02:20
Show Gist options
  • Save pkellner/d0a30059c9eedb4f234897d2c9beae36 to your computer and use it in GitHub Desktop.
Save pkellner/d0a30059c9eedb4f234897d2c9beae36 to your computer and use it in GitHub Desktop.
const { ApolloServer, gql } = require("apollo-server");
const typeDefs = gql`
type Speaker {
id: ID!
first: String
last: String
favorite: Boolean
}
type SpeakerResults {
datalist: [Speaker]
}
type Query {
speakers(limit: Int): SpeakerResults
}
`;
const resolvers = {
Query: {
speakers: () => {
const speakers = [
{ id: 101, first: "david", last: "jones", favorite: true },
{ id: 102, first: "david", last: "jones", favorite: false },
{ id: 103, first: "david", last: "jones", favorite: true },
];
return {
datalist: speakers,
};
},
},
SpeakerResults: {
datalist: (parent) => {
return parent.datalist;
}
},
Speaker: {
first: (parent, args, context, info) => {
return `${parent.first.toUpperCase()}`;
},
last: (parent) => {
return parent.last;
},
id: (parent) => {
return parent.id;
},
favorite: (parent) => {
return parent.favorite;
}
},
};
async function apolloServer() {
const server = new ApolloServer({
typeDefs,
resolvers,
});
server.listen(4000, () => {
console.log(`ApolloServer GraphQL Simple running at port ${PORT}`);
});
}
apolloServer();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment