Skip to content

Instantly share code, notes, and snippets.

@yann-yinn
Last active June 16, 2020 07:34
Show Gist options
  • Save yann-yinn/59c4fb6b8cffdadad35e7e8bc22f31cd to your computer and use it in GitHub Desktop.
Save yann-yinn/59c4fb6b8cffdadad35e7e8bc22f31cd to your computer and use it in GitHub Desktop.
const { ApolloServer, gql } = require('apollo-server');
// une fausse base de données avec 2 users
const users = [
{
id:1,
name: 'Yann',
email: 'yann@mail.com',
},
{
id:2,
name: 'David',
email: 'david@mail.com',
},
];
// définition de notre schema GraphQL => typage des données
const typeDefs = gql`
type Query {
user(id:ID!): User
users: [User]
}
type User {
id: ID
name: String
email: String
}
`;
// les fonctions qui permettent de renvoyer la valeur de chaque champ déclaré ci-dessus
const resolvers = {
Query: {
user(parent, args) {
return users.find(user => user.id == args.id)
},
users() {
return users
}
}
};
const server = new ApolloServer({ typeDefs, resolvers });
server.listen().then(({ url }) => {
console.log(`🚀 Server ready at ${url}`);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment