Skip to content

Commit 457eacc

Browse files
committed
Add error handler & file names
1 parent 0d05c73 commit 457eacc

12 files changed

+45
-31
lines changed
File renamed without changes.
File renamed without changes.

controllers/auth.controller.js

+8-8
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
const User = require('../models/user.model');
2-
const cache = require('../utils/cache');
3-
const jwtConfig = require('../config/jwt');
4-
const jwt = require('../utils/jwt');
1+
const UserModel = require('../models/user.model');
2+
const jwtConfig = require('../config/jwt.config');
3+
const cache = require('../utils/cache.util');
4+
const jwt = require('../utils/jwt.util');
55
const bcrypt = require('bcrypt');
66

77
exports.register = async (req, res) => {
8-
const isExist = await User.findOne({
8+
const isExist = await UserModel.findOne({
99
where:{
1010
email: req.body.email
1111
}
@@ -15,7 +15,7 @@ exports.register = async (req, res) => {
1515
}
1616
const hashedPassword = await bcrypt.hash(req.body.password, 10);
1717

18-
const user = await User.create({
18+
const user = await UserModel.create({
1919
name: req.body.name,
2020
email: req.body.email,
2121
password: hashedPassword
@@ -24,7 +24,7 @@ exports.register = async (req, res) => {
2424
}
2525

2626
exports.login = async (req, res) => {
27-
const user = await User.findOne({
27+
const user = await UserModel.findOne({
2828
where: {
2929
email: req.body.email
3030
}
@@ -44,7 +44,7 @@ exports.login = async (req, res) => {
4444
}
4545

4646
exports.getUser = async (req, res) => {
47-
const user = await User.findByPk(req.user.id);
47+
const user = await UserModel.findByPk(req.user.id);
4848
return res.json(user);
4949
}
5050

middleware/auth.guard.js renamed to middleware/auth.middleware.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
const jwt = require('../utils/jwt');
2-
const cache = require('../utils/cache');
1+
const cache = require('../utils/cache.util');
2+
const jwt = require('../utils/jwt.util');
33

44
module.exports = async (req, res, next) => {
55

middleware/error.middleware.js

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
module.exports = fn => (req, res, next) => {
2+
fn(req, res, next).catch((err) => {
3+
res.status(500).json({
4+
message: err?.message || 'Something went wrong.'
5+
});
6+
});
7+
}

models/connection.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
const { Sequelize } = require('sequelize');
2-
const config = require('../config/database');
2+
const config = require('../config/database.config');
33

44
const sequelize = new Sequelize(config.database, config.username, config.password, {
55
host: config.host,

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "node-mysql-jwt",
3-
"version": "0.0.0",
3+
"version": "1.1.0",
44
"private": true,
55
"scripts": {
66
"start": "node ./bin/www"

routes/index.js

+8-7
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
11
const express = require('express');
22
const router = express.Router();
33

4-
const authController = require('../controllers/auth.controller');
5-
const authGuard = require('../middleware/auth.guard');
4+
const AuthController = require('../controllers/auth.controller');
5+
const ErrorHandler = require('../middleware/error.middleware');
6+
const AuthGuard = require('../middleware/auth.middleware');
67
const schema = require('../validatons/auth.validation');
7-
const validate = require('../utils/validator');
8+
const validate = require('../utils/validator.util');
89

9-
router.post('/register', validate(schema.register), authController.register);
10-
router.post('/login', validate(schema.login), authController.login);
11-
router.get('/user', authGuard, authController.getUser);
12-
router.get('/logout', authGuard, authController.logout);
10+
router.post('/register', validate(schema.register), ErrorHandler(AuthController.register));
11+
router.post('/login', validate(schema.login), ErrorHandler(AuthController.login));
12+
router.get('/user', AuthGuard, ErrorHandler(AuthController.getUser));
13+
router.get('/logout', AuthGuard, ErrorHandler(AuthController.logout));
1314

1415
router.all('*', (req, res) => res.status(400).json({ message: 'Bad Request.'}))
1516

File renamed without changes.

utils/jwt.js renamed to utils/jwt.util.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
const jwt = require('jsonwebtoken');
2-
const jwtConfig = require('../config/jwt');
2+
const jwtConfig = require('../config/jwt.config');
33

44
exports.verifyToken = (token) => jwt.verify(token, jwtConfig.secret);
55

utils/validator.js

-11
This file was deleted.

utils/validator.util.js

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
module.exports = (schema) => (req, res, next) => {
2+
if (schema) {
3+
const options = {
4+
errors: {
5+
wrap: { label: '' }
6+
},
7+
abortEarly: false
8+
}
9+
const result = schema.validate((req.method == 'GET' ? req.query : req.body), options);
10+
if (result.error) {
11+
const { details } = result.error;
12+
const message = details.length ? details[0].message : 'Invalid payload.'
13+
return res.status(400).json({ message });
14+
}
15+
}
16+
next();
17+
}

0 commit comments

Comments
 (0)