From d34776a43cb6243a3a3cc555d997607208bcab9a Mon Sep 17 00:00:00 2001
From: Bastien <bastien.mallet1@gmail.com>
Date: Mon, 8 Jan 2024 16:40:34 +0100
Subject: [PATCH] recherche criteres

---
 backend/src/models/movieDb.js | 30 ++++++++++++++++++++++++++++++
 backend/src/models/userDb.js  |  1 +
 2 files changed, 31 insertions(+)

diff --git a/backend/src/models/movieDb.js b/backend/src/models/movieDb.js
index 36ee6da..c6ad0c3 100644
--- a/backend/src/models/movieDb.js
+++ b/backend/src/models/movieDb.js
@@ -41,6 +41,36 @@ exports.searchMovieByTitle = (searchTitle) => {
     })
 };
 
+exports.searchMovie = (title,dateMin,dateMax,genres,personnes,order,croissant) => {
+    return new Promise((resolve,reject) => {
+        let query = 'SELECT * FROM Film WHERE 1=1';
+
+        if (title) {
+            query += ' AND primaryTitle LIKE CONCAT("%", ?, "%") OR titleFR LIKE CONCAT("%", ?, "%")';
+        }
+
+        if (dateMin) {
+            query += ' AND startYear >= ?';
+        }
+
+        if (dateMax) {
+            query += ' AND startYear <= ?';
+        }
+
+        if (genres) {
+            query += ' AND EXISTS (SELECT 1 FROM genreFilm gf WHERE gf.tconst = Film.tconst AND gf.idGen IN (?) )';
+        }
+        if (personnes) {
+            query += ' AND EXISTS (SELECT 1 FROM genreFilm gf WHERE gf.tconst = Film.tconst AND gf.idGen IN (?) )';
+        }
+
+        if (!croissant) {
+            query +='DESC';
+        }
+    })
+}
+
+
 /**
  * Récupère la distribution d'un film en fonction de son identifiant unique (tconst).
  *
diff --git a/backend/src/models/userDb.js b/backend/src/models/userDb.js
index 21a64f6..ee73872 100644
--- a/backend/src/models/userDb.js
+++ b/backend/src/models/userDb.js
@@ -88,6 +88,7 @@ exports.getUserSeenMovies = (username) => {
                 }
             })
     })
+    
 };
 
 
-- 
GitLab