sanitized errors
This commit is contained in:
@@ -8,7 +8,7 @@ const fs = require('fs').promises;
|
||||
const path = require('path');
|
||||
const router = express.Router();
|
||||
|
||||
router.get('/profile', authenticateToken, async (req, res) => {
|
||||
router.get('/profile', authenticateToken, async (req, res, next) => {
|
||||
try {
|
||||
const user = await User.findByPk(req.user.id, {
|
||||
attributes: { exclude: ['password'] }
|
||||
@@ -27,12 +27,12 @@ router.get('/profile', authenticateToken, async (req, res) => {
|
||||
stack: error.stack,
|
||||
userId: req.user.id
|
||||
});
|
||||
res.status(500).json({ error: error.message });
|
||||
next(error);
|
||||
}
|
||||
});
|
||||
|
||||
// Address routes (must come before /:id route)
|
||||
router.get('/addresses', authenticateToken, async (req, res) => {
|
||||
router.get('/addresses', authenticateToken, async (req, res, next) => {
|
||||
try {
|
||||
const addresses = await UserAddress.findAll({
|
||||
where: { userId: req.user.id },
|
||||
@@ -52,11 +52,11 @@ router.get('/addresses', authenticateToken, async (req, res) => {
|
||||
stack: error.stack,
|
||||
userId: req.user.id
|
||||
});
|
||||
res.status(500).json({ error: error.message });
|
||||
next(error);
|
||||
}
|
||||
});
|
||||
|
||||
router.post('/addresses', authenticateToken, async (req, res) => {
|
||||
router.post('/addresses', authenticateToken, async (req, res, next) => {
|
||||
try {
|
||||
const address = await userService.createUserAddress(req.user.id, req.body);
|
||||
|
||||
@@ -69,11 +69,11 @@ router.post('/addresses', authenticateToken, async (req, res) => {
|
||||
userId: req.user.id,
|
||||
addressData: logger.sanitize(req.body)
|
||||
});
|
||||
res.status(500).json({ error: error.message });
|
||||
next(error);
|
||||
}
|
||||
});
|
||||
|
||||
router.put('/addresses/:id', authenticateToken, async (req, res) => {
|
||||
router.put('/addresses/:id', authenticateToken, async (req, res, next) => {
|
||||
try {
|
||||
const address = await userService.updateUserAddress(req.user.id, req.params.id, req.body);
|
||||
|
||||
@@ -88,14 +88,14 @@ router.put('/addresses/:id', authenticateToken, async (req, res) => {
|
||||
});
|
||||
|
||||
if (error.message === 'Address not found') {
|
||||
return res.status(404).json({ error: error.message });
|
||||
return res.status(404).json({ error: 'Address not found' });
|
||||
}
|
||||
|
||||
res.status(500).json({ error: error.message });
|
||||
next(error);
|
||||
}
|
||||
});
|
||||
|
||||
router.delete('/addresses/:id', authenticateToken, async (req, res) => {
|
||||
router.delete('/addresses/:id', authenticateToken, async (req, res, next) => {
|
||||
try {
|
||||
await userService.deleteUserAddress(req.user.id, req.params.id);
|
||||
|
||||
@@ -110,15 +110,15 @@ router.delete('/addresses/:id', authenticateToken, async (req, res) => {
|
||||
});
|
||||
|
||||
if (error.message === 'Address not found') {
|
||||
return res.status(404).json({ error: error.message });
|
||||
return res.status(404).json({ error: 'Address not found' });
|
||||
}
|
||||
|
||||
res.status(500).json({ error: error.message });
|
||||
next(error);
|
||||
}
|
||||
});
|
||||
|
||||
// User availability routes (must come before /:id route)
|
||||
router.get('/availability', authenticateToken, async (req, res) => {
|
||||
router.get('/availability', authenticateToken, async (req, res, next) => {
|
||||
try {
|
||||
const user = await User.findByPk(req.user.id, {
|
||||
attributes: ['defaultAvailableAfter', 'defaultAvailableBefore', 'defaultSpecifyTimesPerDay', 'defaultWeeklyTimes']
|
||||
@@ -130,11 +130,11 @@ router.get('/availability', authenticateToken, async (req, res) => {
|
||||
weeklyTimes: user.defaultWeeklyTimes
|
||||
});
|
||||
} catch (error) {
|
||||
res.status(500).json({ error: error.message });
|
||||
next(error);
|
||||
}
|
||||
});
|
||||
|
||||
router.put('/availability', authenticateToken, async (req, res) => {
|
||||
router.put('/availability', authenticateToken, async (req, res, next) => {
|
||||
try {
|
||||
const { generalAvailableAfter, generalAvailableBefore, specifyTimesPerDay, weeklyTimes } = req.body;
|
||||
|
||||
@@ -149,11 +149,11 @@ router.put('/availability', authenticateToken, async (req, res) => {
|
||||
|
||||
res.json({ message: 'Availability updated successfully' });
|
||||
} catch (error) {
|
||||
res.status(500).json({ error: error.message });
|
||||
next(error);
|
||||
}
|
||||
});
|
||||
|
||||
router.get('/:id', async (req, res) => {
|
||||
router.get('/:id', async (req, res, next) => {
|
||||
try {
|
||||
const user = await User.findByPk(req.params.id, {
|
||||
attributes: { exclude: ['password', 'email', 'phone', 'address'] }
|
||||
@@ -176,11 +176,11 @@ router.get('/:id', async (req, res) => {
|
||||
stack: error.stack,
|
||||
requestedUserId: req.params.id
|
||||
});
|
||||
res.status(500).json({ error: error.message });
|
||||
next(error);
|
||||
}
|
||||
});
|
||||
|
||||
router.put('/profile', authenticateToken, async (req, res) => {
|
||||
router.put('/profile', authenticateToken, async (req, res, next) => {
|
||||
try {
|
||||
// Use UserService to handle update and email notification
|
||||
const updatedUser = await userService.updateProfile(req.user.id, req.body);
|
||||
@@ -188,10 +188,7 @@ router.put('/profile', authenticateToken, async (req, res) => {
|
||||
res.json(updatedUser);
|
||||
} catch (error) {
|
||||
console.error('Profile update error:', error);
|
||||
res.status(500).json({
|
||||
error: error.message,
|
||||
details: error.errors ? error.errors.map(e => ({ field: e.path, message: e.message })) : undefined
|
||||
});
|
||||
next(error);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user