Skip to content

Commit 7287697

Browse files
committed
JWT verify token is done
1 parent c1eef3e commit 7287697

File tree

5 files changed

+56
-38
lines changed

5 files changed

+56
-38
lines changed

src/helpers/jwtHelpers.js

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,17 +18,16 @@ const createJWTToken = (payload) => {
1818
};
1919

2020
const verifyJWTToken = (event) => {
21-
const token = extractToken(event);
21+
const token = extractJWTToken(event);
2222
try {
2323
const decoded = verify(token, process.env.JWT_SECRET);
2424

25-
// if the token has the correct data it is passed
26-
if (decoded.appName === process.env.APP_NAME) {
27-
return true;
25+
// if the token is tampered
26+
if (decoded.appName !== process.env.APP_NAME) {
27+
throw Error("Invalid Token");
2828
}
29-
return false;
3029
} catch (error) {
31-
return false;
30+
throw Error("Invalid Token");
3231
}
3332
};
3433

src/resolvers/authorResolver.js

Lines changed: 30 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,34 @@
11
// local dependencies
22
import {
3-
findAuthorsFromDB,
4-
addAuthorToDB,
5-
deleteAuthorFromDB,
6-
updateAuthorToDB,
7-
} from "../dbRelated/AuthorsDbOps.js";
8-
9-
const resolvers = {
10-
Query: {
11-
findAuthors: () => {
12-
return findAuthorsFromDB();
13-
},
3+
findAuthorsFromDB,
4+
addAuthorToDB,
5+
deleteAuthorFromDB,
6+
updateAuthorToDB,
7+
} from "../dbRelated/AuthorsDbOps.js";
8+
9+
import { verifyJWTToken } from "../helpers/jwtHelpers.js";
10+
11+
const resolvers = {
12+
Query: {
13+
findAuthors: (parent, args, { event }) => {
14+
verifyJWTToken(event);
15+
return findAuthorsFromDB();
1416
},
15-
16-
Mutation: {
17-
addAuthor: (_, args) => {
18-
return addAuthorToDB(args);
19-
},
20-
deleteAuthor: (_, args) => {
21-
return deleteAuthorFromDB(args);
22-
},
23-
updateAuthor: (_, args) => {
24-
return updateAuthorToDB(args);
25-
},
17+
},
18+
19+
Mutation: {
20+
addAuthor: (_, args, { event }) => {
21+
verifyJWTToken(event);
22+
return addAuthorToDB(args, { event });
2623
},
27-
};
28-
export { resolvers };
29-
24+
deleteAuthor: (_, args, { event }) => {
25+
verifyJWTToken(event);
26+
return deleteAuthorFromDB(args);
27+
},
28+
updateAuthor: (_, args, { event }) => {
29+
verifyJWTToken(event);
30+
return updateAuthorToDB(args);
31+
},
32+
},
33+
};
34+
export { resolvers };

src/resolvers/bookResolver.js

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,22 +5,27 @@ import {
55
deleteBookFromDB,
66
updateBookToDB,
77
} from "../dbRelated/booksDbOps.js";
8+
import { verifyJWTToken } from "../helpers/jwtHelpers.js";
89

910
const resolvers = {
1011
Query: {
11-
findBooks: () => {
12+
findBooks: (_, args, { event }) => {
13+
verifyJWTToken(event);
1214
return findBooksFromDB();
1315
},
1416
},
1517

1618
Mutation: {
17-
addBook: (_, args) => {
19+
addBook: (_, args, { event }) => {
20+
verifyJWTToken(event);
1821
return addBookToDB(args);
1922
},
20-
deleteBook: (_, args) => {
23+
deleteBook: (_, args, { event }) => {
24+
verifyJWTToken(event);
2125
return deleteBookFromDB(args);
2226
},
23-
updateBook: (_, args) => {
27+
updateBook: (_, args, { event }) => {
28+
verifyJWTToken(event);
2429
return updateBookToDB(args);
2530
},
2631
},

src/resolvers/helloResolver.js

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,16 @@
1+
import { verifyJWTToken } from "../helpers/jwtHelpers.js";
2+
13
const resolvers = {
24
Query: {
3-
hello: () => "Hello World from Hello Resolvers",
5+
hello: (_, args, { event }) => {
6+
verifyJWTToken(event);
7+
return "Hello World from Hello Resolvers";
8+
},
49
},
510
Mutation: {
6-
getCount: (parent, arg) => {
7-
return arg.count + 1;
11+
getCount: (_, args, { event }) => {
12+
verifyJWTToken(event);
13+
return args.count + 1;
814
},
915
},
1016
};

src/services/graphqlService.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@ const server = new ApolloServer({
77
resolvers,
88
csrfPrevention: true,
99
cache: "bounded",
10+
context: ({ event }) => {
11+
return { event };
12+
},
1013
});
1114

1215
const graphqlHandler = server.createHandler();

0 commit comments

Comments
 (0)