7a1fe62d
Geoffrey PREUD'HOMME
Consistence des noms
|
1
2
3
|
var MembresServ = require('../services/MembresServ');
var SessionsServ = require('../services/SessionsServ');
var DecryptServ = require('../services/DecryptServ');
|
12162cc1
Geoffrey PREUD'HOMME
Liste de conversa...
|
4
|
var ConvsServ = require('../services/ConvsServ');
|
0bda071e
Geoffrey PREUD'HOMME
Reroutage
|
5
6
|
var express = require('express');
|
2201e360
Geoffrey PREUD'HOMME
Le login se fait ...
|
7
|
var api = express();
|
0bda071e
Geoffrey PREUD'HOMME
Reroutage
|
8
|
|
10852373
Geoffrey PREUD'HOMME
Session contrôleu...
|
9
10
|
// Sessions
api.get('/session', function (req, res) { // Informations sur la session
|
2f593328
Geoffrey PREUD'HOMME
Linting
|
11
|
if (req.cookies && req.cookies.session) {
|
7a1fe62d
Geoffrey PREUD'HOMME
Consistence des noms
|
12
|
SessionsServ.use(req.cookies.session, function (err) {
|
2f593328
Geoffrey PREUD'HOMME
Linting
|
13
14
15
|
if (err) {
res.send(err);
} else {
|
7a1fe62d
Geoffrey PREUD'HOMME
Consistence des noms
|
16
|
res.send(SessionsServ.cur);
|
2f593328
Geoffrey PREUD'HOMME
Linting
|
17
18
19
20
21
22
|
}
});
// TODO si pas bon : res.clearCookie('session')
} else {
res.send('missing');
}
|
10852373
Geoffrey PREUD'HOMME
Session contrôleu...
|
23
24
25
|
});
api.post('/session', function (req, res) { // Se connecter
|
7a1fe62d
Geoffrey PREUD'HOMME
Consistence des noms
|
26
27
|
DecryptServ.decrypt(req.body[0], function (data) {
SessionsServ.open(JSON.parse(data), function (err) {
|
2f593328
Geoffrey PREUD'HOMME
Linting
|
28
29
30
|
if (err) {
res.send(err);
} else {
|
7a1fe62d
Geoffrey PREUD'HOMME
Consistence des noms
|
31
32
|
res.cookie('session', SessionsServ.cur._id);
res.send(SessionsServ.cur);
|
2f593328
Geoffrey PREUD'HOMME
Linting
|
33
34
|
}
});
|
2201e360
Geoffrey PREUD'HOMME
Le login se fait ...
|
35
|
});
|
2201e360
Geoffrey PREUD'HOMME
Le login se fait ...
|
36
|
});
|
10852373
Geoffrey PREUD'HOMME
Session contrôleu...
|
37
38
|
api.delete('/session', function (req, res) { // Se déconnecter
|
2f593328
Geoffrey PREUD'HOMME
Linting
|
39
|
if (req.cookies.session) {
|
7a1fe62d
Geoffrey PREUD'HOMME
Consistence des noms
|
40
|
SessionsServ.delete(req.cookies.session, function () {
|
2f593328
Geoffrey PREUD'HOMME
Linting
|
41
42
43
44
45
46
|
res.clearCookie('session');
res.end();
});
} else {
res.send('missing');
}
|
2201e360
Geoffrey PREUD'HOMME
Le login se fait ...
|
47
|
});
|
10852373
Geoffrey PREUD'HOMME
Session contrôleu...
|
48
|
|
69695d81
Geoffrey PREUD'HOMME
Serveur: Vérifica...
|
49
|
ifPermission = function (req, res, perm, cb) {
|
7a1fe62d
Geoffrey PREUD'HOMME
Consistence des noms
|
50
|
SessionsServ.use(req.cookies.session, function (err) {
|
2f593328
Geoffrey PREUD'HOMME
Linting
|
51
52
53
|
if (err) {
res.status(403).end();
} else {
|
7a1fe62d
Geoffrey PREUD'HOMME
Consistence des noms
|
54
|
if (SessionsServ.cur[perm]) {
|
2f593328
Geoffrey PREUD'HOMME
Linting
|
55
56
57
58
59
60
|
cb();
} else {
res.status(403).end();
}
}
});
|
2201e360
Geoffrey PREUD'HOMME
Le login se fait ...
|
61
|
};
|
69695d81
Geoffrey PREUD'HOMME
Serveur: Vérifica...
|
62
|
|
10852373
Geoffrey PREUD'HOMME
Session contrôleu...
|
63
|
|
0bda071e
Geoffrey PREUD'HOMME
Reroutage
|
64
|
// Membres
|
a7189c82
Geoffrey PREUD'HOMME
Membres comme con...
|
65
|
api.get('/membres', function (req, res) { // Liste des membres
|
7a1fe62d
Geoffrey PREUD'HOMME
Consistence des noms
|
66
|
MembresServ.list(function (err, membres) {
|
2f593328
Geoffrey PREUD'HOMME
Linting
|
67
68
|
if (err)
res.send(err);
|
25f72955
Geoffrey PREUD'HOMME
Liste des membres...
|
69
70
|
else
res.json(membres);
|
2f593328
Geoffrey PREUD'HOMME
Linting
|
71
|
});
|
0bda071e
Geoffrey PREUD'HOMME
Reroutage
|
72
73
|
});
|
a7189c82
Geoffrey PREUD'HOMME
Membres comme con...
|
74
|
api.post('/membres', function (req, res) { // Ajout d'un membre
|
2f593328
Geoffrey PREUD'HOMME
Linting
|
75
|
ifPermission(req, res, 'canAddMembre', function () {
|
7a1fe62d
Geoffrey PREUD'HOMME
Consistence des noms
|
76
|
MembresServ.add(req.body, function (err, membre) {
|
2f593328
Geoffrey PREUD'HOMME
Linting
|
77
78
|
if (err)
res.send(err);
|
f661af15
Geoffrey PREUD'HOMME
Amelioré la gesti...
|
79
80
|
else
res.json(membre);
|
2f593328
Geoffrey PREUD'HOMME
Linting
|
81
|
});
|
2201e360
Geoffrey PREUD'HOMME
Le login se fait ...
|
82
|
});
|
0bda071e
Geoffrey PREUD'HOMME
Reroutage
|
83
84
|
});
|
a7189c82
Geoffrey PREUD'HOMME
Membres comme con...
|
85
|
api.delete('/membres/:membre_id', function (req, res) { // Supression d'un membre
|
2f593328
Geoffrey PREUD'HOMME
Linting
|
86
|
ifPermission(req, res, 'canDelMembre', function () {
|
7a1fe62d
Geoffrey PREUD'HOMME
Consistence des noms
|
87
|
MembresServ.remove(req.params.membre_id, function (err, membre) {
|
2f593328
Geoffrey PREUD'HOMME
Linting
|
88
89
|
if (err)
res.send(err);
|
f661af15
Geoffrey PREUD'HOMME
Amelioré la gesti...
|
90
91
|
else
res.json(null);
|
2f593328
Geoffrey PREUD'HOMME
Linting
|
92
|
});
|
2201e360
Geoffrey PREUD'HOMME
Le login se fait ...
|
93
|
});
|
2201e360
Geoffrey PREUD'HOMME
Le login se fait ...
|
94
|
});
|
0bda071e
Geoffrey PREUD'HOMME
Reroutage
|
95
|
|
12162cc1
Geoffrey PREUD'HOMME
Liste de conversa...
|
96
97
98
99
100
101
102
103
104
105
106
|
// Conversations
api.get('/convs', function (req, res) { // Liste des convs
ConvsServ.list(function (err, convs) {
if (err)
res.send(err);
else
res.json(convs);
});
});
|
9378de0d
Geoffrey PREUD'HOMME
Affichage d'une c...
|
107
108
109
110
111
112
113
114
115
|
api.get('/convs/:conv_id', function (req, res) { // Une conv
ConvsServ.get(req.params.conv_id, function (err, conv) {
if (err)
res.send(err);
else
res.json(conv);
});
});
|
12162cc1
Geoffrey PREUD'HOMME
Liste de conversa...
|
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
|
api.post('/convs', function (req, res) { // Ajout d'un conv
ifPermission(req, res, 'canAddConv', function () {
ConvsServ.add(req.body, function (err, conv) {
if (err)
res.send(err);
else
res.json(conv);
});
});
});
api.delete('/convs/:conv_id', function (req, res) { // Supression d'un conv
ifPermission(req, res, 'canDelConv', function () {
ConvsServ.remove(req.params.conv_id, function (err, conv) {
if (err)
res.send(err);
else
res.json(null);
});
});
});
|
2201e360
Geoffrey PREUD'HOMME
Le login se fait ...
|
138
|
module.exports = api;
|