a7189c82
Geoffrey PREUD'HOMME
Membres comme con...
|
1
|
var membres = require('../controllers/membres');
|
10852373
Geoffrey PREUD'HOMME
Session contrôleu...
|
2
|
var sessions = require('../controllers/sessions');
|
0bda071e
Geoffrey PREUD'HOMME
Reroutage
|
3
4
5
6
|
var express = require('express');
var api = express()
|
10852373
Geoffrey PREUD'HOMME
Session contrôleu...
|
7
8
9
|
// Sessions
api.get('/session', function (req, res) { // Informations sur la session
if (req.cookies && req.cookies.session) {
|
69695d81
Geoffrey PREUD'HOMME
Serveur: Vérifica...
|
10
|
sessions.use(req.cookies.session, function (err) {
|
8bb442a5
Geoffrey PREUD'HOMME
Possibilité de se...
|
11
12
13
|
if (err) {
res.send(err)
} else {
|
69695d81
Geoffrey PREUD'HOMME
Serveur: Vérifica...
|
14
|
res.send(sessions.cur)
|
8bb442a5
Geoffrey PREUD'HOMME
Possibilité de se...
|
15
16
|
}
})
|
10852373
Geoffrey PREUD'HOMME
Session contrôleu...
|
17
18
19
20
21
22
23
|
// TODO si pas bon : res.clearCookie('session')
} else {
res.send('missing');
}
});
api.post('/session', function (req, res) { // Se connecter
|
69695d81
Geoffrey PREUD'HOMME
Serveur: Vérifica...
|
24
|
sessions.open(req.body, function (err) {
|
dafb4eeb
Geoffrey PREUD'HOMME
Affichage des nom...
|
25
26
|
if (err) {
res.send(err)
|
dafb4eeb
Geoffrey PREUD'HOMME
Affichage des nom...
|
27
|
} else {
|
69695d81
Geoffrey PREUD'HOMME
Serveur: Vérifica...
|
28
29
|
res.cookie('session', sessions.cur._id);
res.send(sessions.cur)
|
10852373
Geoffrey PREUD'HOMME
Session contrôleu...
|
30
|
}
|
10852373
Geoffrey PREUD'HOMME
Session contrôleu...
|
31
32
33
34
|
})
})
api.delete('/session', function (req, res) { // Se déconnecter
|
8bb442a5
Geoffrey PREUD'HOMME
Possibilité de se...
|
35
36
|
if (req.cookies.session) {
sessions.delete(req.cookies.session, function () {
|
10852373
Geoffrey PREUD'HOMME
Session contrôleu...
|
37
|
res.clearCookie('session');
|
8bb442a5
Geoffrey PREUD'HOMME
Possibilité de se...
|
38
|
res.end()
|
10852373
Geoffrey PREUD'HOMME
Session contrôleu...
|
39
40
41
42
43
44
|
})
} else {
res.send('missing')
}
})
|
69695d81
Geoffrey PREUD'HOMME
Serveur: Vérifica...
|
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
ifPermission = function (req, res, perm, cb) {
sessions.use(req.cookies.session, function (err) {
if (err) {
res.status(403).end()
} else {
if (sessions.cur[perm]) {
cb()
} else {
res.status(403).end()
}
}
})
}
|
10852373
Geoffrey PREUD'HOMME
Session contrôleu...
|
59
|
|
0bda071e
Geoffrey PREUD'HOMME
Reroutage
|
60
|
// Membres
|
a7189c82
Geoffrey PREUD'HOMME
Membres comme con...
|
61
62
|
api.get('/membres', function (req, res) { // Liste des membres
membres.list(function (err, membres) {
|
0bda071e
Geoffrey PREUD'HOMME
Reroutage
|
63
64
65
66
67
68
|
if (err)
res.send(err);
res.json(membres);
});
});
|
a7189c82
Geoffrey PREUD'HOMME
Membres comme con...
|
69
|
api.post('/membres', function (req, res) { // Ajout d'un membre
|
69695d81
Geoffrey PREUD'HOMME
Serveur: Vérifica...
|
70
71
|
ifPermission(req, res, 'canAddMembre', function () {
membres.add(req.body, function (err, membre) {
|
0bda071e
Geoffrey PREUD'HOMME
Reroutage
|
72
73
|
if (err)
res.send(err);
|
69695d81
Geoffrey PREUD'HOMME
Serveur: Vérifica...
|
74
75
76
77
78
|
membres.list(function (err, membres) {
if (err)
res.send(err);
res.json(membres);
});
|
0bda071e
Geoffrey PREUD'HOMME
Reroutage
|
79
|
});
|
69695d81
Geoffrey PREUD'HOMME
Serveur: Vérifica...
|
80
|
})
|
0bda071e
Geoffrey PREUD'HOMME
Reroutage
|
81
82
|
});
|
a7189c82
Geoffrey PREUD'HOMME
Membres comme con...
|
83
|
api.delete('/membres/:membre_id', function (req, res) { // Supression d'un membre
|
69695d81
Geoffrey PREUD'HOMME
Serveur: Vérifica...
|
84
85
|
ifPermission(req, res, 'canDelMembre', function () {
membres.remove(req.params.membre_id, function (err, membre) {
|
0bda071e
Geoffrey PREUD'HOMME
Reroutage
|
86
87
|
if (err)
res.send(err);
|
69695d81
Geoffrey PREUD'HOMME
Serveur: Vérifica...
|
88
89
90
91
92
|
membres.list(function (err, membres) {
if (err)
res.send(err);
res.json(membres);
});
|
0bda071e
Geoffrey PREUD'HOMME
Reroutage
|
93
|
});
|
69695d81
Geoffrey PREUD'HOMME
Serveur: Vérifica...
|
94
|
})
|
0bda071e
Geoffrey PREUD'HOMME
Reroutage
|
95
96
97
|
})
module.exports = api;
|