Fixed database abstraction naming and changed a lot of lets to consts and /unauth/permanote is broken

This commit is contained in:
Ben
2018-11-07 15:13:57 +00:00
parent 7ab179208e
commit 7aead446de
22 changed files with 112 additions and 126 deletions

View File

@@ -5,7 +5,7 @@ import {User} from '../models/user/user';
export class LoginController extends ControllerHandler {
static async authenticate(req, res, next) {
let errors = new API.errors(res);
const errors = new API.errors(res);
let ip = req.connection.remoteAddress;
if (ip.startsWith('::ffff:')) ip = ip.substring(7);
@@ -25,11 +25,11 @@ export class LoginController extends ControllerHandler {
let user;
if (!username /*If they're loging in with email*/) {
user = await Database.users.getUser('email', email);
user = await Database.Users.getUser('email', email);
if (user == -1) errors.addError(422, 'Unprocessable entity', 'There is no user with that email');
username = user.username;
} else {
user = await Database.users.getUser('username', username);
user = await Database.Users.getUser('username', username);
if (user == -1) errors.addError(422, 'Unprocessable entity', 'There is no user with that username');
email = user.email;
}
@@ -40,23 +40,22 @@ export class LoginController extends ControllerHandler {
return;
}
let match = await User.Password.compare(password, user.password);
const match = await User.Password.compare(password, user.password);
if (!match) {
errors.addError(401, 'Unauthorized', 'Incorrect password for user').endpoint();
next();
return;
}
let response = new API.user(res, user.id, username, email, new Date(parseInt(user.lastupdated)).toLocaleString());
let token = await Database.auth.getTokenByID(user.id);
const response = new API.user(res, user.id, username, email, new Date(parseInt(user.lastupdated)).toLocaleString());
let token = await Database.Authorization.getTokenByID(user.id);
if (token == -1) {
let encryptedPass = await User.Password.gen(password);
const encryptedPass = await User.Password.gen(password);
password = null; // Cleaning password from memory
let status = response.getStatus;
const status = response.getStatus;
token = User.Token.gen(status, user.id, encryptedPass);
Database.auth.newToken(user.id, token, encryptedPass);
Database.Authorization.newToken(user.id, token, encryptedPass);
}
response.Token = token.token;