Gitlab@Informatics

Skip to content
Snippets Groups Projects
Commit 9fdf7437 authored by 65160394's avatar 65160394
Browse files

Project Round 2

parent 0a482781
No related branches found
No related tags found
No related merge requests found
......@@ -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;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment