Sửa lỗi quản lí users, chỉnh sửa users
This commit is contained in:
@@ -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
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user