Commit 097f26f74c3dd1e040116fbc961546acd7254904

Authored by Geoffrey PREUD'HOMME
1 parent eaf87e8a

Améliorations coté serveur

* Ajout d'erreurs 500 manquantes
* Suppression de SessionServ.cur
* Ajout d'autorisations manquantes
app/routes/ApiRtes.js
... ... @@ -10,12 +10,12 @@ var api = express();
10 10 // Authentication
11 11 reqAuth = function () {
12 12 return function (req, res, next) {
13   - SessionsServ.use(req.cookies.session, function (err) {
  13 + SessionsServ.use(req.cookies.session, function (err, session) {
14 14 if (err) {
15 15 res.status(500).send(err);
16 16 } else {
17   - if (SessionsServ.cur) {
18   - req.session = SessionsServ.cur;
  17 + if (session) {
  18 + req.session = session;
19 19 next();
20 20 } else {
21 21 res.status(401).end();
... ... @@ -71,11 +71,11 @@ assert = function (test) {
71 71 // Sessions
72 72 api.get('/session', function (req, res) { // Informations sur la session
73 73 if (req.cookies && req.cookies.session) {
74   - SessionsServ.use(req.cookies.session, function (err) {
  74 + SessionsServ.use(req.cookies.session, function (err, session) {
75 75 if (err) {
76   - res.send(err);
  76 + res.status(500).send(err);
77 77 } else {
78   - res.send(SessionsServ.cur);
  78 + res.send(session);
79 79 }
80 80 });
81 81 // TODO si pas bon : res.clearCookie('session')
... ... @@ -86,12 +86,12 @@ api.get('/session', function (req, res) { // Informations sur la session
86 86  
87 87 api.post('/session', function (req, res) { // Se connecter
88 88 DecryptServ.decrypt(req.body[0], function (data) {
89   - SessionsServ.open(JSON.parse(data), function (err) {
  89 + SessionsServ.open(JSON.parse(data), function (err, session) {
90 90 if (err) {
91   - res.send(err);
  91 + res.status(500).send(err);
92 92 } else {
93   - res.cookie('session', SessionsServ.cur._id);
94   - res.send(SessionsServ.cur);
  93 + res.cookie('session', session._id);
  94 + res.send(session);
95 95 }
96 96 });
97 97 });
... ... @@ -113,7 +113,7 @@ api.delete('/session', function (req, res) { // Se déconnecter
113 113 api.get('/membres', function (req, res) { // Liste des membres
114 114 MembresServ.list(function (err, membres) {
115 115 if (err)
116   - res.send(err);
  116 + res.status(500).send(err);
117 117 else
118 118 res.json(membres);
119 119 });
... ... @@ -124,7 +124,7 @@ api.post('/membres', assert(function (req, res, cb) {
124 124 }), reqPerm('canAddMembre'), function (req, res) { // Ajout d'un membre
125 125 MembresServ.add(req.body, function (err, membre) {
126 126 if (err)
127   - res.send(err);
  127 + res.status(500).send(err);
128 128 else
129 129 res.json(membre);
130 130 });
... ... @@ -133,7 +133,7 @@ api.post('/membres', assert(function (req, res, cb) {
133 133 api.delete('/membres/:membre_id', reqPerm('canDelMembre'), function (req, res) { // Supression d'un membre
134 134 MembresServ.remove(req.params.membre_id, function (err, membre) {
135 135 if (err)
136   - res.send(err);
  136 + res.status(500).send(err);
137 137 else
138 138 res.json(null);
139 139 });
... ... @@ -144,7 +144,7 @@ api.delete('/membres/:membre_id', reqPerm('canDelMembre'), function (req, res) {
144 144 api.get('/convs', function (req, res) { // Liste des convs
145 145 ConvsServ.list(function (err, convs) {
146 146 if (err)
147   - res.send(err);
  147 + res.status(500).send(err);
148 148 else
149 149 res.json(convs);
150 150 });
... ... @@ -153,7 +153,7 @@ api.get('/convs', function (req, res) { // Liste des convs
153 153 api.get('/convs/:conv_id', function (req, res) { // Une conv
154 154 ConvsServ.get(req.params.conv_id, function (err, conv) {
155 155 if (err)
156   - res.send(err);
  156 + res.status(500).send(err);
157 157 else
158 158 res.json(conv);
159 159 });
... ... @@ -162,7 +162,7 @@ api.get('/convs/:conv_id', function (req, res) { // Une conv
162 162 api.post('/convs', reqPerm('canAddConv'), function (req, res) { // Ajout d'un conv
163 163 ConvsServ.add(req.body, function (err, conv) {
164 164 if (err)
165   - res.send(err);
  165 + res.status(500).send(err);
166 166 else
167 167 res.json(conv);
168 168 });
... ... @@ -171,46 +171,46 @@ api.post('/convs', reqPerm('canAddConv'), function (req, res) { // Ajout d'un co
171 171 api.delete('/convs/:conv_id', reqPerm('canDelConv'), function (req, res) { // Supression d'un conv
172 172 ConvsServ.remove(req.params.conv_id, function (err, conv) {
173 173 if (err)
174   - res.send(err);
  174 + res.status(500).send(err);
175 175 else
176 176 res.json(null);
177 177 });
178 178 });
179 179  
180 180 // Messages
181   -api.get('/messs/:conv_id', function (req, res) { // Liste des messs
  181 +api.get('/messs/:conv_id', reqAuth(), function (req, res) { // Liste des messs
182 182 MessServ.list(req.params.conv_id, function (err, messs) {
183 183 if (err)
184   - res.send(err);
  184 + res.status(500).send(err);
185 185 else
186 186 res.json(messs);
187 187 });
188 188 });
189 189  
190   -api.get('/messs/:mess_id', function (req, res) { // Une mess
  190 +api.get('/messs/:mess_id', reqAuth(), function (req, res) { // Une mess
191 191 MessServ.get(req.params.mess_id, function (err, mess) {
192 192 if (err)
193   - res.send(err);
  193 + res.status(500).send(err);
194 194 else
195 195 res.json(mess);
196 196 });
197 197 });
198 198  
199   -api.post('/messs', reqAuth(), function (req, res) { // Ajout d'un mess
  199 +api.post('/messs', reqPerm('canAddMess'), function (req, res) { // Ajout d'un mess
200 200 data = req.body;
201 201 data.login = req.session.login;
202 202 MessServ.add(data, function (err, mess) {
203 203 if (err)
204   - res.send(err);
  204 + res.status(500).send(err);
205 205 else
206 206 res.json(mess);
207 207 });
208 208 });
209 209  
210   -api.delete('/messs/:mess_id', reqAuth(), function (req, res) { // Supression d'un mess
  210 +api.delete('/messs/:mess_id', reqPerm('canDelMess'), function (req, res) { // Supression d'un mess
211 211 MessServ.remove(req.params.mess_id, function (err, mess) {
212 212 if (err)
213   - res.send(err);
  213 + res.status(500).send(err);
214 214 else
215 215 res.json(null);
216 216 });
... ...
app/services/SessionsServ.js
... ... @@ -75,8 +75,7 @@ sessions.use = function (id, cb) {
75 75 if (err) {
76 76 cb(err);
77 77 } else {
78   - _this.cur = session; // TODO Get rid of _this.cur
79   - cb(null);
  78 + cb(null, session);
80 79 }
81 80 });
82 81 };
... ... @@ -95,12 +94,12 @@ sessions.open = function (data, cb) {
95 94 _this = this;
96 95 _this.login(data, function (err, res) {
97 96 if (err) {
98   - cb('error');
  97 + cb(err);
99 98 } else {
100 99 if (res) {
101 100 _this.create(data.login, function (err, session) {
102 101 if (err) {
103   - cb('error');
  102 + cb(err);
104 103 } else {
105 104 _this.use(session._id, cb);
106 105 }
... ...
public/js/services/SessionServ.js
... ... @@ -58,6 +58,7 @@ angular.module('SessionsServ', ['NotifyServ', 'EncryptServ']).service('SessionSe
58 58 }
59 59 }).error(function (body) {
60 60 not.error("Impossible de se connecter", body);
  61 + cb(body);
61 62 });
62 63 });
63 64 },
... ... @@ -67,7 +68,7 @@ angular.module('SessionsServ', ['NotifyServ', 'EncryptServ']).service('SessionSe
67 68 $http.delete('/api/session').success(function () {
68 69 _this.updateSessionInfos(false);
69 70 not.success("Déconnecté");
70   - }).error(function(body) {
  71 + }).error(function (body) {
71 72 not.error("Impossible de se déconnecter", body);
72 73 });
73 74 }
... ...