From 1451b46d1f6688efb565ff0803722c6749b6e765 Mon Sep 17 00:00:00 2001 From: Sergey Sokurenko Date: Thu, 26 Jul 2018 11:52:22 +0200 Subject: [PATCH 1/2] Implemented a query to return the list of users, adjusted the Tweet interface at the guidelines --- README.md | 12 ++++++++++-- src/index.ts | 8 ++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 640ef00..5e88ceb 100644 --- a/README.md +++ b/README.md @@ -52,8 +52,8 @@ interface User { interface Tweet { id: string; name: string; - screenName: string; - statusesCount: number; + text: string; + likes: number; userId: string; } ``` @@ -120,6 +120,7 @@ const typeDefs = gql` type Query { tweets: [Tweets] user(id: String!): User + users: [User] } `; ``` @@ -153,6 +154,13 @@ const resolvers = { } catch (error) { throw new ApolloError(error); } + }, + async users() { + const users = await admin + .firestore() + .collection('users') + .get(); + return users.docs.map(user => user.data()) as User[]; } } }; diff --git a/src/index.ts b/src/index.ts index bff1214..8ad93d5 100644 --- a/src/index.ts +++ b/src/index.ts @@ -44,6 +44,7 @@ const typeDefs = gql` type Query { tweets: [Tweets] user(id: String!): User + users: [User] } `; @@ -67,6 +68,13 @@ const resolvers = { } catch (error) { throw new ApolloError(error); } + }, + async users() { + const users = await admin + .firestore() + .collection('users') + .get(); + return users.docs.map(user => user.data()) as User[]; } }, User: { From 3d5893cd3af736c5bbe76c85c5abd8e574e96075 Mon Sep 17 00:00:00 2001 From: Sergey Sokurenko Date: Thu, 26 Jul 2018 13:12:14 +0200 Subject: [PATCH 2/2] Adjusted a tweet shema name to singular --- src/index.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/index.ts b/src/index.ts index 8ad93d5..c819b0d 100644 --- a/src/index.ts +++ b/src/index.ts @@ -29,11 +29,11 @@ const typeDefs = gql` name: String! screenName: String! statusesCount: Int! - tweets: [Tweets]! + tweets: [Tweet]! } # A Tweet Object - type Tweets { + type Tweet { id: ID! text: String! userId: String! @@ -42,7 +42,7 @@ const typeDefs = gql` } type Query { - tweets: [Tweets] + tweets: [Tweet] user(id: String!): User users: [User] } @@ -91,7 +91,7 @@ const resolvers = { } } }, - Tweets: { + Tweet: { async user(tweet) { try { const tweetAuthor = await admin