Advertisement
Guest User

Untitled

a guest
Nov 22nd, 2019
242
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.18 KB | None | 0 0
  1. const express = require('express');
  2. const app = express();
  3.  
  4. app.use(express.json());
  5. app.use(express.urlencoded({ extended : true }));
  6. app.use(function (req, res, next) {
  7. res.setHeader('Access-Control-Allow-Origin', '*');
  8. res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE');
  9. res.setHeader('Access-Control-Allow-Headers', '*');
  10. next();
  11. });
  12.  
  13. const MongoClient = require('mongodb').MongoClient;
  14. const ObjectID = require('mongodb').ObjectID;
  15. const url = "mongodb://localhost:27017";
  16.  
  17.  
  18. MongoClient.connect(url, {useNewUrlParser : true}, (err, client) => {
  19. console.log("MongoDB connecté !");
  20. let db = client.db("SUPERVENTES");
  21.  
  22. app.get('/', function (req, res) {
  23. console.log('/');
  24. // res.send('Hello World!')
  25. res.sendFile('index.html', {root: __dirname })
  26. })
  27.  
  28. /* Liste des produits */
  29. app.get("/produits", (req, res) => {
  30. console.log("/produits");
  31.  
  32. try {
  33. db.collection("produits").find().toArray((err, documents) => {
  34. res.end(JSON.stringify(documents));
  35. });
  36. } catch (e) {
  37. console.log("Erreur sur /produits : " + e);
  38. res.end(JSON.stringify([]));
  39. }
  40. });
  41.  
  42. /* Récupération d'un produit en particulier */
  43. app.get("/produits/:categorie", (req, res) => {
  44. console.log("/produits/:categorie");
  45. let categorie = req.params.categorie;
  46.  
  47. try {
  48. db.collection("produits").find({ type : categorie }).toArray((err, documents) => {
  49. res.end(JSON.stringify(documents));
  50. });
  51. } catch (e) {
  52. console.log("Erreur sur /produits/" + categorie + " : " + e);
  53. res.end(JSON.stringify([]));
  54. }
  55. });
  56.  
  57. /* Liste des catégories de produits */
  58. app.get("/categories", (req, res) => {
  59. console.log("/categories");
  60. let categories = [];
  61.  
  62. try {
  63. db.collection("produits").find().toArray((err, documents) => {
  64. for (let doc of documents)
  65. if (!categories.includes(doc.type)) categories.push(doc.type);
  66.  
  67. console.log("Renvoi de " + JSON.stringify(categories));
  68. res.end(JSON.stringify(categories));
  69. });
  70. } catch (e) {
  71. console.log("Erreur sur /categories : " + e);
  72. res.end(JSON.stringify([]));
  73. }
  74. });
  75.  
  76. /* Connexion */
  77. app.post("/membre/connexion", (req, res) => {
  78. console.log("/membre/connexion");
  79.  
  80. try {
  81. db.collection("membres")
  82. .find(req.body)
  83. .toArray((err, documents) => {
  84. if (documents.length == 1)
  85. res.end(JSON.stringify({ "resultat" : 1, "message" : "Authentification réussie" }));
  86. else res.end(JSON.stringify({ "resultat" : 0, "message" : "Email et/ou mot de passe incorrect" }));
  87. });
  88. } catch(e) {
  89. res.end(JSON.stringify({ "resultat" : 0, "message" : e}));
  90. }
  91. });
  92. });
  93.  
  94. app.listen(8080, function () {
  95. console.log("express has started on port 8080 !");
  96. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement