File tree Expand file tree Collapse file tree 5 files changed +56
-38
lines changed Expand file tree Collapse file tree 5 files changed +56
-38
lines changed Original file line number Diff line number Diff line change @@ -18,17 +18,16 @@ const createJWTToken = (payload) => {
18
18
} ;
19
19
20
20
const verifyJWTToken = ( event ) => {
21
- const token = extractToken ( event ) ;
21
+ const token = extractJWTToken ( event ) ;
22
22
try {
23
23
const decoded = verify ( token , process . env . JWT_SECRET ) ;
24
24
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" ) ;
28
28
}
29
- return false ;
30
29
} catch ( error ) {
31
- return false ;
30
+ throw Error ( "Invalid Token" ) ;
32
31
}
33
32
} ;
34
33
Original file line number Diff line number Diff line change 1
1
// local dependencies
2
2
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 ( ) ;
14
16
} ,
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 } ) ;
26
23
} ,
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 } ;
Original file line number Diff line number Diff line change @@ -5,22 +5,27 @@ import {
5
5
deleteBookFromDB ,
6
6
updateBookToDB ,
7
7
} from "../dbRelated/booksDbOps.js" ;
8
+ import { verifyJWTToken } from "../helpers/jwtHelpers.js" ;
8
9
9
10
const resolvers = {
10
11
Query : {
11
- findBooks : ( ) => {
12
+ findBooks : ( _ , args , { event } ) => {
13
+ verifyJWTToken ( event ) ;
12
14
return findBooksFromDB ( ) ;
13
15
} ,
14
16
} ,
15
17
16
18
Mutation : {
17
- addBook : ( _ , args ) => {
19
+ addBook : ( _ , args , { event } ) => {
20
+ verifyJWTToken ( event ) ;
18
21
return addBookToDB ( args ) ;
19
22
} ,
20
- deleteBook : ( _ , args ) => {
23
+ deleteBook : ( _ , args , { event } ) => {
24
+ verifyJWTToken ( event ) ;
21
25
return deleteBookFromDB ( args ) ;
22
26
} ,
23
- updateBook : ( _ , args ) => {
27
+ updateBook : ( _ , args , { event } ) => {
28
+ verifyJWTToken ( event ) ;
24
29
return updateBookToDB ( args ) ;
25
30
} ,
26
31
} ,
Original file line number Diff line number Diff line change
1
+ import { verifyJWTToken } from "../helpers/jwtHelpers.js" ;
2
+
1
3
const resolvers = {
2
4
Query : {
3
- hello : ( ) => "Hello World from Hello Resolvers" ,
5
+ hello : ( _ , args , { event } ) => {
6
+ verifyJWTToken ( event ) ;
7
+ return "Hello World from Hello Resolvers" ;
8
+ } ,
4
9
} ,
5
10
Mutation : {
6
- getCount : ( parent , arg ) => {
7
- return arg . count + 1 ;
11
+ getCount : ( _ , args , { event } ) => {
12
+ verifyJWTToken ( event ) ;
13
+ return args . count + 1 ;
8
14
} ,
9
15
} ,
10
16
} ;
Original file line number Diff line number Diff line change @@ -7,6 +7,9 @@ const server = new ApolloServer({
7
7
resolvers,
8
8
csrfPrevention : true ,
9
9
cache : "bounded" ,
10
+ context : ( { event } ) => {
11
+ return { event } ;
12
+ } ,
10
13
} ) ;
11
14
12
15
const graphqlHandler = server . createHandler ( ) ;
You can’t perform that action at this time.
0 commit comments