diff --git a/backend/src/class_film.js b/backend/src/class_film.js new file mode 100644 index 0000000000000000000000000000000000000000..29be0d230a3d34321f6a709debd5cfca792eca36 --- /dev/null +++ b/backend/src/class_film.js @@ -0,0 +1,8 @@ +// jsp ou le ranger mdr +class Movie{ + constructor(name, author, note){ + this.name = name; + this.author = author; + this.note = note; + } +} \ No newline at end of file diff --git a/backend/src/class_user.js b/backend/src/class_user.js new file mode 100644 index 0000000000000000000000000000000000000000..8767afba8ff5d4ad964804c7a808dc01b99bcf7d --- /dev/null +++ b/backend/src/class_user.js @@ -0,0 +1,12 @@ +// jsp ou le ranger mdr +class User{ + constructor(login){ + this.login = login; + } + + addMovies(movieSeen){ + this.movies.append(movieSeen); + } + + +} \ No newline at end of file diff --git a/backend/src/controllers/recommendation.js b/backend/src/controllers/recommendation.js index 6a008ad4bb63b81630e13031fd6ab1e84258c49b..f1e8e6d85702d524100653cc92bf25d9b87bd424 100644 --- a/backend/src/controllers/recommendation.js +++ b/backend/src/controllers/recommendation.js @@ -1,4 +1,27 @@ -//1) recuperer 3 films les mieux notés -//2) recuperer 3 films les mieux notés du meilleur auteur de l'utilisateur -//3) recuperer 3 films les mieux notés du meilleur style de l'utilisateur +/** + * Cette fonction selectionne les 3 meilleurs movies d'une liste de film. + * + * @param {Movie[]} movies - Liste de film. + * @returns {Movie[]} - La liste des 3 films. + */ + +function top3(movies) { + let highestNotes = [movies[0], movies[0], movies[0]]; + for (let i = 1; i < movies.length; i++) { + if(movies[i].note >= highestNotes[0].note){ + highestNotes[2] = highestNotes[1]; + highestNotes[1] = highestNotes[0]; + highestNotes[0] = movies[i]; + }else if(movies[i].note >= highestNotes[1].note){ + highestNotes[2] = highestNotes[1]; + highestNotes[1] = movies[i]; + }else if(movies[i].note >= highestNotes[2].note){ + highestNotes[2] = movies[i]; + } + + } + return highestNotes; +} + + diff --git a/backend/src/controllers/userController.js b/backend/src/controllers/userController.js index 1552b7fcee0f1e5974c6fee5ada754de1069ce3a..4f09706f08c17704833610a1b0bfdf1df4d9054c 100644 --- a/backend/src/controllers/userController.js +++ b/backend/src/controllers/userController.js @@ -75,3 +75,29 @@ exports.login = (req, res, next) => { }; + +/** + * Cette fonction Récupere les films d'un auteur. + * + * @param {string} author - L'auteur cherché. + * @param {boolean} isOrdered - Faut il trier la liste. + * @param {int} length - La taille de la liste (-1 = max). + * @returns {Film[]} - La liste des films en type Film. + */ + +function getFilmsByAuthor(author, isOrdered = false, length = -1){ + return true; +} + +/** + * Cette fonction Récupere les films d'un Style. + * + * @param {string} style - Le style cherché. + * @param {boolean} isOrdered - Faut il trier la liste. + * @param {int} length - La taille de la liste (-1 = max). + * @returns {Film[]} - La liste des films en type Film. + */ + +function getFilmsByStyle(style, isOrdered = false, length = -1){ + return true; +} \ No newline at end of file