diff --git a/.eslintrc b/.eslintrc index 016f741..c320140 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,3 +1,3 @@ -{ - "extends": ["equimper", "prettier"] -} +// { +// "extends": ["equimper", "prettier"] +// } diff --git a/.gitignore b/.gitignore index 3c3629e..37d7e73 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ node_modules +.env diff --git a/package-lock.json b/package-lock.json index 0313862..f938ab6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1895,6 +1895,11 @@ "is-obj": "1.0.1" } }, + "dotenv": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-5.0.1.tgz", + "integrity": "sha512-4As8uPrjfwb7VXC+WnLCbXK7y+Ueb2B3zgNCePYfhxS1PYeaO1YTeplffTEcbfLhvFNGLAz90VvJs9yomG7bow==" + }, "duplexer": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", diff --git a/package.json b/package.json index 24c7695..7f2d45d 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,7 @@ "apollo-server-express": "1.3.2", "body-parser": "^1.17.1", "cross-env": "^5.1.4", + "dotenv": "^5.0.1", "express": "^4.15.2", "graphql": "0.13.0", "graphql-date": "^1.0.3", diff --git a/src/config/constants.js b/src/config/constants.js index 275a319..99b092a 100644 --- a/src/config/constants.js +++ b/src/config/constants.js @@ -1,5 +1,5 @@ export default { - PORT: process.env.PORT || 3000, + PORT: process.env.PORT || 5000, DB_URL: "mongodb://localhost/gqltoy", MONGO_URI: process.env.MONGO_URI, GRAPHQL_PATH: "/graphql", diff --git a/src/graphql/resolvers/index.js b/src/graphql/resolvers/index.js index ae6e6cf..3747fd8 100644 --- a/src/graphql/resolvers/index.js +++ b/src/graphql/resolvers/index.js @@ -21,6 +21,10 @@ export const resolvers = { }); }) ); + }, + getPerson: async (root, { id }, context) => { + const response = await fetch(`https://swapi.co/api/people/${id}/`); + return response.json(); } }, Mutation: { diff --git a/src/graphql/schema.js b/src/graphql/schema.js index 9d65c08..d959581 100644 --- a/src/graphql/schema.js +++ b/src/graphql/schema.js @@ -57,12 +57,32 @@ export const typeDefs = gql` startDateTime: String } + type Person { + name: String + height: String + mass: String + hair_color: String + skin_color: String + eye_color: String + birth_year: String + gender: String + films: [Film] + } + + type Film { + title: String + episode_id: Int + director: String + producer: String + } + type Query { getTweet(_id: ID!): Tweet getTweets: [Tweet] getUserTweets: [Tweet] me: Me myFavoriteArtists: [Artist] + getPerson(id: Int!): Person } type Mutation { diff --git a/src/server.js b/src/server.js index 8baf20b..63de929 100644 --- a/src/server.js +++ b/src/server.js @@ -11,6 +11,8 @@ import { resolvers } from "./graphql/resolvers"; const app = express(); +require("dotenv").config(); + if (!process.env.TM_API_KEY) { throw new Error( "Please provide an API key for Ticketmaster in the environment variable TM_API_KEY."