diff --git a/controllers/tourController.js b/controllers/tourController.js index b30c25bfb040c4233eb0ac816862977689825696..c4d94bf991613979a58ff1e586c0ea3104857cf3 100644 --- a/controllers/tourController.js +++ b/controllers/tourController.js @@ -201,19 +201,26 @@ exports.getEditTour = async (req, res) => { } }; - exports.postEditTour = async (req, res) => { +exports.postEditTour = async (req, res) => { + console.log('ðĨ Data received:', req.body); // āļāļĢāļ§āļāļŠāļāļāļāđāļāļĄāļđāļĨāļāļĩāđāđāļāđāļĢāļąāļāļāļēāļāļāļāļĢāđāļĄ + const { name, description, price, duration } = req.body; - console.log('ðĨ Data received:', req.body); - const { name, description, price, duration } = req.body; - const tourData = { name, description, price, duration }; - - try { - await Tour.updateTour(req.params.userId, tourData); // āļāļģāļŠāļąāđāļāđāļāļāļēāļĢāļāļąāļāđāļāļ - res.redirect('/tour/' + req.params.userId); // āđāļāļāļĩāđāļŦāļāđāļēāļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļāļāļąāļ§āļĢāđ - } catch (error) { - res.status(500).send('āđāļāļīāļāļāđāļāļāļīāļāļāļĨāļēāļāđāļāļāļēāļĢāđāļāđāđāļāļāļąāļ§āļĢāđ'); - } + // āļāļĢāļ§āļāļŠāļāļāļ§āđāļēāļĄāļĩāļāđāļēāļāļĢāļāļāđāļ§āļāļŦāļĢāļ·āļāđāļĄāđ + if (!name || !description || !price || !duration) { + return res.status(400).send('āļāļĢāļļāļāļēāļāļĢāļāļāļāđāļāļĄāļđāļĨāđāļŦāđāļāļĢāļāļāļļāļāļāđāļāļ'); + } + + const tourData = { name, description, price, duration }; + + try { + await Tour.updateTour(req.params.tourId, tourData); // āļāļĢāļ§āļāļŠāļāļ tourId + res.redirect('/tour/' + req.params.tourId); // āđāļāļāļĩāđāļŦāļāđāļēāļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļāļāļąāļ§āļĢāđ + } catch (error) { + console.error('Error updating tour:', error); // āļāđāļāļāļīāļāļāļĨāļēāļ + res.status(500).send('āđāļāļīāļāļāđāļāļāļīāļāļāļĨāļēāļāđāļāļāļēāļĢāđāļāđāđāļāļāļąāļ§āļĢāđ'); + } }; + exports.deleteTour = async (req, res) => { try { const tour = await Tour.getTourById(req.params.userId); diff --git a/models/tourModel.js b/models/tourModel.js index ad7f7e34eb53572de1c637040882950500f695f6..052fd0b0d6855e03e0ea37cea0f208cf1dbc13fc 100644 --- a/models/tourModel.js +++ b/models/tourModel.js @@ -58,20 +58,26 @@ class Tour { // āļāļąāļāđāļāļāļāļąāļ§āļĢāđ - static async updateTour(userId, tourData) { + static async updateTour(tourId, tourData) { const { name, description, price, duration } = tourData; - const query = 'UPDATE tours SET name = ?, description = ?, price = ?, duration = ? WHERE userId = ?'; + + if (!name || !description || !price || !duration) { + throw new Error('āļāđāļāļĄāļđāļĨāđāļĄāđāļāļĢāļāļāđāļ§āļ'); + } + + const query = 'UPDATE tours SET name = ?, description = ?, price = ?, duration = ? WHERE id = ?'; try { - const [results] = await pool.execute(query, [name, description, price, duration, userId]); + const [results] = await pool.execute(query, [name, description, price, duration, tourId]); console.log('â Update results:', results); return results; } catch (error) { - console.error('Error updating tour:', error); // āļāļĢāļ§āļāļŠāļāļāļāđāļāļāļīāļāļāļĨāļēāļāđāļāļāļēāļāļāđāļāļĄāļđāļĨ + console.error('Error updating tour:', error); // āļāđāļāļāļīāļāļāļĨāļēāļāļāļēāļāļāļēāļĢāļāļąāļāđāļāļ throw error; } } + // āļāļķāļāļāļąāļ§āļĢāđāļāļēāļĄ ID static async getTourById(id) {