52 lines
1.3 KiB
JavaScript
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);
|