Skip to content

Commit 1445448

Browse files
committed
cleaned up step 6
1 parent 7afba26 commit 1445448

File tree

2 files changed

+48
-50
lines changed

2 files changed

+48
-50
lines changed

README.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -248,10 +248,10 @@ Query to be executed
248248

249249
```graphql
250250
{
251-
message(id: "1") {
251+
student(id: "1") {
252252
id
253-
text
254-
student {
253+
name
254+
teacher {
255255
id
256256
name
257257
}
@@ -267,25 +267,25 @@ We can also have each student have a list of associated messages. By adding a li
267267
```Javascript
268268
const schema = gql`
269269
type Query {
270-
me: Student
270+
me: Teacher
271271
}
272-
type Student {
272+
type Teacher {
273273
id: ID!
274274
name: String!
275-
messages: [Message!]
275+
students: [Student!]
276276
}
277-
type Message {
277+
type Student {
278278
id: ID!
279-
text: String!
280-
student: Student!
279+
name: String!
280+
teacher: Teacher!
281281
}
282282
`;
283283

284284
const resolvers = {
285-
Student: {
286-
messages: student => {
287-
return Object.values(messages).filter(
288-
message => message.studentId === student.id,
285+
Teacher: {
286+
students: teacher => {
287+
return Object.values(students).filter(
288+
student => student.teacherId === teacher.id,
289289
);
290290
},
291291
},

src/step6.js

Lines changed: 35 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -6,49 +6,47 @@ const app = express();
66

77
app.use(cors());
88

9-
const students = {
9+
const teachers = {
1010
1: {
1111
id: "1",
1212
name: "Aria",
13-
messageIds: [1]
1413
},
1514
2: {
1615
id: "2",
1716
name: "Emily",
18-
messageIds: [2]
1917
}
2018
};
2119

22-
let messages = {
20+
let students = {
2321
1: {
24-
id: "1",
25-
text: "Hello World",
26-
studentId: "1"
22+
id: "3",
23+
name: "Annika",
24+
teacherId: "1"
2725
},
2826
2: {
29-
id: "2",
30-
text: "By World",
31-
studentId: "2"
27+
id: "4",
28+
name: "Cammie",
29+
teacherId: "2"
3230
}
3331
};
3432

3533
const schema = gql`
3634
type Query {
37-
me: Student
38-
student(id: ID!): Student
39-
students: [Student!]
40-
messages: [Message!]!
41-
message(id: ID!): Message!
35+
me: Teacher
36+
teacher(id: ID!): Teacher
37+
teachers: [Teacher!]
38+
students: [Student!]!
39+
student(id: ID!): Student!
4240
}
43-
type Student {
41+
type Teacher {
4442
id: ID!
4543
name: String!
46-
messages: [Message!]
44+
students: [Student!]
4745
}
48-
type Message {
46+
type Student {
4947
id: ID!
50-
text: String!
51-
student: Student!
48+
name: String!
49+
teacher: Teacher!
5250
}
5351
`;
5452

@@ -57,38 +55,38 @@ const resolvers = {
5755
me: (parent, args, { me }) => {
5856
return me;
5957
},
60-
student: (parents, { id }) => {
61-
return students[id];
58+
teacher: (parents, { id }) => {
59+
return teachers[id];
60+
},
61+
teachers: () => {
62+
return Object.values(teachers);
6263
},
6364
students: () => {
6465
return Object.values(students);
6566
},
66-
messages: () => {
67-
return Object.values(messages);
68-
},
69-
message: (parent, { id }) => {
70-
return messages[id];
67+
student: (parent, { id }) => {
68+
return students[id];
7169
}
7270
},
73-
Message: {
74-
student: message => {
75-
return students[message.studentId];
71+
Student: {
72+
teacher: student => {
73+
return teachers[student.teacherId];
7674
}
7775
},
78-
Student: {
79-
messages: student => {
80-
return Object.values(messages).filter(
81-
message => message.studentId === student.id
76+
Teacher: {
77+
students: teacher => {
78+
return Object.values(students).filter(
79+
student => student.teacherId === teacher.id,
8280
);
83-
}
84-
}
81+
},
82+
},
8583
};
8684

8785
const server = new ApolloServer({
8886
typeDefs: schema,
8987
resolvers,
9088
context: {
91-
me: students[1]
89+
me: teachers[1]
9290
}
9391
});
9492

0 commit comments

Comments
 (0)