Skip to content

Commit 54dcf0a

Browse files
author
benAkehurst
authored
Merge pull request #16 from benAkehurst/feature/caching
Feature - Update to token checking methods
2 parents 7538c01 + 7095b17 commit 54dcf0a

3 files changed

Lines changed: 32 additions & 37 deletions

File tree

api/controllers/authController.js

Lines changed: 22 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ const {
99
checkEmailExists,
1010
validateEmail,
1111
} = require('../../middlewares/validators');
12+
const { checkToken } = require('../../middlewares/token');
1213
const { sendEmail } = require('../../middlewares/utils/emailService');
13-
const tokenMiddleware = require('../../middlewares/token');
1414
const User = require('../models/userModel');
1515
const Code = require('../models/codeModel');
1616

@@ -430,41 +430,34 @@ exports.delete_user_account = async (req, res) => {
430430
* PARAM: token
431431
*/
432432
exports.check_token_valid_external = async (req, res) => {
433-
const token = req.params.token;
434-
if (!token || token === null) {
433+
const { token } = req.params;
434+
if (!token) {
435435
res.status(400).json({
436436
success: false,
437437
message: 'Incorrect Request Parameters',
438438
data: null,
439439
});
440440
}
441-
let tokenValid;
442-
await tokenMiddleware
443-
.checkToken(token)
444-
.then((promiseResponse) => {
445-
if (promiseResponse.success) {
446-
tokenValid = true;
447-
}
448-
})
449-
.catch((promiseError) => {
450-
if (promiseError) {
451-
return res.status(500).json({
452-
success: false,
453-
message: 'Bad Token',
454-
data: null,
455-
});
456-
}
457-
});
458-
if (tokenValid) {
459-
res.status(200).json({
460-
success: true,
461-
message: 'Token Valid',
462-
data: null,
463-
});
464-
} else {
465-
res.status(400).json({
441+
try {
442+
let tokenValid = await checkToken(token);
443+
if (!tokenValid) {
444+
res.status(400).json({
445+
success: false,
446+
message: 'Token Not Valid',
447+
data: null,
448+
});
449+
} else {
450+
res.status(200).json({
451+
success: true,
452+
message: 'Token Valid',
453+
data: null,
454+
});
455+
}
456+
} catch {
457+
res.status(500).json({
466458
success: false,
467-
message: 'Token not valid',
459+
message: 'Oh, something went wrong checking token. Please try again!',
460+
data: null,
468461
});
469462
}
470463
};

api/controllers/todoListController.js

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ const mongoose = require('mongoose');
22
const { format } = require('date-fns');
33
const sanitize = require('mongo-sanitize');
44
const { v4: uuidv4 } = require('uuid');
5-
const tokenMiddleware = require('../../middlewares/token');
5+
const { checkToken } = require('../../middlewares/token');
66
const { checkUserExists } = require('../../middlewares/validators');
77
const Task = require('../models/taskModel');
88

@@ -24,7 +24,7 @@ exports.create_new_task = async (req, res) => {
2424
});
2525
} else {
2626
try {
27-
let tokenValid = await tokenMiddleware.checkToken(token);
27+
let tokenValid = await checkToken(token);
2828
let userExists = await checkUserExists(uniqueId);
2929
if (tokenValid.success && userExists) {
3030
let newTask = new Task({
@@ -81,9 +81,10 @@ exports.read_all_user_tasks = async (req, res) => {
8181
});
8282
} else {
8383
try {
84-
let tokenValid = await tokenMiddleware.checkToken(token);
84+
let tokenValid = await checkToken(token);
8585
let userExists = await checkUserExists(uniqueId);
8686
if (tokenValid.success && userExists) {
87+
// TODO: Call cache here?
8788
Task.find({ user: { $all: uniqueId } }, (err, tasks) => {
8889
if (err) {
8990
return res.status(400).json({
@@ -130,8 +131,9 @@ exports.read_single_task = async (req, res) => {
130131
});
131132
} else {
132133
try {
133-
let tokenValid = await tokenMiddleware.checkToken(token);
134+
let tokenValid = await checkToken(token);
134135
let userExists = await checkUserExists(uniqueId);
136+
// TODO: Call cache here?
135137
if (tokenValid.success && userExists) {
136138
Task.find({ externalId: sanitize(externalId) }, (err, task) => {
137139
if (err) {
@@ -184,7 +186,7 @@ exports.update_single_task = async (req, res) => {
184186
});
185187
} else {
186188
try {
187-
let tokenValid = await tokenMiddleware.checkToken(token);
189+
let tokenValid = await checkToken(token);
188190
let userExists = await checkUserExists(uniqueId);
189191
if (tokenValid.success && userExists) {
190192
Task.updateOne(
@@ -238,7 +240,7 @@ exports.delete_single_task = async (req, res) => {
238240
});
239241
} else {
240242
try {
241-
let tokenValid = await tokenMiddleware.checkToken(token);
243+
let tokenValid = await checkToken(token);
242244
let userExists = await checkUserExists(uniqueId);
243245
if (tokenValid.success && userExists) {
244246
Task.deleteOne(

middlewares/token.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
const jwt = require('jsonwebtoken');
22

3-
let checkToken = (req) => {
3+
const checkToken = (req) => {
44
let token = req;
55
return new Promise((resolve, reject) => {
66
if (!token) {
@@ -28,4 +28,4 @@ let checkToken = (req) => {
2828
});
2929
};
3030

31-
module.exports = { checkToken: checkToken };
31+
module.exports = { checkToken };

0 commit comments

Comments
 (0)