Code: Select all
app.post('/api/login', async (req, res) => {
try {
const { email, password } = req.body;
if (!email || !password) {
return res.status(400).json({ error: 'Missing email or password' });
}
const [rows] = await db.query(
'SELECT user_id, password FROM users WHERE email = ?',
[email]
);
if (!rows.length) {
return res.status(401).json({ error: 'Invalid email or password' });
}
const user = rows[0];
if (user.password !== password) {
return res.status(401).json({ error: 'Invalid email or password' });
}
req.session.userId = user.id;
return res.json({ success: true });
} catch (error) {
console.error('Login error:', error);
return res.status(500).json({ error: 'Server error' });
}
});
Code: Select all
app.get('/api/auth-check', async (req, res) => {
if (!req.session.userId) {
return res.json({ loggedIn: false });
}
try {
const [rows] = await db.query(
'SELECT email FROM users WHERE user_id = ?',
[req.session.userId]
);
if (!rows.length) {
return res.json({ loggedIn: false });
}
return res.json({
loggedIn: true,
email: rows[0].email,
});
} catch (error) {
console.error('Auth check error:', error);
return res.status(500).json({ error: 'Server error' });
}
});