Skip to content

Commit 2513132

Browse files
Merge pull request #1 from tcet-opensource/setup
separation of routes and controllers
2 parents 3891dc2 + c647616 commit 2513132

File tree

8 files changed

+76
-54
lines changed

8 files changed

+76
-54
lines changed

controller/auth.js

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
const { genrateToken } = require('../util');
2+
const user = require('../models/user');
3+
4+
exports.login = async function(req, res, next) {
5+
const {id, password} = req.body;
6+
let userValidated = await user.validateUser(id, password);
7+
if(userValidated){
8+
userDetails = {
9+
"uid": userValidated.uid,
10+
"name": userValidated.name,
11+
"emailId":userValidated.emailId,
12+
"type": userValidated.userType,
13+
}
14+
let token = genrateToken(userDetails);
15+
userDetails["token"] = token;
16+
res.send({res:"welcome", user:userDetails})
17+
}
18+
else{
19+
res.status(403)
20+
res.send({err:"incorrect ID password"});
21+
}
22+
}
23+
24+
exports.validateUser = function(req, res, next) {
25+
res.json({res: req.user, msg: "user validated", err:null})
26+
}
27+

controller/index.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
exports.home = function(req, res, next) {
2+
res.render('index', { title: 'Express' });
3+
}

controller/user.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
const user = require('../models/user');
2+
3+
exports.addUser = async function(req, res, next){
4+
const {name,password,emailId,uid,userType} = req.body;
5+
let newUser = await user.createUser(name,password,emailId,uid,userType);
6+
if(newUser.id!=null)
7+
res.send({"res":"added user "+newUser.id});
8+
else
9+
res.send({err:newUser.err});
10+
}

package-lock.json

Lines changed: 21 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
"debug": "~2.6.9",
1515
"dotenv": "^16.0.3",
1616
"express": "^4.18.2",
17+
"express-validator": "^6.15.0",
1718
"jsonwebtoken": "^9.0.0",
1819
"mongoose": "^6.9.0",
1920
"morgan": "~1.9.1"

routes/auth.js

Lines changed: 6 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,11 @@
1-
var express = require('express');
1+
const express = require('express');
2+
const router = express.Router();
3+
const authController = require('../controller/auth');
24
const authenticateToken = require('../middleware/auth');
3-
const { genrateToken } = require('../util');
4-
const user = require('../models/user');
5-
var router = express.Router();
65

7-
router.post('/', async function(req, res, next) {
8-
const {id, password} = req.body;
9-
let userValidated = await user.validateUser(id, password);
10-
if(userValidated){
11-
userDetails = {
12-
"uid": userValidated.uid,
13-
"name": userValidated.name,
14-
"emailId":userValidated.emailId,
15-
"type": userValidated.userType,
16-
}
17-
let token = genrateToken(userDetails);
18-
userDetails["token"] = token;
19-
res.send({res:"welcome", user:userDetails})
20-
}
21-
else{
22-
res.status(403)
23-
res.send({err:"incorrect ID password"});
24-
}
25-
});
266

27-
router.post("/validateUser", authenticateToken, function(req, res, next) {
28-
res.json({res: req.user, msg: "user validated", err:null})
29-
})
7+
router.post('/', authController.login);
8+
9+
router.post("/validateUser", authenticateToken, authController.validateUser)
3010

3111
module.exports = router;

routes/index.js

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,8 @@
1-
var express = require('express');
2-
const { genrateToken } = require('../util');
3-
var router = express.Router();
1+
const express = require('express');
2+
const router = express.Router();
3+
const indexController = require('../controller/index')
44

55
/* GET home page. */
6-
router.get('/', function(req, res, next) {
7-
res.render('index', { title: 'Express' });
8-
});
9-
10-
router.get("/token", function(req, res, next) {
11-
res.send("token : " + genrateToken("User123456789"));
12-
})
13-
6+
router.get('/', indexController.home);
147

158
module.exports = router;

routes/users.js

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,9 @@
1-
var express = require('express');
1+
const express = require('express');
22
const authenticateToken = require('../middleware/auth');
33
const { asyncPlaceholders } = require('../util');
4-
const user = require('../models/user');
5-
var router = express.Router();
4+
const router = express.Router();
5+
const userController = require('../controller/user');
66

7-
/* GET users listing. */
8-
router.get('/', async function(req, res, next) {
9-
let temp = await asyncPlaceholders([1,2,3], 1000)
10-
res.send('welcome user: '+req.user+" "+temp);
11-
});
12-
13-
router.post("/add", async function(req, res, next){
14-
const {name,password,emailId,uid,userType} = req.body;
15-
let newUser = await user.createUser(name,password,emailId,uid,userType);
16-
if(newUser.id!=null)
17-
res.send({"res":"added user "+newUser.id});
18-
else
19-
res.send({err:newUser.err});
20-
})
7+
router.post("/add", userController.addUser)
218

229
module.exports = router;

0 commit comments

Comments
 (0)