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 | 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 | } | ... | ... |