diff --git a/models/tourModel.js b/models/tourModel.js index d02fe49c3ee25ee5d80f7efbd512d96182e03a5b..ce553ba5d64bf0ac6f2778495b986ef7a4fdf32a 100644 --- a/models/tourModel.js +++ b/models/tourModel.js @@ -12,27 +12,28 @@ class Tour { } } -class User { - static findOne(email, callback) { +const User = { + findOne: (email, callback) => { const query = 'SELECT * FROM users WHERE email = ?'; db.query(query, [email], (err, results) => { if (err) return callback(err); - callback(null, results[0] || null); // คืนค่า null หากไม่มีผู้ใช้ + callback(null, results.length > 0 ? results[0] : null); }); - } + }, - static create(name, email, password, callback) { - const query = 'INSERT INTO users (name, email, password) VALUES (?, ?, ?)'; + create: (name, email, password, callback) => { bcrypt.hash(password, 10, (err, hashedPassword) => { if (err) return callback(err); + + const query = 'INSERT INTO users (name, email, password) VALUES (?, ?, ?)'; db.query(query, [name, email, hashedPassword], (err, results) => { if (err) return callback(err); callback(null, results.insertId); }); }); - } + }, - static comparePassword(email, password, callback) { + comparePassword: (email, password, callback) => { User.findOne(email, (err, user) => { if (err || !user) return callback(err || 'User not found'); bcrypt.compare(password, user.password, (err, isMatch) => { @@ -41,7 +42,7 @@ class User { }); }); } -} +}; module.exports = User; module.exports = Tour;