first commit
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
const logger = require('../logger');
|
||||
const bcrypt = require('bcrypt');
|
||||
const moderDb = require('../moders/db');
|
||||
require('dotenv').config({ path: __dirname + './config.env' });
|
||||
exports.login = (req, res) => {
|
||||
const { password } = req.body;
|
||||
if (password === process.env.ADMIN_PASSWORD) {
|
||||
req.session.isAuthenticated = true;
|
||||
logger.info('Login successful');
|
||||
res.status(200).send('Login successful');
|
||||
} else {
|
||||
res.status(401).send('Invalid password');
|
||||
logger.warn('Неверный пароль');
|
||||
}
|
||||
};
|
||||
|
||||
exports.getCsrfToken = (req, res) => {
|
||||
res.json({ csrfToken: req.csrfToken() });
|
||||
};
|
||||
|
||||
exports.moderLogin = async (req, res) => {
|
||||
const { username, password } = req.body;
|
||||
try {
|
||||
const [users] = await moderDb.query('SELECT * FROM users WHERE username = ?', [username]);
|
||||
if (users.length === 0) {
|
||||
return res.status(401).json({ message: 'Неверные учетные данные' });
|
||||
}
|
||||
const user = users[0];
|
||||
const match = await bcrypt.compare(password, user.password_hash);
|
||||
if (!match) {
|
||||
return res.status(401).json({ message: 'Неверные учетные данные' });
|
||||
}
|
||||
req.session.moderId = user.id;
|
||||
req.session.moderName = user.username;
|
||||
res.json({ message: 'Успешный вход', username: user.username });
|
||||
} catch (error) {
|
||||
logger.error('Ошибка входа модератора:', error);
|
||||
res.status(500).json({ message: 'Ошибка сервера' });
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user