-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathchangeGeneral.js
More file actions
89 lines (75 loc) · 3.21 KB
/
changeGeneral.js
File metadata and controls
89 lines (75 loc) · 3.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
// changeGeneral.js
const multer = require('multer');
const mysql = require('mysql2');
const path = require('path');
// Cấu hình thư mục upload
const storage = multer.diskStorage({
destination: (req, file, cb) => {
cb(null, path.join(__dirname, '../user/'));
},
filename: (req, file, cb) => {
cb(null, path.basename(file.originalname));
}
});
const upload = multer({ storage: storage });
const conn = require('./connectDB'); // Đảm bảo bạn đã kết nối với cơ sở dữ liệu
// Hàm xử lý yêu cầu cập nhật thông tin người dùng
const changeGeneral = (req, res) => {
const { userID, userName: newUserName, email: newEmail, defaultImage } = req.body;
if (!userID) {
return res.status(400).send('User ID không được cung cấp.');
}
// Cập nhật ảnh mặc định hoặc ảnh mới nếu có
if (defaultImage) {
const defaultImagePath = path.basename(defaultImage);
const sqlUpdateImage = `UPDATE user SET image = ? WHERE userID = ?`;
conn.query(sqlUpdateImage, [defaultImagePath, userID], (err) => {
if (err) {
console.error('Lỗi:', err.message);
return res.status(500).send('Có lỗi xảy ra.');
}
});
} else if (req.file) {
const imagePath = req.file.filename;
const sqlUpdateImage = `UPDATE user SET image = ? WHERE userID = ?`;
conn.query(sqlUpdateImage, [imagePath, userID], (err) => {
if (err) {
console.error('Lỗi:', err.message);
return res.status(500).send('Có lỗi xảy ra.');
}
});
}
// Cập nhật thông tin user
const sqlUpdateUser = `UPDATE user SET userName = ?, email = ? WHERE userID = ?`;
conn.query(sqlUpdateUser, [newUserName, newEmail, userID], (err) => {
if (err) {
console.error('Lỗi:', err.message);
return res.status(500).send('Có lỗi xảy ra.');
}
// Lấy thông tin mới nhất của người dùng từ cơ sở dữ liệu
const sqlSelectUser = `SELECT * FROM user WHERE userID = ?`;
conn.query(sqlSelectUser, [userID], (err, result) => {
if (err) {
console.error('Lỗi:', err.message);
return res.status(500).send('Có lỗi xảy ra.');
}
// Gán lại tất cả thông tin của userLogin vào session
req.session.userLogin = {
userID: result[0].userID,
userName: result[0].userName,
email: result[0].email,
image: result[0].image,
loginpassword: result[0].loginpassword,
address: result[0].address,
bio: result[0].bio,
country: result[0].country,
phone: result[0].phone
};
// Truyền thông tin người dùng vào `res.render`
const success_message = 'Update Information Successfully';
const website = 'General.ejs';
res.render('General', { userLogin: req.session.userLogin, website, success_message });
});
});
};
module.exports = { upload, changeGeneral };