Skip to content
Snippets Groups Projects
Commit cd44b1a1 authored by Charlie Darques's avatar Charlie Darques
Browse files

refacto et corrections non testées pour like/unlike un message

parent 81e94aa3
No related branches found
No related tags found
No related merge requests found
......@@ -65,7 +65,7 @@ public class Account extends HttpServlet {
// out.println("</form>");
out.println("<h2>DELETE YOUR ACCOUNT</h2>");
out.println("<form class=\"delForm\" action=\"/s4a021-web-backend/deletedAccount\">");
out.println("<form class=\"delForm\" action=\"/s4a021-web-backend/deletedAccount\" method=\"post\">");
out.println("<button type=\"submit\">Delete Account</button>");
out.println("</form>");
......
//package controleurs;
//
//import java.io.IOException;
//import java.sql.SQLException;
//
//import dao.ThreadDAO;
//import dao.UserDAO;
//import dto.Message;
//import dto.User;
//import jakarta.servlet.annotation.WebServlet;
//import jakarta.servlet.http.HttpServlet;
//import jakarta.servlet.http.HttpServletRequest;
//import jakarta.servlet.http.HttpServletResponse;
//
//@WebServlet("/LikeMessage")
//public class LikeMessage extends HttpServlet {
// public void service (HttpServletRequest req, HttpServletResponse res) throws IOException {
// if (req.getSession().getAttribute("user") != null) {
// User user = (User) req.getSession().getAttribute("user");
//
// UserDAO userDao = new UserDAO();
// ThreadDAO threadDao = new ThreadDAO();
//
// Message msg = req.getParameter("messageid");
//
// // à modifier
// boolean messageLiked = false;
//
// if (!messageLiked) {
// try {
// userDao.reactToMsg(user, msg);
// }
// catch (SQLException sqle) {
// sqle.getStackTrace();
// }
// }
// else {
// try {
// userDao.unreactToMsg(user, msg); // méthode à créer
// }
// catch (SQLException sqle) {
// sqle.getStackTrace();
// }
// }
// res.sendRedirect("http://localhost:8080/s4a021-web-backend/Welcome");
// }
// else {
// res.sendRedirect("http://localhost:8080/s4a021-web-backend/index.html");
// }
// }
//}
// TODO : à décommenter
\ No newline at end of file
package controleurs;
import java.io.IOException;
import java.sql.SQLException;
import dao.MessageDAO;
import dao.ThreadDAO;
import dao.UserDAO;
import dto.Message;
import dto.User;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
@WebServlet("/LikeMessage")
public class LikeMessage extends HttpServlet {
public void service (HttpServletRequest req, HttpServletResponse res) throws IOException {
if (req.getSession().getAttribute("user") != null) {
User user = (User) req.getSession().getAttribute("user");
UserDAO userDao = new UserDAO();
ThreadDAO threadDao = new ThreadDAO();
MessageDAO messageDao = new MessageDAO();
Message msg = null;
try {
messageDao.getMessageByID(
Integer.parseInt(req.getParameter("messageid")));
}
catch (SQLException sqle) {
sqle.getStackTrace();
}
boolean messageLiked = false;
try {
messageLiked = messageDao.isMessageLikedByUser(msg, user);
}
catch (SQLException sqle) {
sqle.getStackTrace();
}
if (!messageLiked) {
try {
userDao.reactToMsg(user, msg);
}
catch (SQLException sqle) {
sqle.getStackTrace();
}
}
else {
try {
userDao.unreactToMsg(user, msg); // méthode à créer
}
catch (SQLException sqle) {
sqle.getStackTrace();
}
}
res.sendRedirect("http://localhost:8080/s4a021-web-backend/Welcome");
}
else {
res.sendRedirect("http://localhost:8080/s4a021-web-backend/index.html");
}
}
}
TODO : à décommenter
\ No newline at end of file
......@@ -359,8 +359,20 @@ public class UserDAO {
return messages;
}
public void unreactToMsg(User user, Message msg) {
// TODO Auto-generated method stub
throw new UnsupportedOperationException("Unimplemented method 'unreactToMsg'");
public void unreactToMsg(User user, Message msg) throws SQLException {
PreparedStatement ps = this.con.prepareStatement("""
UPDATE reactions
SET reaction = false
WHERE userID_reactions = ?
AND msgID_reactions = ?
""");
try {
ps.setInt(1, user.getId());
ps.setInt(2, msg.getMsgId());
ps.executeUpdate();
}
catch (SQLException sqle) {
sqle.getStackTrace();
}
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment