chore: initial project setup
This commit is contained in:
commit
a0480fb679
|
@ -0,0 +1,8 @@
|
||||||
|
# Package managers
|
||||||
|
node_modules
|
||||||
|
npm-debug.log
|
||||||
|
yarn-error.log
|
||||||
|
package-lock.json
|
||||||
|
|
||||||
|
# OS
|
||||||
|
.DS_Store
|
|
@ -0,0 +1,16 @@
|
||||||
|
{
|
||||||
|
"name": "food-graphql-server",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"description": "",
|
||||||
|
"main": "index.js",
|
||||||
|
"scripts": {
|
||||||
|
"test": "echo \"Error: no test specified\" && exit 1"
|
||||||
|
},
|
||||||
|
"keywords": [],
|
||||||
|
"author": "",
|
||||||
|
"license": "ISC",
|
||||||
|
"dependencies": {
|
||||||
|
"apollo-server": "^2.3.1",
|
||||||
|
"graphql": "^14.1.1"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,46 @@
|
||||||
|
const { ApolloServer, gql } = require('apollo-server');
|
||||||
|
|
||||||
|
const stores = [
|
||||||
|
{
|
||||||
|
name: 'Den Olijfboom',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Pizza Talia'
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
// Type definitions define the "shape" of your data and specify
|
||||||
|
// which ways the data can be fetched from the GraphQL server.
|
||||||
|
const typeDefs = gql`
|
||||||
|
# Comments in GraphQL are defined with the hash (#) symbol.
|
||||||
|
|
||||||
|
# This "Store" type can be used in other type declarations.
|
||||||
|
type Store {
|
||||||
|
name: String
|
||||||
|
}
|
||||||
|
|
||||||
|
# The "Query" type is the root of all GraphQL queries.
|
||||||
|
# (A "Mutation" type will be covered later on.)
|
||||||
|
type Query {
|
||||||
|
stores: [Store]
|
||||||
|
}
|
||||||
|
`;
|
||||||
|
|
||||||
|
// Resolvers define the technique for fetching the types in the
|
||||||
|
// schema. We'll retrieve books from the "books" array above.
|
||||||
|
const resolvers = {
|
||||||
|
Query: {
|
||||||
|
stores: () => stores,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
// In the most basic sense, the ApolloServer can be started
|
||||||
|
// by passing type definitions (typeDefs) and the resolvers
|
||||||
|
// responsible for fetching the data for those types.
|
||||||
|
const server = new ApolloServer({ typeDefs, resolvers });
|
||||||
|
|
||||||
|
// This `listen` method launches a web-server. Existing apps
|
||||||
|
// can utilize middleware options, which we'll discuss later.
|
||||||
|
server.listen().then(({ url }) => {
|
||||||
|
console.log(`🚀 Food GraphQL Server ready at ${url}`);
|
||||||
|
});
|
Loading…
Reference in New Issue