Sửa lỗi quản lí users, chỉnh sửa users

This commit is contained in:
2026-06-08 21:30:03 +07:00
parent 6dfc811292
commit fadfb6ba09
7 changed files with 376 additions and 35 deletions
+15 -6
View File
@@ -11,26 +11,35 @@ const router = express.Router();
*/
router.post('/register', async (req, res) => {
try {
const { username, password, role } = req.body;
const { fullName, email, username, password, agreedToRules } = req.body;
// Check if user already exists
const userExists = await User.findOne({ username });
// Kiểm tra thông tin bắt buộc
if (!fullName || !email || !username || !password || agreedToRules === undefined) {
return res.status(400).json({ message: 'Vui lòng cung cấp đầy đủ thông tin đăng ký' });
}
// Kiểm tra xem username hoặc email đã tồn tại chưa
const userExists = await User.findOne({ $or: [{ username }, { email }] });
if (userExists) {
return res.status(400).json({ message: 'User already exists' });
const field = userExists.username === username ? 'Tên đăng nhập' : 'Email';
return res.status(400).json({ message: `${field} đã được sử dụng` });
}
// Check if this is the very first user registering
const userCount = await User.countDocuments();
let finalRole = 'Thành viên';
let finalRole = 'user';
if (userCount === 0) {
// First user to register in the system gets the supreme admin role
finalRole = 'Chủ sở hữu';
finalRole = 'admin';
}
const user = new User({
fullName,
email,
username,
password,
agreedToRules,
role: finalRole
});