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