diff --git a/config/routes.js b/config/routes.js index 69715d7..aff5ef7 100644 --- a/config/routes.js +++ b/config/routes.js @@ -12,4 +12,10 @@ router.post('/exercises', exercisesController.store) // Obtiene detalles del ejercicio router.get('/exercises/:id', exercisesController.details) +// Actualiza el ejercicio +router.put('/exercises/:id', exercisesController.update) + +// Elimina el ejercicio +router.delete('/exercises/:id', exercisesController.delete) + export default router diff --git a/controllers/ExercisesController.js b/controllers/ExercisesController.js index 2728566..5b786cc 100644 --- a/controllers/ExercisesController.js +++ b/controllers/ExercisesController.js @@ -2,46 +2,82 @@ import db from '../config/database' class ExercisesController { - static index(req, res){ - var sql = "select * from exercise" - db.all(sql, (err, exercises) => { - if (err) { - res.status(500).json({'error': err.message}); - return; - } - res.json(exercises) - }); - } - - static store(req, res){ - const { title, description, img, leftColor, rightColor } = req.body - const SQL = 'INSERT INTO exercise (title, description, img, leftColor, rightColor) VALUES (?,?,?,?,?)' - const params = [title, description, img, leftColor, rightColor] - db.run(SQL, params, function (err) { - if (err){ - res.status(500).json({'error': err.message}) - return; - } - req.body.id = this.lastID - res.json({ - 'exercise': req.body - }) - }) - } - - static details(req, res){ - var sql = "select * from exercise where id = ?" - - db.get(sql, req.params.id, (err, exercise) => { - if (err) { - res.status(500).json({'error': err.message}); - return; - } - res.json({ - exercise - }) - }); - } + static index(req, res){ + var sql = "SELECT * FROM exercise"; + db.all(sql, (err, exercises) => { + if (err) { + res.status(500).json({'error': err.message}); + return; + } + res.json(exercises) + }); + } + + static store(req, res){ + const { title, description, img, leftColor, rightColor } = req.body; + const SQL = 'INSERT INTO exercise (title, description, img, leftColor, rightColor) VALUES (?,?,?,?,?)'; + const params = [title, description, img, leftColor, rightColor]; + + let a = db.run(SQL, params, function (err) { + if (err){ + res.status(500).json({'error': err.message}); + return; + } + res.req.body.id = this.lastID; + res.json({ + 'exercise': res.req.body + }); + }); + } + + static details(req, res){ + var sql = "SELECT * FROM exercise WHERE id = ?" + + db.get(sql, req.params.id, (err, exercise) => { + if (err) { + res.status(500).json({'error': err.message}); + return; + } + res.json({ + exercise + }); + }); + } + + static update(req, res){ + const { title, description, img, leftColor, rightColor, id } = req.body; + const SQL = ` UPDATE exercise + SET title = ? , + description = ? , + img = ? , + leftColor = ?, + rightColor = ? + WHERE id = ?` + const params = [title, description, img, leftColor, rightColor, id]; + db.run(SQL, params, (err) => { + if (err){ + res.status(500).json({'error': err.message}); + return; + } + res.json({ + 'exercise': res.req.body + }); + }); + } + + static delete(req, res){ + const SQL = " DELETE FROM exercise WHERE id = ? " + + db.run(SQL, req.params.id, function (err) { + if (err){ + res.status(500).json({'error': err.message}); + return; + } + res.json({ + 'msg': 'deleted' + }); + }); + } } -export default ExercisesController +export default ExercisesController; diff --git a/index.js b/index.js index 7340ec2..b3defc1 100644 --- a/index.js +++ b/index.js @@ -5,7 +5,7 @@ import cors from 'cors' const app = express() const corsOptions = { - origin: '*' + origin: '*' } app.use(bodyParser.urlencoded({extended: false})) @@ -13,13 +13,10 @@ app.use(bodyParser.json()) app.use('/api',cors(corsOptions), routes) - app.get('/', (req, res) => res.send('Welcome to FitnessAPI')) - const server = app.listen(process.env.PORT || 8000, () => { - console.log(`http://localhost:${server.address().port}`) + console.log(`http://localhost:${server.address().port}`) }) - -export default app \ No newline at end of file +export default app