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
|
|
79edca45
Geoffrey PREUD'HOMME
Nouvelle façon de...
|
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
// Authentication
requireAuth = function () {
return function (req, res, next) {
SessionsServ.use(req.cookies.session, function (err) {
if (err) {
res.status(500).send(err);
} else {
if (SessionsServ.cur) {
req.session = SessionsServ.cur;
next();
} else {
res.status(401).end();
}
}
});
};
};
requirePerm = function (perm) {
return function (req, res, next) {
requireAuth()(req, res, function () {
if (req.session[perm]) {
next();
} else {
res.status(403).end();
}
});
};
};
|
10852373
Geoffrey PREUD'HOMME
Session contrôleu...
|
39
40
|
// Sessions
api.get('/session', function (req, res) { // Informations sur la session
|
2f593328
Geoffrey PREUD'HOMME
Linting
|
41
|
if (req.cookies && req.cookies.session) {
|
7a1fe62d
Geoffrey PREUD'HOMME
Consistence des noms
|
42
|
SessionsServ.use(req.cookies.session, function (err) {
|
2f593328
Geoffrey PREUD'HOMME
Linting
|
43
44
45
|
if (err) {
res.send(err);
} else {
|
7a1fe62d
Geoffrey PREUD'HOMME
Consistence des noms
|
46
|
res.send(SessionsServ.cur);
|
2f593328
Geoffrey PREUD'HOMME
Linting
|
47
48
49
50
51
52
|
}
});
// TODO si pas bon : res.clearCookie('session')
} else {
res.send('missing');
}
|
10852373
Geoffrey PREUD'HOMME
Session contrôleu...
|
53
54
55
|
});
api.post('/session', function (req, res) { // Se connecter
|
7a1fe62d
Geoffrey PREUD'HOMME
Consistence des noms
|
56
57
|
DecryptServ.decrypt(req.body[0], function (data) {
SessionsServ.open(JSON.parse(data), function (err) {
|
2f593328
Geoffrey PREUD'HOMME
Linting
|
58
59
60
|
if (err) {
res.send(err);
} else {
|
7a1fe62d
Geoffrey PREUD'HOMME
Consistence des noms
|
61
62
|
res.cookie('session', SessionsServ.cur._id);
res.send(SessionsServ.cur);
|
2f593328
Geoffrey PREUD'HOMME
Linting
|
63
64
|
}
});
|
2201e360
Geoffrey PREUD'HOMME
Le login se fait ...
|
65
|
});
|
2201e360
Geoffrey PREUD'HOMME
Le login se fait ...
|
66
|
});
|
10852373
Geoffrey PREUD'HOMME
Session contrôleu...
|
67
68
|
api.delete('/session', function (req, res) { // Se déconnecter
|
2f593328
Geoffrey PREUD'HOMME
Linting
|
69
|
if (req.cookies.session) {
|
7a1fe62d
Geoffrey PREUD'HOMME
Consistence des noms
|
70
|
SessionsServ.delete(req.cookies.session, function () {
|
2f593328
Geoffrey PREUD'HOMME
Linting
|
71
72
73
74
75
76
|
res.clearCookie('session');
res.end();
});
} else {
res.send('missing');
}
|
2201e360
Geoffrey PREUD'HOMME
Le login se fait ...
|
77
|
});
|
10852373
Geoffrey PREUD'HOMME
Session contrôleu...
|
78
|
|
10852373
Geoffrey PREUD'HOMME
Session contrôleu...
|
79
|
|
0bda071e
Geoffrey PREUD'HOMME
Reroutage
|
80
|
// Membres
|
a7189c82
Geoffrey PREUD'HOMME
Membres comme con...
|
81
|
api.get('/membres', function (req, res) { // Liste des membres
|
7a1fe62d
Geoffrey PREUD'HOMME
Consistence des noms
|
82
|
MembresServ.list(function (err, membres) {
|
2f593328
Geoffrey PREUD'HOMME
Linting
|
83
84
|
if (err)
res.send(err);
|
25f72955
Geoffrey PREUD'HOMME
Liste des membres...
|
85
86
|
else
res.json(membres);
|
2f593328
Geoffrey PREUD'HOMME
Linting
|
87
|
});
|
0bda071e
Geoffrey PREUD'HOMME
Reroutage
|
88
89
|
});
|
79edca45
Geoffrey PREUD'HOMME
Nouvelle façon de...
|
90
91
92
93
94
95
|
api.post('/membres', requirePerm('canAddMembre'), function (req, res) { // Ajout d'un membre
MembresServ.add(req.body, function (err, membre) {
if (err)
res.send(err);
else
res.json(membre);
|
2201e360
Geoffrey PREUD'HOMME
Le login se fait ...
|
96
|
});
|
0bda071e
Geoffrey PREUD'HOMME
Reroutage
|
97
98
|
});
|
79edca45
Geoffrey PREUD'HOMME
Nouvelle façon de...
|
99
100
101
102
103
104
|
api.delete('/membres/:membre_id', requirePerm('canDelMembre'), function (req, res) { // Supression d'un membre
MembresServ.remove(req.params.membre_id, function (err, membre) {
if (err)
res.send(err);
else
res.json(null);
|
2201e360
Geoffrey PREUD'HOMME
Le login se fait ...
|
105
|
});
|
2201e360
Geoffrey PREUD'HOMME
Le login se fait ...
|
106
|
});
|
0bda071e
Geoffrey PREUD'HOMME
Reroutage
|
107
|
|
12162cc1
Geoffrey PREUD'HOMME
Liste de conversa...
|
108
109
110
111
112
113
114
115
116
117
118
|
// 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...
|
119
120
121
122
123
124
125
126
127
|
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);
});
});
|
79edca45
Geoffrey PREUD'HOMME
Nouvelle façon de...
|
128
129
130
131
132
133
|
api.post('/convs', requirePerm('canAddConv'), function (req, res) { // Ajout d'un conv
ConvsServ.add(req.body, function (err, conv) {
if (err)
res.send(err);
else
res.json(conv);
|
12162cc1
Geoffrey PREUD'HOMME
Liste de conversa...
|
134
135
136
|
});
});
|
79edca45
Geoffrey PREUD'HOMME
Nouvelle façon de...
|
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
|
api.delete('/convs/:conv_id', requirePerm('canDelConv'), function (req, res) { // Supression d'un conv
ConvsServ.remove(req.params.conv_id, function (err, conv) {
if (err)
res.send(err);
else
res.json(null);
});
});
// Messages
api.get('/messs', function (req, res) { // Liste des messs
MessServ.list(function (err, messs) {
if (err)
res.send(err);
else
res.json(messs);
});
});
api.get('/messs/:mess_id', function (req, res) { // Une mess
MessServ.get(req.params.mess_id, function (err, mess) {
if (err)
res.send(err);
else
res.json(mess);
});
});
api.post('/messs', requireAuth(), function (req, res) { // Ajout d'un mess
MessServ.add(req.body, function (err, mess) {
if (err)
res.send(err);
else
res.json(mess);
});
});
api.delete('/messs/:mess_id', requireAuth(), function (req, res) { // Supression d'un mess
MessServ.remove(req.params.mess_id, function (err, mess) {
if (err)
res.send(err);
else
res.json(null);
|
12162cc1
Geoffrey PREUD'HOMME
Liste de conversa...
|
180
181
182
|
});
});
|
2201e360
Geoffrey PREUD'HOMME
Le login se fait ...
|
183
|
module.exports = api;
|