Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • main
1 result

Target

Select target project
  • charlie.darques.etu/s4a021-web-backend
1 result
Select Git revision
  • main
1 result
Show changes
Commits on Source (2)
...@@ -65,7 +65,7 @@ public class Account extends HttpServlet { ...@@ -65,7 +65,7 @@ public class Account extends HttpServlet {
// out.println("</form>"); // out.println("</form>");
out.println("<h2>DELETE YOUR ACCOUNT</h2>"); 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("<button type=\"submit\">Delete Account</button>");
out.println("</form>"); out.println("</form>");
......
//package controleurs; package controleurs;
//
//import java.io.IOException; import java.io.IOException;
//import java.sql.SQLException; import java.sql.SQLException;
//
//import dao.ThreadDAO; import dao.MessageDAO;
//import dao.UserDAO; import dao.ThreadDAO;
//import dto.Message; import dao.UserDAO;
//import dto.User; import dto.Message;
//import jakarta.servlet.annotation.WebServlet; import dto.User;
//import jakarta.servlet.http.HttpServlet; import jakarta.servlet.annotation.WebServlet;
//import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServlet;
//import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletRequest;
// import jakarta.servlet.http.HttpServletResponse;
//@WebServlet("/LikeMessage")
//public class LikeMessage extends HttpServlet { @WebServlet("/LikeMessage")
// public void service (HttpServletRequest req, HttpServletResponse res) throws IOException { public class LikeMessage extends HttpServlet {
// if (req.getSession().getAttribute("user") != null) { public void service (HttpServletRequest req, HttpServletResponse res) throws IOException {
// User user = (User) req.getSession().getAttribute("user"); if (req.getSession().getAttribute("user") != null) {
// User user = (User) req.getSession().getAttribute("user");
// UserDAO userDao = new UserDAO();
// ThreadDAO threadDao = new ThreadDAO(); UserDAO userDao = new UserDAO();
// ThreadDAO threadDao = new ThreadDAO();
// Message msg = req.getParameter("messageid"); MessageDAO messageDao = new MessageDAO();
//
// // à modifier Message msg = null;
// boolean messageLiked = false;
// try {
// if (!messageLiked) { messageDao.getMessageByID(
// try { Integer.parseInt(req.getParameter("messageid")));
// userDao.reactToMsg(user, msg); }
// } catch (SQLException sqle) {
// catch (SQLException sqle) { sqle.getStackTrace();
// sqle.getStackTrace(); }
// }
// } boolean messageLiked = false;
// else { try {
// try { messageLiked = messageDao.isMessageLikedByUser(msg, user);
// userDao.unreactToMsg(user, msg); // méthode à créer }
// } catch (SQLException sqle) {
// catch (SQLException sqle) { sqle.getStackTrace();
// sqle.getStackTrace(); }
// }
// } if (!messageLiked) {
// res.sendRedirect("http://localhost:8080/s4a021-web-backend/Welcome"); try {
// } userDao.reactToMsg(user, msg);
// else { }
// res.sendRedirect("http://localhost:8080/s4a021-web-backend/index.html"); catch (SQLException sqle) {
// } sqle.getStackTrace();
// } }
//} }
else {
// TODO : à décommenter try {
\ No newline at end of file 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 dao;
import dto.Message;
import dto.User;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
public class MessageDAO {
private Connection con;
public MessageDAO(){
this.con = new BDConnection().getConnection();
}
public Message getMessageByID(int id) throws SQLException {
Message message = null;
PreparedStatement stmt = this.con.prepareStatement("SELECT * FROM msg WHERE msgID = ?;");
try{
stmt.setInt(1, id);
ResultSet rs = stmt.executeQuery();
while(rs.next()){
int msgId = rs.getInt(1);
int userIdMsg = rs.getInt(2);
int threadId = rs.getInt(3);
String msg = rs.getString(4);
message = new Message(msgId,userIdMsg,threadId,msg);
}
} catch (SQLException sqle) {
sqle.getStackTrace();
}
return message;
}
public boolean isMessageLikedByUser(Message message, User user) throws SQLException {
PreparedStatement ps = this.con.prepareStatement("""
SELECT reaction FROM reactions
WHERE userID_reactions = ?
AND msgID_reactions = ?
""");
try {
ps.setInt(1, user.getId());
ps.setInt(2, message.getMsgId());
ResultSet rs = ps.executeQuery();
while(rs.next()) {
if (rs.getBoolean("reaction")) {
return true;
}
else return false;
}
}
catch (SQLException sqle) {
sqle.getStackTrace();
}
return false;
}
}
...@@ -359,8 +359,20 @@ public class UserDAO { ...@@ -359,8 +359,20 @@ public class UserDAO {
return messages; return messages;
} }
public void unreactToMsg(User user, Message msg) { public void unreactToMsg(User user, Message msg) throws SQLException {
// TODO Auto-generated method stub PreparedStatement ps = this.con.prepareStatement("""
throw new UnsupportedOperationException("Unimplemented method 'unreactToMsg'"); 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