diff --git a/app.js b/app.js index 31524b94b0e73ef170edc5ebe5959ac4b0d38c3b..5e6c58cfad9bdcaf6b13f1ddafda52d07f82e205 100644 --- a/app.js +++ b/app.js @@ -1,5 +1,9 @@ const express = require('express'); const app = express(); +const bodyParser = require('body-parser'); + +app.use(bodyParser.urlencoded()); +app.use(bodyParser.json()); app.use((req, res, next) => { res.error = []; diff --git a/middleware/episode/deleteEpisode.js b/middleware/episode/deleteEpisode.js index e9dabf3596c5de88ea1462a4d43f47d757b19176..cf38378595ccfc3e9eb1aa9879503612cbdee38e 100644 --- a/middleware/episode/deleteEpisode.js +++ b/middleware/episode/deleteEpisode.js @@ -1,8 +1,8 @@ /** - * + * Deletes an episode with the :episodeId id if exists * */ -module.exports = () => { +module.exports = (objectRepository) => { return (req, res, next) => { diff --git a/middleware/episode/getEpisode.js b/middleware/episode/getEpisode.js index e9dabf3596c5de88ea1462a4d43f47d757b19176..6891a1d76c9b5383e155bf9e0e4b504aec3d1e93 100644 --- a/middleware/episode/getEpisode.js +++ b/middleware/episode/getEpisode.js @@ -1,8 +1,8 @@ /** - * + * Returns an episode with the :episodeId id and put it in res.tpl.episode * */ -module.exports = () => { +module.exports = (objectRepository) => { return (req, res, next) => { diff --git a/middleware/episode/getEpisodes.js b/middleware/episode/getEpisodes.js index e9dabf3596c5de88ea1462a4d43f47d757b19176..19d56b6609e4bfac9084235aeaa226b766185714 100644 --- a/middleware/episode/getEpisodes.js +++ b/middleware/episode/getEpisodes.js @@ -1,8 +1,8 @@ /** - * + * Returns all the episodes for a given serie with :id and puts the list on res.tpl.episodes * */ -module.exports = () => { +module.exports = (objectRepository) => { return (req, res, next) => { diff --git a/middleware/episode/postEpisode.js b/middleware/episode/postEpisode.js index e9dabf3596c5de88ea1462a4d43f47d757b19176..e7deb78cc1a66cbc4c4c289a360328fab03e702a 100644 --- a/middleware/episode/postEpisode.js +++ b/middleware/episode/postEpisode.js @@ -1,8 +1,8 @@ /** - * + * Creates a new episode for the serie with :id id with the data provided * */ -module.exports = () => { +module.exports = (objectRepository) => { return (req, res, next) => { diff --git a/middleware/episode/updateEpisode.js b/middleware/episode/updateEpisode.js index e9dabf3596c5de88ea1462a4d43f47d757b19176..727e930f1c8763bb3e6e7d30834681046ecf34c2 100644 --- a/middleware/episode/updateEpisode.js +++ b/middleware/episode/updateEpisode.js @@ -1,8 +1,8 @@ /** - * + * Updates the episode with :episodeId id with the data provided * */ -module.exports = () => { +module.exports = (objectRepository) => { return (req, res, next) => { diff --git a/middleware/generic/render.js b/middleware/generic/render.js index 44bddd29d5bfa1b4f6fd67a3c9d7ea4f0ff035a4..6939a470d314fca1925285a7bfb0f62416ffcf95 100644 --- a/middleware/generic/render.js +++ b/middleware/generic/render.js @@ -1,8 +1,8 @@ /** - * + * Using the template engine render the values into the template * */ -module.exports = (view) => { +module.exports = (objectRepository, view) => { return (req, res) => { res.end(`Render: ${view}`); }; diff --git a/middleware/serie/deleteSerie.js b/middleware/serie/deleteSerie.js index e9dabf3596c5de88ea1462a4d43f47d757b19176..a0e24ddeabd66815ee3b79c05d6fbf8cfe02b5c8 100644 --- a/middleware/serie/deleteSerie.js +++ b/middleware/serie/deleteSerie.js @@ -1,8 +1,8 @@ /** - * + * Deletes a serie with given :id if exists * */ -module.exports = () => { +module.exports = (objectRepository) => { return (req, res, next) => { diff --git a/middleware/serie/getSerie.js b/middleware/serie/getSerie.js index e9dabf3596c5de88ea1462a4d43f47d757b19176..b0b0292db2df071e7c779cf969e9082d7ddf8cad 100644 --- a/middleware/serie/getSerie.js +++ b/middleware/serie/getSerie.js @@ -1,8 +1,8 @@ /** - * + * Returns the serie with :id id and put it in res.tpl.serie * */ -module.exports = () => { +module.exports = (objectRepository) => { return (req, res, next) => { diff --git a/middleware/serie/getSeries.js b/middleware/serie/getSeries.js index c4666529d097e67593ed24d931ce3463079d9fc8..f3e43a7a0012b284f8901bfed339899ffb610c96 100644 --- a/middleware/serie/getSeries.js +++ b/middleware/serie/getSeries.js @@ -1,11 +1,11 @@ /** - * + * Returns all series in the database and puts the list on res.tpl.series * */ -module.exports = () => { +module.exports = (objectRepository) => { return (req, res, next) => { - + return next(); }; }; diff --git a/middleware/serie/postSerie.js b/middleware/serie/postSerie.js index e9dabf3596c5de88ea1462a4d43f47d757b19176..a88938bc682fb67295138ea0909efe38a486fe66 100644 --- a/middleware/serie/postSerie.js +++ b/middleware/serie/postSerie.js @@ -1,8 +1,8 @@ /** - * + * Creates a new serie with the data provided * */ -module.exports = () => { +module.exports = (objectRepository) => { return (req, res, next) => { diff --git a/middleware/serie/updateSerie.js b/middleware/serie/updateSerie.js index e9dabf3596c5de88ea1462a4d43f47d757b19176..ed9adb1022d5e4b6cc9e879077743fcd39312dce 100644 --- a/middleware/serie/updateSerie.js +++ b/middleware/serie/updateSerie.js @@ -1,8 +1,8 @@ /** - * + * Updates the serie with :id id with the data provided * */ -module.exports = () => { +module.exports = (objectRepository) => { return (req, res, next) => { diff --git a/package.json b/package.json index 211cca10b65a577d13a505c3709ee7d643a15249..bf33f154ac8a364147e09171777c3a6ac25e5abb 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,7 @@ }, "homepage": "https://szakitom.github.io/node_homework/", "dependencies": { + "body-parser": "^1.18.2", "express": "^4.16.0" } } diff --git a/routes/index.js b/routes/index.js index 70f0ef80d7e4f98f7f06c1f913094395d1e8c3ea..0f84efc57707cf671286319c82a457616f9aaba4 100644 --- a/routes/index.js +++ b/routes/index.js @@ -11,64 +11,87 @@ const updateEpisodeMW = require('../middleware/episode/updateEpisode'); const deleteEpisodeMW = require('../middleware/episode/deleteEpisode'); module.exports = (app) => { + const objectRepository = {}; + app.get('/', - getSeriesMW(), - renderMW('series') + getSeriesMW(objectRepository), + renderMW(objectRepository, 'series') ); + // SERIES + app.get('/series/:id', - getSerieMW(), - getEpisodesMW(), - renderMW('serie') + getSerieMW(objectRepository), + getEpisodesMW(objectRepository), + renderMW(objectRepository, 'serie') ); app.get('/series/:id/edit', - getSerieMW(), - renderMW('serieEdit') + getSerieMW(objectRepository), + renderMW(objectRepository, 'serieEdit') ); - app.post('series', - postSerieMW() + app.post('/series', + postSerieMW(objectRepository), + (req, res, next) => ( + res.redirect('/series'); + ) ); app.put('/series/:id', - getSerieMW(), - updateSerieMW() + getSerieMW(objectRepository), + updateSerieMW(objectRepository), + (req, res, next) => ( + res.redirect(`/series/${req.params.id}`); + ) ); app.delete('/series/:id', - getSerieMW(), - getEpisodesMW(), - deleteSerieMW(), - deleteEpisodeMW() + getSerieMW(objectRepository), + getEpisodesMW(objectRepository), + deleteSerieMW(objectRepository), + (req, res, next) => ( + res.redirect('/series'); + ) ); + // EPISODES + app.get('/series/:id/episode/:episodeId', - getSerieMW(), - getEpisodeMW(), - renderMW('episode') + getSerieMW(objectRepository), + getEpisodeMW(objectRepository), + renderMW(objectRepository, 'episode') ); app.get('/series/:id/episode/:episodeId/edit', - getSerieMW(), - getEpisodeMW(), - renderMW('episodeEdit') + getSerieMW(objectRepository), + getEpisodeMW(objectRepository), + renderMW(objectRepository, 'episodeEdit') ); app.post('/series/:id', - getSerieMW(), - postEpisodeMW() + getSerieMW(objectRepository), + postEpisodeMW(objectRepository), + (req, res, next) => ( + res.redirect(`/series/${req.params.id}`); + ) ); app.put('/series/:id/episode/:episodeId', - getSerieMW(), - getEpisodeMW(), - updateEpisodeMW() + getSerieMW(objectRepository), + getEpisodeMW(objectRepository), + updateEpisodeMW(objectRepository), + (req, res, next) => ( + res.redirect(`/series/${req.params.id}/episode/${req.params.episodeId}`); + ) ); app.delete('/series/:id/episode/:episodeId', - getSerieMW(), - getEpisodeMW(), - deleteEpisodeMW() + getSerieMW(objectRepository), + getEpisodeMW(objectRepository), + deleteEpisodeMW(objectRepository), + (req, res, next) => ( + res.redirect(`/series/${req.params.id}`); + ) ); }