diff --git a/code/server/exemple_utilisation.py b/code/server/exemple_utilisation.py new file mode 100644 index 0000000..9d0318f --- /dev/null +++ b/code/server/exemple_utilisation.py @@ -0,0 +1,14 @@ +import requests + +avis = { + "auteur_age": 20, + "auteur_sexe": 'f', + "note": 8, + "source": "borne", + #Optionel + "notes_autre": '{"service":8,"accueil":30}', + "commentaire": "Commentaire" +} + +res = requests.post("http://localhost:8080/add_review", data=avis) +print(res.text) \ No newline at end of file diff --git a/code/server/main.js b/code/server/main.js index 5e8f247..15e5251 100644 --- a/code/server/main.js +++ b/code/server/main.js @@ -1,15 +1,16 @@ import * as dotenv from 'dotenv'; import express from 'express'; -import { addReviewFromRequest } from './review'; +import bodyParser from 'body-parser'; +import { addReviewFromRequest } from './review.js'; const app = express(); -const router = express.Router() +app.use(bodyParser.urlencoded({extended:true})) dotenv.config() +app.post('/add_review', (req,res) => addReviewFromRequest(req,res)); +// app.post('/add_review', (req, res) => {console.log(req.body);res.send("success")}) -app.use(express.json) app.listen(process.env.PORT, () => { console.log("Server démaré sur le port " + process.env.PORT) }) -router.post('/add_review', addReviewFromRequest); \ No newline at end of file diff --git a/code/server/package-lock.json b/code/server/package-lock.json index f71dd31..eb1d4b6 100644 --- a/code/server/package-lock.json +++ b/code/server/package-lock.json @@ -9,6 +9,7 @@ "version": "1.0.0", "license": "ISC", "dependencies": { + "body-parser": "^1.20.1", "dotenv": "^16.0.3", "express": "^4.18.2", "mysql2": "^2.3.3" diff --git a/code/server/package.json b/code/server/package.json index 435cae8..4018e9b 100644 --- a/code/server/package.json +++ b/code/server/package.json @@ -10,6 +10,7 @@ "author": "Telereview", "license": "ISC", "dependencies": { + "body-parser": "^1.20.1", "dotenv": "^16.0.3", "express": "^4.18.2", "mysql2": "^2.3.3" diff --git a/code/server/review.js b/code/server/review.js index d6492a3..596510a 100644 --- a/code/server/review.js +++ b/code/server/review.js @@ -37,9 +37,19 @@ const addReview = (review, authorId, sourceId) => { } export const addReviewFromRequest = async (req,res) => { - const author = new Auteur(req.body.auteur_age,req.body.auteur_sexe); - const review = new Review(author, req.body.note, req.body.source, req.body.message, req.body.notes_autre) - let authorId = await addAuteur(author); - let sourceId = await getSourceId(review.source); - await addReview(review, authorId, sourceId ) + try { + let notes_autre = {} + try{ + notes_autre = JSON.parse(req.body.notes_autre); + }catch(err){}; + + const author = new Auteur(req.body.auteur_age,req.body.auteur_sexe); + const review = new Review(author, req.body.note, req.body.source, req.body.commentaire, notes_autre) + let authorId = await addAuteur(author); + let sourceId = await getSourceId(review.source); + await addReview(review, authorId, sourceId ); + res.send("success") + }catch(err) { + res.status(500).send("Error : " + err.message) + } } \ No newline at end of file diff --git a/code/server/structures.js b/code/server/structures.js index 3f06518..d14e122 100644 --- a/code/server/structures.js +++ b/code/server/structures.js @@ -1,5 +1,5 @@ const validSources = ["borne", "website"]; -const validSexes = ["h","f"]; +const validSexes = ["h","f","a"]; export class Review { constructor(auteur, note, source, commentaire=null, notesAutre={}) { @@ -14,7 +14,7 @@ export class Review { } for(let nom in notesAutre) { if(notesAutre[nom] < 0 || notesAutre[nom] > 10) { - throw new Error("Note " + rating +"/10 invalide"); + throw new Error("Note " + notesAutre[nom] +"/10 invalide"); } } if(!validSources.includes(source)) {