Merge branch 'develop' into SendMessage
# Conflicts: # src/main/java/org/to/telegramfinalproject/Client/ActionHandler.java # src/main/java/org/to/telegramfinalproject/Database/MessageDatabase.java # src/main/java/org/to/telegramfinalproject/Models/ContactEntry.java # src/main/java/org/to/telegramfinalproject/Models/Message.java
This commit is contained in:
@@ -505,25 +505,27 @@ public class MessageDatabase {
|
||||
stmt.setObject(i++, userId); // 5) group: gm.user_id
|
||||
stmt.setObject(i++, userId); // 6) channel: cs.user_id
|
||||
|
||||
try (ResultSet rs = stmt.executeQuery()) {
|
||||
while (rs.next()) {
|
||||
messages.add(new Message(
|
||||
UUID.fromString(rs.getString("message_id")),
|
||||
rs.getObject("sender_id") != null ? UUID.fromString(rs.getString("sender_id")) : null,
|
||||
rs.getString("receiver_type"),
|
||||
UUID.fromString(rs.getString("receiver_id")),
|
||||
rs.getString("content"),
|
||||
rs.getString("message_type"),
|
||||
rs.getTimestamp("send_at").toLocalDateTime(),
|
||||
rs.getString("status"),
|
||||
rs.getObject("reply_to_id") != null ? UUID.fromString(rs.getString("reply_to_id")) : null,
|
||||
rs.getBoolean("is_edited"),
|
||||
rs.getBoolean("is_deleted_globally"),
|
||||
rs.getObject("original_message_id") != null ? UUID.fromString(rs.getString("original_message_id")) : null,
|
||||
rs.getObject("forwarded_by") != null ? UUID.fromString(rs.getString("forwarded_by")) : null,
|
||||
rs.getObject("forwarded_from") != null ? UUID.fromString(rs.getString("forwarded_from")) : null
|
||||
));
|
||||
}
|
||||
ResultSet rs = stmt.executeQuery();
|
||||
while (rs.next()) {
|
||||
Message message = new Message(
|
||||
UUID.fromString(rs.getString("message_id")),
|
||||
rs.getObject("sender_id") != null ? UUID.fromString(rs.getString("sender_id")) : null,
|
||||
rs.getString("receiver_type"),
|
||||
UUID.fromString(rs.getString("receiver_id")),
|
||||
rs.getString("content"),
|
||||
rs.getString("message_type"),
|
||||
rs.getTimestamp("send_at").toLocalDateTime(),
|
||||
rs.getString("status"),
|
||||
rs.getObject("reply_to_id") != null ? UUID.fromString(rs.getString("reply_to_id")) : null,
|
||||
rs.getBoolean("is_edited"),
|
||||
rs.getObject("original_message_id") != null ? UUID.fromString(rs.getString("original_message_id")) : null,
|
||||
rs.getObject("forwarded_by") != null ? UUID.fromString(rs.getString("forwarded_by")) : null,
|
||||
rs.getObject("forwarded_from") != null ? UUID.fromString(rs.getString("forwarded_from")) : null,
|
||||
rs.getBoolean("is_deleted_globally"),
|
||||
rs.getTimestamp("edited_at") != null ? rs.getTimestamp("edited_at").toLocalDateTime() : null
|
||||
);
|
||||
|
||||
messages.add(message);
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
e.printStackTrace();
|
||||
@@ -626,7 +628,6 @@ public class MessageDatabase {
|
||||
rs.getString("status"),
|
||||
(UUID) rs.getObject("reply_to_id"),
|
||||
rs.getBoolean("is_edited"),
|
||||
// rs.getBoolean("is_deleted_globally"),
|
||||
(UUID) rs.getObject("original_message_id"),
|
||||
(UUID) rs.getObject("forwarded_by"),
|
||||
(UUID) rs.getObject("forwarded_from"),
|
||||
@@ -1096,8 +1097,57 @@ public class MessageDatabase {
|
||||
return messages;
|
||||
}
|
||||
|
||||
public static boolean insertSavedMessage(Message message) {
|
||||
String sql = "INSERT INTO messages (message_id, sender_id, receiver_type, receiver_id, content, message_type, send_at, status, reply_to_id, is_edited, edited_at," +
|
||||
" original_message_id, forwarded_by, forwarded_from, is_deleted_globally) " +
|
||||
"VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
|
||||
|
||||
try (Connection conn = ConnectionDb.connect();
|
||||
PreparedStatement ps = conn.prepareStatement(sql)) {
|
||||
|
||||
ps.setObject(1, message.getMessage_id()); // message_id
|
||||
ps.setObject(2, message.getSender_id()); // sender_id
|
||||
ps.setString(3, message.getReceiver_type()); // receiver_type (private)
|
||||
ps.setObject(4, message.getReceiver_id()); // receiver_id (same as sender_id for saved messages)
|
||||
ps.setString(5, message.getContent()); // content
|
||||
ps.setString(6, message.getMessage_type()); // message_type
|
||||
ps.setTimestamp(7, Timestamp.valueOf(message.getSend_at())); // send_at
|
||||
ps.setString(8, message.getStatus()); // status
|
||||
if (message.getReply_to_id() != null)
|
||||
ps.setObject(9, message.getReply_to_id()); // reply_to_id
|
||||
else
|
||||
ps.setNull(9, Types.OTHER);
|
||||
|
||||
ps.setBoolean(10, message.isIs_edited()); // is_edited
|
||||
|
||||
if (message.getEdited_at() != null)
|
||||
ps.setTimestamp(11, Timestamp.valueOf(message.getEdited_at())); // edited_at
|
||||
else
|
||||
ps.setNull(11, Types.TIMESTAMP);
|
||||
|
||||
if (message.getOriginal_message_id() != null)
|
||||
ps.setObject(12, message.getOriginal_message_id()); // original_message_id
|
||||
else
|
||||
ps.setNull(12, Types.OTHER);
|
||||
|
||||
if (message.getForwarded_by() != null)
|
||||
ps.setObject(13, message.getForwarded_by()); // forwarded_by
|
||||
else
|
||||
ps.setNull(13, Types.OTHER);
|
||||
|
||||
if (message.getForwarded_from() != null)
|
||||
ps.setObject(14, message.getForwarded_from()); // forwarded_from
|
||||
else
|
||||
ps.setNull(14, Types.OTHER);
|
||||
|
||||
ps.setBoolean(15, message.getIs_deleted_globally()); // is_deleted_globally
|
||||
|
||||
return ps.executeUpdate() > 0;
|
||||
|
||||
} catch (SQLException e) {
|
||||
e.printStackTrace();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user