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 { ...@@ -12,27 +12,28 @@ class Tour {
} }
} }
class User { const User = {
static findOne(email, callback) { findOne: (email, callback) => {
const query = 'SELECT * FROM users WHERE email = ?'; const query = 'SELECT * FROM users WHERE email = ?';
db.query(query, [email], (err, results) => { db.query(query, [email], (err, results) => {
if (err) return callback(err); 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) { create: (name, email, password, callback) => {
const query = 'INSERT INTO users (name, email, password) VALUES (?, ?, ?)';
bcrypt.hash(password, 10, (err, hashedPassword) => { bcrypt.hash(password, 10, (err, hashedPassword) => {
if (err) return callback(err); if (err) return callback(err);
const query = 'INSERT INTO users (name, email, password) VALUES (?, ?, ?)';
db.query(query, [name, email, hashedPassword], (err, results) => { db.query(query, [name, email, hashedPassword], (err, results) => {
if (err) return callback(err); if (err) return callback(err);
callback(null, results.insertId); callback(null, results.insertId);
}); });
}); });
} },
static comparePassword(email, password, callback) { comparePassword: (email, password, callback) => {
User.findOne(email, (err, user) => { User.findOne(email, (err, user) => {
if (err || !user) return callback(err || 'User not found'); if (err || !user) return callback(err || 'User not found');
bcrypt.compare(password, user.password, (err, isMatch) => { bcrypt.compare(password, user.password, (err, isMatch) => {
...@@ -41,7 +42,7 @@ class User { ...@@ -41,7 +42,7 @@ class User {
}); });
}); });
} }
} };
module.exports = User; module.exports = User;
module.exports = Tour; module.exports = Tour;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment