Gitlab@Informatics

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

Project Round 2

parent c6b9a66a
No related branches found
No related tags found
No related merge requests found
const Tour = require('../models/tourModel');
const User = require('../models/userModel');
const { User, Tour } = require('../models/tourModel');
exports.getTours = async (req, res) => {
try {
......
......@@ -46,5 +46,4 @@ class User {
}
}
module.exports = User;
module.exports = Tour;
module.exports = { User, Tour };
const db = require('../config/db'); // ดึง Database connection
const bcrypt = require('bcryptjs');
class User {
static async findOne(email) {
return new Promise((resolve, reject) => {
db.query('SELECT * FROM users WHERE email = ?', [email], (err, results) => {
if (err) return reject(err);
resolve(results[0]); // คืนค่า user ที่เจอ หรือ undefined
});
});
}
static async create(name, email, password) {
return new Promise(async (resolve, reject) => {
try {
const hashedPassword = await bcrypt.hash(password, 10);
db.query(
'INSERT INTO users (name, email, password) VALUES (?, ?, ?)',
[name, email, hashedPassword],
(err, results) => {
if (err) return reject(err);
resolve(results.insertId); // คืนค่า ID ของ user ที่ถูกสร้าง
}
);
} catch (err) {
reject(err);
}
});
}
static async comparePassword(email, password) {
return new Promise(async (resolve, reject) => {
try {
const user = await this.findOne(email);
if (!user) return resolve(false); // ไม่เจอผู้ใช้
const isMatch = await bcrypt.compare(password, user.password);
resolve(isMatch);
} catch (err) {
reject(err);
}
});
}
}
module.exports = User;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment