|
@@ -3,35 +3,68 @@
|
|
|
*/
|
|
*/
|
|
|
var app = require('./backend-init');
|
|
var app = require('./backend-init');
|
|
|
|
|
|
|
|
|
|
+
|
|
|
|
|
+/**
|
|
|
|
|
+ * Création d'un tableau vide où on va stocker les utilisateurs
|
|
|
|
|
+ */
|
|
|
var userList = [];
|
|
var userList = [];
|
|
|
|
|
+var userId = 1;
|
|
|
|
|
|
|
|
|
|
+/**
|
|
|
|
|
+ * Création d'un utilisateur : on le stocke dans le tableau userList
|
|
|
|
|
+ * ATTENTION ! Dans la "vraie vie", on utiliserait une base de données !
|
|
|
|
|
+ */
|
|
|
function createNewUser(user) {
|
|
function createNewUser(user) {
|
|
|
|
|
+
|
|
|
|
|
+ // On vérifie que les données de l'utilisateur sont renseignées
|
|
|
|
|
+ // Si non, on renvoie false
|
|
|
if(! user || ! user.username || ! user.email || ! user.password) {
|
|
if(! user || ! user.username || ! user.email || ! user.password) {
|
|
|
- throw new Error('Champs manquants');
|
|
|
|
|
|
|
+ return false;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ // L'étape de vérification a réussi, on insère l'utilisateur dans le tableau
|
|
|
|
|
+ // On crée un faux "id" pour simuler une insertion SQL. En SQL les "id" sont
|
|
|
|
|
+ // incrémentés à chaque insertion. On simule cela en incrémentant un compteur
|
|
|
|
|
+ // "userId" à chaque insertion
|
|
|
userList.push({
|
|
userList.push({
|
|
|
- id: userList.length + 1,
|
|
|
|
|
|
|
+ id: userId++,
|
|
|
username: user.username,
|
|
username: user.username,
|
|
|
email: user.email,
|
|
email: user.email,
|
|
|
password: user.password
|
|
password: user.password
|
|
|
});
|
|
});
|
|
|
|
|
+ return true;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+
|
|
|
|
|
+/**
|
|
|
|
|
+ * Ce code va gérer la requête POST vers l'URL /register de notre micro-serveur
|
|
|
|
|
+ */
|
|
|
app.post('/register', function(req, res) {
|
|
app.post('/register', function(req, res) {
|
|
|
- console.log(req.body);
|
|
|
|
|
|
|
+
|
|
|
|
|
+ // Les données envoyées par le client (navigateur) sont dans la propriété "body"
|
|
|
|
|
+ // de l'objet req (pour request)
|
|
|
var user = req.body;
|
|
var user = req.body;
|
|
|
- try {
|
|
|
|
|
- createNewUser(user);
|
|
|
|
|
- console.log('Utilisateur enregistré: ', user);
|
|
|
|
|
|
|
+
|
|
|
|
|
+ // createNewUser() va nous renvoyer true ou false
|
|
|
|
|
+ var success = createNewUser(user);
|
|
|
|
|
+
|
|
|
|
|
+ if(success) {
|
|
|
|
|
+ // Envoyer un message sur la console du serveur
|
|
|
|
|
+ console.log('Utilisateur enregistré: ', user, '\nListe des utilisateurs', userList);
|
|
|
res.json({ user: user });
|
|
res.json({ user: user });
|
|
|
}
|
|
}
|
|
|
- catch(err) {
|
|
|
|
|
- res.status(400).json({ error: err.message });
|
|
|
|
|
|
|
+ else {
|
|
|
|
|
+ res.status(400).json({ error: 'Champs manquants dans la requête' });
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
app.get('/username-check', function(req, res) {
|
|
app.get('/username-check', function(req, res) {
|
|
|
- console.log(req.query);
|
|
|
|
|
|
|
+ var username = req.query.username;
|
|
|
|
|
+ for(u = 0 ; u < userList.length ; u++) {
|
|
|
|
|
+ if(username === userList[u].username) {
|
|
|
|
|
+ return res.json({ success: false });
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
res.json({ success: true });
|
|
res.json({ success: true });
|
|
|
});
|
|
});
|
|
|
|
|
|