From 81e94aa322520ccd298f53f73c31b9dfadbb18fc Mon Sep 17 00:00:00 2001
From: Charlie Darques <charlie.darques.etu@univ-lille.fr>
Date: Sat, 15 Mar 2025 18:53:35 +0100
Subject: [PATCH] =?UTF-8?q?cr=C3=A9ation=20dao=20de=20message?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 WEB-INF/src/dao/MessageDAO.java | 60 +++++++++++++++++++++++++++++++++
 1 file changed, 60 insertions(+)
 create mode 100644 WEB-INF/src/dao/MessageDAO.java

diff --git a/WEB-INF/src/dao/MessageDAO.java b/WEB-INF/src/dao/MessageDAO.java
new file mode 100644
index 0000000..39c7601
--- /dev/null
+++ b/WEB-INF/src/dao/MessageDAO.java
@@ -0,0 +1,60 @@
+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;
+    }
+}
-- 
GitLab