From 097f26f74c3dd1e040116fbc961546acd7254904 Mon Sep 17 00:00:00 2001 From: Geoffrey Frogeye Date: Fri, 10 Apr 2015 23:29:45 +0200 Subject: [PATCH] Améliorations coté serveur --- app/routes/ApiRtes.js | 50 +++++++++++++++++++++++++------------------------- app/services/SessionsServ.js | 7 +++---- public/js/services/SessionServ.js | 3 ++- 3 files changed, 30 insertions(+), 30 deletions(-) diff --git a/app/routes/ApiRtes.js b/app/routes/ApiRtes.js index d46be93..7545958 100644 --- a/app/routes/ApiRtes.js +++ b/app/routes/ApiRtes.js @@ -10,12 +10,12 @@ var api = express(); // Authentication reqAuth = function () { return function (req, res, next) { - SessionsServ.use(req.cookies.session, function (err) { + SessionsServ.use(req.cookies.session, function (err, session) { if (err) { res.status(500).send(err); } else { - if (SessionsServ.cur) { - req.session = SessionsServ.cur; + if (session) { + req.session = session; next(); } else { res.status(401).end(); @@ -71,11 +71,11 @@ assert = function (test) { // Sessions api.get('/session', function (req, res) { // Informations sur la session if (req.cookies && req.cookies.session) { - SessionsServ.use(req.cookies.session, function (err) { + SessionsServ.use(req.cookies.session, function (err, session) { if (err) { - res.send(err); + res.status(500).send(err); } else { - res.send(SessionsServ.cur); + res.send(session); } }); // TODO si pas bon : res.clearCookie('session') @@ -86,12 +86,12 @@ api.get('/session', function (req, res) { // Informations sur la session api.post('/session', function (req, res) { // Se connecter DecryptServ.decrypt(req.body[0], function (data) { - SessionsServ.open(JSON.parse(data), function (err) { + SessionsServ.open(JSON.parse(data), function (err, session) { if (err) { - res.send(err); + res.status(500).send(err); } else { - res.cookie('session', SessionsServ.cur._id); - res.send(SessionsServ.cur); + res.cookie('session', session._id); + res.send(session); } }); }); @@ -113,7 +113,7 @@ api.delete('/session', function (req, res) { // Se déconnecter api.get('/membres', function (req, res) { // Liste des membres MembresServ.list(function (err, membres) { if (err) - res.send(err); + res.status(500).send(err); else res.json(membres); }); @@ -124,7 +124,7 @@ api.post('/membres', assert(function (req, res, cb) { }), reqPerm('canAddMembre'), function (req, res) { // Ajout d'un membre MembresServ.add(req.body, function (err, membre) { if (err) - res.send(err); + res.status(500).send(err); else res.json(membre); }); @@ -133,7 +133,7 @@ api.post('/membres', assert(function (req, res, cb) { api.delete('/membres/:membre_id', reqPerm('canDelMembre'), function (req, res) { // Supression d'un membre MembresServ.remove(req.params.membre_id, function (err, membre) { if (err) - res.send(err); + res.status(500).send(err); else res.json(null); }); @@ -144,7 +144,7 @@ api.delete('/membres/:membre_id', reqPerm('canDelMembre'), function (req, res) { api.get('/convs', function (req, res) { // Liste des convs ConvsServ.list(function (err, convs) { if (err) - res.send(err); + res.status(500).send(err); else res.json(convs); }); @@ -153,7 +153,7 @@ api.get('/convs', function (req, res) { // Liste des convs api.get('/convs/:conv_id', function (req, res) { // Une conv ConvsServ.get(req.params.conv_id, function (err, conv) { if (err) - res.send(err); + res.status(500).send(err); else res.json(conv); }); @@ -162,7 +162,7 @@ api.get('/convs/:conv_id', function (req, res) { // Une conv api.post('/convs', reqPerm('canAddConv'), function (req, res) { // Ajout d'un conv ConvsServ.add(req.body, function (err, conv) { if (err) - res.send(err); + res.status(500).send(err); else res.json(conv); }); @@ -171,46 +171,46 @@ api.post('/convs', reqPerm('canAddConv'), function (req, res) { // Ajout d'un co api.delete('/convs/:conv_id', reqPerm('canDelConv'), function (req, res) { // Supression d'un conv ConvsServ.remove(req.params.conv_id, function (err, conv) { if (err) - res.send(err); + res.status(500).send(err); else res.json(null); }); }); // Messages -api.get('/messs/:conv_id', function (req, res) { // Liste des messs +api.get('/messs/:conv_id', reqAuth(), function (req, res) { // Liste des messs MessServ.list(req.params.conv_id, function (err, messs) { if (err) - res.send(err); + res.status(500).send(err); else res.json(messs); }); }); -api.get('/messs/:mess_id', function (req, res) { // Une mess +api.get('/messs/:mess_id', reqAuth(), function (req, res) { // Une mess MessServ.get(req.params.mess_id, function (err, mess) { if (err) - res.send(err); + res.status(500).send(err); else res.json(mess); }); }); -api.post('/messs', reqAuth(), function (req, res) { // Ajout d'un mess +api.post('/messs', reqPerm('canAddMess'), function (req, res) { // Ajout d'un mess data = req.body; data.login = req.session.login; MessServ.add(data, function (err, mess) { if (err) - res.send(err); + res.status(500).send(err); else res.json(mess); }); }); -api.delete('/messs/:mess_id', reqAuth(), function (req, res) { // Supression d'un mess +api.delete('/messs/:mess_id', reqPerm('canDelMess'), function (req, res) { // Supression d'un mess MessServ.remove(req.params.mess_id, function (err, mess) { if (err) - res.send(err); + res.status(500).send(err); else res.json(null); }); diff --git a/app/services/SessionsServ.js b/app/services/SessionsServ.js index 937c2f5..d3eeebf 100644 --- a/app/services/SessionsServ.js +++ b/app/services/SessionsServ.js @@ -75,8 +75,7 @@ sessions.use = function (id, cb) { if (err) { cb(err); } else { - _this.cur = session; // TODO Get rid of _this.cur - cb(null); + cb(null, session); } }); }; @@ -95,12 +94,12 @@ sessions.open = function (data, cb) { _this = this; _this.login(data, function (err, res) { if (err) { - cb('error'); + cb(err); } else { if (res) { _this.create(data.login, function (err, session) { if (err) { - cb('error'); + cb(err); } else { _this.use(session._id, cb); } diff --git a/public/js/services/SessionServ.js b/public/js/services/SessionServ.js index f3ee32d..e860826 100644 --- a/public/js/services/SessionServ.js +++ b/public/js/services/SessionServ.js @@ -58,6 +58,7 @@ angular.module('SessionsServ', ['NotifyServ', 'EncryptServ']).service('SessionSe } }).error(function (body) { not.error("Impossible de se connecter", body); + cb(body); }); }); }, @@ -67,7 +68,7 @@ angular.module('SessionsServ', ['NotifyServ', 'EncryptServ']).service('SessionSe $http.delete('/api/session').success(function () { _this.updateSessionInfos(false); not.success("Déconnecté"); - }).error(function(body) { + }).error(function (body) { not.error("Impossible de se déconnecter", body); }); } -- libgit2 0.21.2