diff --git a/WEB-INF/src/controleurs/Feed.java b/WEB-INF/src/controleurs/Feed.java new file mode 100644 index 0000000000000000000000000000000000000000..185c66c0fc4cc1c18ec09f126dbcc3d660a3c600 --- /dev/null +++ b/WEB-INF/src/controleurs/Feed.java @@ -0,0 +1,56 @@ +package controleurs; + +import dao.ThreadDAO; +import dao.UserDAO; +import dto.User; +import jakarta.servlet.annotation.WebServlet; +import jakarta.servlet.http.HttpServlet; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; + +import java.io.PrintWriter; +import java.io.IOException; +import java.sql.SQLException; +import java.util.List; + +@WebServlet("/Welcome") +public class Feed extends HttpServlet { + public void service(HttpServletRequest req, HttpServletResponse res) + throws IOException { + if (req.getSession().getAttribute("user") != null) { + UserDAO userDao = new UserDAO(); + ThreadDAO threadDao = new ThreadDAO(); + PrintWriter out = res.getWriter(); + String login = req.getParameter("login"); + + User user = userDao.getUserByLogs(login, req.getParameter("password")); + if (user != null) { + List<Thread> threadsFollowed = null; + try { + threadsFollowed = userDao.getThreadsByUser(user); + } catch (SQLException e) { + throw new RuntimeException(e); + } + + out.println("<html><body><meta charset=\"utf-8\">"); + out.println("<title>Welcome</title>"); + out.println("<h1>Welcome " + login + "</h1>"); + out.println(""); + + + out.println("</body>"); + out.println("<footer>"); + out.println("Connecté en tant que " + login); + out.println("</footer>"); + out.println("</html>"); + + } + + + } else { + res.sendRedirect("http://localhost:8080/s4a021-web-backend/index.html"); + } + + } + +} diff --git a/WEB-INF/src/controleurs/LogIn.java b/WEB-INF/src/controleurs/LogIn.java index 852e2dc6d3d84f55c198c9389bed90465801ac07..f54b9e346cc8c63b2ea732957e0136b38771906b 100644 --- a/WEB-INF/src/controleurs/LogIn.java +++ b/WEB-INF/src/controleurs/LogIn.java @@ -21,6 +21,8 @@ public class LogIn extends HttpServlet { if (userdao.isDatabased(user)){ out.println("<h1>Bienvenue " + user.getUserName() + " !</h1>"); + req.getSession().setAttribute("user", user); + res.sendRedirect("http://localhost:8080/s4a021-web-backend/Welcome"); }else{ out.println("<h1>Partez de chez moi ?!</h1>"); } diff --git a/WEB-INF/src/controleurs/SignUp.java b/WEB-INF/src/controleurs/SignUp.java index 1d73ac179efd0e210e62d6af5fcf04c88a7a90c5..45c3c05695848450be18ffccb8c8d836be3670f5 100644 --- a/WEB-INF/src/controleurs/SignUp.java +++ b/WEB-INF/src/controleurs/SignUp.java @@ -19,15 +19,22 @@ public class SignUp extends HttpServlet { String login = req.getParameter("login"); String pwd = req.getParameter("pwd"); - userdao.createUser(login, pwd); - User user = userdao.getUserByLogs(login, pwd); + if (login == null || pwd == null) { + out.println("<h1>Erreur</h1>"); + } + else { + userdao.createUser(login, pwd); + User user = userdao.getUserByLogs(login, pwd); - if (user != null && userdao.isDatabased(user)){ - out.println("<h1>Bienvenue " + user.getUserName() + " !</h1>"); - }else{ - out.println("<h1>Partez de chez moi ?!</h1>"); - userdao.removeUser(user); + if (user != null && userdao.isDatabased(user)){ + out.println("<h1>Bienvenue " + user.getUserName() + " !</h1>"); + req.getSession().setAttribute("user", user); + res.sendRedirect("http://localhost:8080/s4a021-web-backend/Welcome"); + }else{ + out.println("<h1>Partez de chez moi ?!</h1>"); + userdao.removeUser(user); + } } } } diff --git a/WEB-INF/src/dao/BDConnection.java b/WEB-INF/src/dao/BDConnection.java index 3a191cd4f1a4dc2399e668e69bfe20f7b34376a4..0bcea7a12d785f1a739be59a641bbb199ccd1550 100644 --- a/WEB-INF/src/dao/BDConnection.java +++ b/WEB-INF/src/dao/BDConnection.java @@ -9,7 +9,7 @@ public class BDConnection { public BDConnection(){ try{ Class.forName("org.postgresql.Driver"); - this.connection = DriverManager.getConnection("jdbc:postgresql://psqlserv/but2", "yannisdevosetu", "moi"); + this.connection = DriverManager.getConnection("jdbc:postgresql://psqlserv/but2", "yannis.devos.etu", "moi"); } catch (Exception e) { e.getStackTrace(); } diff --git a/WEB-INF/src/dao/ThreadDAO.java b/WEB-INF/src/dao/ThreadDAO.java index eed90438a301b2827272a8e26b26d254add28861..8ff8ab9f50efa6d7f54d4e3ef88af69fc249430d 100644 --- a/WEB-INF/src/dao/ThreadDAO.java +++ b/WEB-INF/src/dao/ThreadDAO.java @@ -35,6 +35,23 @@ public class ThreadDAO { return messages; } + public Thread getThreadById(int threadID) throws SQLException { + Thread thread = new Thread(); + PreparedStatement ps = this.con.prepareStatement("SELECT threadID, threadName FROM thread WHERE threadID = ?"); + try { + ps.setInt(1, threadID); + ResultSet rs = ps.executeQuery(); + if(rs.next()){ + thread.setThreadID(rs.getInt(1)); + thread.setName(rs.getString(2)); + } + } + catch (SQLException sqle) { + sqle.getStackTrace(); + } + return thread; + } + public List<Message> getAllMessagesFromThread(int threadId){ ArrayList<Message> messages = new ArrayList<>(); try{ diff --git a/WEB-INF/src/dao/UserDAO.java b/WEB-INF/src/dao/UserDAO.java index b03177eae5fa59c42482da88b5b56c475bb271f4..31683b7e646bc3a74c6527366bed2a2ce4953b09 100644 --- a/WEB-INF/src/dao/UserDAO.java +++ b/WEB-INF/src/dao/UserDAO.java @@ -180,4 +180,17 @@ public class UserDAO extends HttpServlet{ sqle.getStackTrace(); } } + + // Récupérer les thread auxquels un utilisateur est abonné + public List<Thread> getThreadsByUser(User user) throws SQLException { + List<Thread> threads = new ArrayList<>(); + PreparedStatement ps = this.con.prepareStatement("SELECT threadID_follow FROM follow WHERE userID_follow = ?"); + try { + ps.setInt(1, user.getId()); + ResultSet rs = ps.executeQuery(); + while(rs.next()){ + + } + } + } } \ No newline at end of file diff --git a/create.html b/create.html index 10b5cb6c372d0e81771dd6d11e25ccf5a42ac018..ca54611e3b36e51491806a392cbfa5865b3d0d59 100644 --- a/create.html +++ b/create.html @@ -1,5 +1,5 @@ <!DOCTYPE html> -<html lang="fr"> +<html lang="en"> <head> <meta charset="UTF-8"> <title>Create Account</title> diff --git a/index.html b/index.html index 113a345e4cbce7ddc32aedd202947cc6d9cc449b..2ca066a1e125f6d9ef760edf13b6e9f185a30c93 100644 --- a/index.html +++ b/index.html @@ -1,5 +1,5 @@ <!doctype html> -<html lang="fr"> +<html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport"