Преглед на файлове

Commentaires dans le micro-serveur

Benoît Hubert преди 8 години
родител
ревизия
6582d19f24
променени са 1 файла, в които са добавени 42 реда и са изтрити 9 реда
  1. 42 9
      backend.js

+ 42 - 9
backend.js

@@ -3,35 +3,68 @@
  */
 var app = require('./backend-init');
 
+
+/**
+ * Création d'un tableau vide où on va stocker les utilisateurs
+ */
 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) {
+
+  // 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) {
-    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({
-    id: userList.length + 1,
+    id: userId++,
     username: user.username,
     email:    user.email,
     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) {
-  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;
-  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 });
   }
-  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) {
-  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 });
 });