Skip to content

Commit 0a04b17

Browse files
committed
basics done
1 parent 2133d95 commit 0a04b17

File tree

6 files changed

+74
-47
lines changed

6 files changed

+74
-47
lines changed

README.md

Lines changed: 4 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -86,20 +86,9 @@ Query to be executed
8686
We can also have querries with arguments. For instance,
8787

8888
```Javascript
89-
let students = {
90-
1: {
91-
id: '1',
92-
name: 'Aria',
93-
},
94-
2: {
95-
id: '2',
96-
name: 'Emily',
97-
},
98-
};
99-
10089
const schema = gql`
101-
type Query {
102-
me: Student
90+
type Query {hrdkghgikjvdifbnkkeblhjjhekdikdbeh
91+
10392
student(id: ID!): Student
10493
}
10594
@@ -227,19 +216,6 @@ Query to be executed
227216
We can write a resolver so that every message has an associated Student. We do this by creating a messgae type in which one of the fields is a STudent. The resolver currently goes to the message, looks at the students id, and gets the correspodning student. When you run teh example query, it is now able to map to a student object with all of it's fields.
228217

229218
```Javascript
230-
let messages = {
231-
1: {
232-
id: '1',
233-
text: 'Hello World',
234-
studentId: '1',
235-
},
236-
2: {
237-
id: '2',
238-
text: 'By World',
239-
studentId: '2',
240-
},
241-
};
242-
243219
const schema = gql`
244220
type Query {
245221
me: Student
@@ -256,11 +232,6 @@ const schema = gql`
256232
`;
257233

258234
const resolvers = {
259-
Query: {
260-
me: (parent, args, { me }) => {
261-
return me;
262-
}
263-
},
264235
Message: {
265236
student: message => {
266237
return users[message.studentId];
@@ -394,7 +365,7 @@ Example code: step7.js
394365
To query the student
395366
```graphql
396367
{
397-
me{
368+
me {
398369
name
399370
messages {
400371
text
@@ -421,4 +392,4 @@ To delete a message, but instead change the id to the id of the correct message
421392
mutation m {
422393
deleteMessage(id:"48608df0-6c11-43b5-bc98-26cd7e586e4b")
423394
}
424-
```
395+
```

step3.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ const students = {
1919

2020
const schema = gql`
2121
type Query {
22+
me: Student
23+
student(id: ID!): Student
2224
students: [Student!]
2325
}
2426
type Student {
@@ -29,6 +31,12 @@ const schema = gql`
2931

3032
const resolvers = {
3133
Query: {
34+
me: () => {
35+
return students[1];
36+
},
37+
student: (parents, {id}) => {
38+
return students[id];
39+
},
3240
students: () => {
3341
return Object.values(students);
3442
}

step4.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ const students = {
2020
const schema = gql`
2121
type Query {
2222
me: Student
23+
student(id: ID!): Student
24+
students: [Student!]
2325
}
2426
type Student {
2527
id: ID!
@@ -31,6 +33,12 @@ const resolvers = {
3133
Query: {
3234
me: (parent, args, { me }) => {
3335
return me;
36+
},
37+
student: (parents, {id}) => {
38+
return students[id];
39+
},
40+
students: () => {
41+
return Object.values(students);
3442
}
3543
}
3644
};

step5.js

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -18,21 +18,23 @@ const students = {
1818
};
1919

2020
let messages = {
21-
1: {
22-
id: '1',
23-
text: 'Hello World',
24-
studentId: '1',
25-
},
26-
2: {
27-
id: '2',
28-
text: 'By World',
29-
studentId: '2',
30-
},
31-
};
21+
1: {
22+
id: "1",
23+
text: "Hello World",
24+
studentId: "1"
25+
},
26+
2: {
27+
id: "2",
28+
text: "By World",
29+
studentId: "2"
30+
}
31+
};
3232

3333
const schema = gql`
3434
type Query {
3535
me: Student
36+
student(id: ID!): Student
37+
students: [Student!]
3638
messages: [Message!]!
3739
message(id: ID!): Message!
3840
}
@@ -52,18 +54,24 @@ const resolvers = {
5254
me: (parent, args, { me }) => {
5355
return me;
5456
},
57+
student: (parents, { id }) => {
58+
return students[id];
59+
},
60+
students: () => {
61+
return Object.values(students);
62+
},
5563
messages: () => {
5664
return Object.values(messages);
5765
},
5866
message: (parent, { id }) => {
5967
return messages[id];
6068
}
61-
},
69+
},
6270
Message: {
6371
student: message => {
64-
return students[message.studentId];
72+
return students[message.studentId];
6573
}
66-
},
74+
}
6775
};
6876

6977
const server = new ApolloServer({

step6.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,10 @@ let messages = {
3535
const schema = gql`
3636
type Query {
3737
me: Student
38+
student(id: ID!): Student
39+
students: [Student!]
40+
messages: [Message!]!
41+
message(id: ID!): Message!
3842
}
3943
type Student {
4044
id: ID!
@@ -52,6 +56,18 @@ const resolvers = {
5256
Query: {
5357
me: (parent, args, { me }) => {
5458
return me;
59+
},
60+
student: (parents, { id }) => {
61+
return students[id];
62+
},
63+
students: () => {
64+
return Object.values(students);
65+
},
66+
messages: () => {
67+
return Object.values(messages);
68+
},
69+
message: (parent, { id }) => {
70+
return messages[id];
5571
}
5672
},
5773
Message: {

step7.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@ app.use(cors());
1010
const schema = gql`
1111
type Query {
1212
me: Student
13+
student(id: ID!): Student
14+
students: [Student!]
15+
messages: [Message!]!
16+
message(id: ID!): Message!
1317
}
1418
type Mutation {
1519
createMessage(text: String!): Message!
@@ -59,6 +63,18 @@ const resolvers = {
5963
Query: {
6064
me: (parent, args, { me }) => {
6165
return me;
66+
},
67+
student: (parents, { id }) => {
68+
return students[id];
69+
},
70+
students: () => {
71+
return Object.values(students);
72+
},
73+
messages: () => {
74+
return Object.values(messages);
75+
},
76+
message: (parent, { id }) => {
77+
return messages[id];
6278
}
6379
},
6480

0 commit comments

Comments
 (0)