todoList/app.js

52 lines
1.3 KiB
JavaScript

var express = require('express');
var session = require('express-session')({
secret: 'fUZG4VjOx9U91Htq2AAA',
cookie: { maxAge: 60000 },
saveUninitialized: true,
resave: false});
var xss = require("xss");
var bodyParser = require('body-parser');
var urlencodedParser = bodyParser.urlencoded({ extended: false });
var app = express();
app.set('view engine', 'ejs');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.use(session)
.use(function(req, res, next){
if (typeof(req.session.todolist) == 'undefined') {
req.session.todolist = [];
}
next();
})
.get('/todo', function(req, res) {
res.render('todo.ejs', {todolist: req.session.todolist});
})
.post('/todo/ajouter/', urlencodedParser, function(req, res) {
if (req.body.newtodo != '') {
req.session.todolist.push(req.body.newtodo);
}
res.redirect('/todo');
})
/* Supprime un élément de la todolist */
.get('/todo/supprimer/:id', function(req, res) {
if (req.params.id != '') {
req.session.todolist.splice(req.params.id, 1);
}
res.redirect('/todo');
})
/* On redirige vers la todolist si la page demandée n'est pas trouvée */
.use(function(req, res, next){
res.redirect('/todo');
})
.listen(8080);