Alongside the token the value of admin state is also sent.
This commit is contained in:
@@ -9,7 +9,7 @@ class UserRepository {
|
|||||||
create: 'insert into user (user_name) values (?)',
|
create: 'insert into user (user_name) values (?)',
|
||||||
change: 'update user set password = ? where user_name = ?',
|
change: 'update user set password = ? where user_name = ?',
|
||||||
retrieveHash: 'select * from user where user_name = ?',
|
retrieveHash: 'select * from user where user_name = ?',
|
||||||
getAdminByUser: 'select admin from user where user_name = ?'
|
getAdminStateByUser: 'select admin from user where user_name = ?'
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -51,8 +51,8 @@ class UserRepository {
|
|||||||
return this.database.run(this.queries.change, [password, user.username]);
|
return this.database.run(this.queries.change, [password, user.username]);
|
||||||
}
|
}
|
||||||
|
|
||||||
isAdmin(user) {
|
checkAdmin(user) {
|
||||||
return this.database.get(this.queries.getAdminByUser, user.username).then((row) => {
|
return this.database.get(this.queries.getAdminStateByUser, user.username).then((row) => {
|
||||||
return row.admin;
|
return row.admin;
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,12 @@
|
|||||||
const User = require('src/user/user');
|
const User = require('src/user/user');
|
||||||
const Token = require('src/user/token');
|
const Token = require('src/user/token');
|
||||||
const UserSecurity = require('src/user/userSecurity');
|
const UserSecurity = require('src/user/userSecurity');
|
||||||
|
const UserRepository = require('src/user/userRepository');
|
||||||
const configuration = require('src/config/configuration').getInstance();
|
const configuration = require('src/config/configuration').getInstance();
|
||||||
|
|
||||||
const secret = configuration.get('authentication', 'secret');
|
const secret = configuration.get('authentication', 'secret');
|
||||||
const userSecurity = new UserSecurity();
|
const userSecurity = new UserSecurity();
|
||||||
|
const userRepository = new UserRepository();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Controller: Log in a user provided correct credentials.
|
* Controller: Log in a user provided correct credentials.
|
||||||
@@ -17,9 +19,11 @@ function loginController(req, res) {
|
|||||||
const password = req.body.password;
|
const password = req.body.password;
|
||||||
|
|
||||||
userSecurity.login(user, password)
|
userSecurity.login(user, password)
|
||||||
.then(() => {
|
.then(() => userRepository.checkAdmin(user))
|
||||||
|
.then((checkAdmin) => {
|
||||||
const token = new Token(user).toString(secret);
|
const token = new Token(user).toString(secret);
|
||||||
res.send({ success: true, token });
|
const admin_state = checkAdmin == 1 ? true : false;
|
||||||
|
res.send({ success: true, token, admin: admin_state });
|
||||||
})
|
})
|
||||||
.catch((error) => {
|
.catch((error) => {
|
||||||
res.status(401).send({ success: false, error: error.message });
|
res.status(401).send({ success: false, error: error.message });
|
||||||
|
|||||||
@@ -1,10 +1,12 @@
|
|||||||
const User = require('src/user/user');
|
const User = require('src/user/user');
|
||||||
const Token = require('src/user/token');
|
const Token = require('src/user/token');
|
||||||
const UserSecurity = require('src/user/userSecurity');
|
const UserSecurity = require('src/user/userSecurity');
|
||||||
|
const UserRepository = require('src/user/userRepository');
|
||||||
const configuration = require('src/config/configuration').getInstance();
|
const configuration = require('src/config/configuration').getInstance();
|
||||||
|
|
||||||
const secret = configuration.get('authentication', 'secret');
|
const secret = configuration.get('authentication', 'secret');
|
||||||
const userSecurity = new UserSecurity();
|
const userSecurity = new UserSecurity();
|
||||||
|
const userRepository = new UserRepository();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Controller: Register a new user
|
* Controller: Register a new user
|
||||||
@@ -17,9 +19,11 @@ function registerController(req, res) {
|
|||||||
const password = req.body.password;
|
const password = req.body.password;
|
||||||
|
|
||||||
userSecurity.createNewUser(user, password)
|
userSecurity.createNewUser(user, password)
|
||||||
.then(() => {
|
.then(() => userRepository.checkAdmin(user))
|
||||||
|
.then((checkAdmin) => {
|
||||||
const token = new Token(user).toString(secret);
|
const token = new Token(user).toString(secret);
|
||||||
res.send({ success: true, message: 'Welcome to Seasoned!', token});
|
const admin_state = checkAdmin == 1 ? true : false;
|
||||||
|
res.send({ success: true, message: 'Welcome to Seasoned!', token, admin: admin_state });
|
||||||
})
|
})
|
||||||
.catch((error) => {
|
.catch((error) => {
|
||||||
res.status(401).send({ success: false, error: error.message });
|
res.status(401).send({ success: false, error: error.message });
|
||||||
|
|||||||
Reference in New Issue
Block a user