server.js 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. var app = require('./sandboxApp');
  2. /**
  3. * Création d'un tableau vide où on va stocker les utilisateurs
  4. */
  5. var userList = [];
  6. var userId = 1;
  7. /**
  8. * Création d'un utilisateur : on le stocke dans le tableau userList
  9. * ATTENTION ! Dans la "vraie vie", on utiliserait une base de données !
  10. */
  11. function createNewUser(user) {
  12. // On vérifie que les données de l'utilisateur sont renseignées
  13. // Si non, on renvoie false
  14. if(! user || ! user.username || ! user.email || ! user.password) {
  15. return false;
  16. }
  17. // L'étape de vérification a réussi, on insère l'utilisateur dans le tableau
  18. // On crée un faux "id" pour simuler une insertion SQL. En SQL les "id" sont
  19. // incrémentés à chaque insertion. On simule cela en incrémentant un compteur
  20. // "userId" à chaque insertion
  21. userList.push({
  22. id: userId++,
  23. username: user.username,
  24. email: user.email,
  25. password: user.password
  26. });
  27. return true;
  28. }
  29. /**
  30. * Ce code va gérer la requête POST vers l'URL /register de notre micro-serveur
  31. */
  32. app.post('/register', function(req, res) {
  33. // Les données envoyées par le client (navigateur) sont dans la propriété "body"
  34. // de l'objet req (pour request)
  35. var user = req.body;
  36. // createNewUser() va nous renvoyer true ou false
  37. var success = createNewUser(user);
  38. if(success) {
  39. // Envoyer un message sur la console du serveur
  40. console.log('Utilisateur enregistré: ', user, '\nListe des utilisateurs', userList);
  41. res.json({ user: user });
  42. }
  43. else {
  44. res.status(400).json({ error: 'Champs manquants dans la requête' });
  45. }
  46. });
  47. app.get('/username-check', function(req, res) {
  48. var username = req.query.username;
  49. for(u = 0 ; u < userList.length ; u++) {
  50. if(username === userList[u].username) {
  51. return res.json({ success: false });
  52. }
  53. }
  54. res.json({ success: true });
  55. });
  56. console.log('Le serveur écoute sur le port 3000. Laissez cette console ouverte !')
  57. app.listen(3000);