From 82ade35450c41dca4d2708fdfdee70bd176cf503 Mon Sep 17 00:00:00 2001 From: Partow Roshani Date: Tue, 12 Aug 2025 16:28:59 +0330 Subject: [PATCH] Clean code --- .../Client/SidebarHandler.java | 281 ------------------ 1 file changed, 281 deletions(-) diff --git a/src/main/java/org/to/telegramfinalproject/Client/SidebarHandler.java b/src/main/java/org/to/telegramfinalproject/Client/SidebarHandler.java index 5085e14..2960707 100644 --- a/src/main/java/org/to/telegramfinalproject/Client/SidebarHandler.java +++ b/src/main/java/org/to/telegramfinalproject/Client/SidebarHandler.java @@ -255,234 +255,7 @@ public class SidebarHandler { actionHandler.showContactList(); } - public void getSavedMessagesData(String userId) { - try { - // Step 1: Create the request - JSONObject request = new JSONObject(); - request.put("action", "get_saved_messages"); - request.put("user_id", userId); - // Step 2: Send request and wait for response - JSONObject response = ActionHandler.sendWithResponse(request); - - // Step 3: Check the response - if (!response.optString("status", "fail").equals("success")) { - System.out.println("Failed to open Saved Messages chat: " + response.optString("message", "Unknown error")); - return; - } - - // Step 4: Extract "data" object - JSONObject data = response.getJSONObject("data"); - UUID chatId = UUID.fromString(data.getString("chat_id")); - JSONArray messagesArray = data.getJSONArray("messages"); - - // Step 5: Parse messages - List messages = new ArrayList<>(); - if (!messagesArray.isEmpty()) { - for (int i = 0; i < messagesArray.length(); i++) { - JSONObject msgJson = messagesArray.getJSONObject(i); - - // Safely extract optional UUIDs - UUID replyToId = null; - String replyToIdStr = msgJson.optString("reply_to_id", null); - if (replyToIdStr != null && !replyToIdStr.equals("null")) { - replyToId = UUID.fromString(replyToIdStr); - } - - UUID originalMessageId = null; - String originalMessageIdStr = msgJson.optString("original_message_id", null); - if (originalMessageIdStr != null && !originalMessageIdStr.equals("null")) { - originalMessageId = UUID.fromString(originalMessageIdStr); - } - - UUID forwardedBy = null; - String forwardedByStr = msgJson.optString("forwarded_by", null); - if (forwardedByStr != null && !forwardedByStr.equals("null")) { - forwardedBy = UUID.fromString(forwardedByStr); - } - - UUID forwardedFrom = null; - String forwardedFromStr = msgJson.optString("forwarded_from", null); - if (forwardedFromStr != null && !forwardedFromStr.equals("null")) { - forwardedFrom = UUID.fromString(forwardedFromStr); - } - - Message msg = new Message( - UUID.fromString(msgJson.getString("message_id")), - UUID.fromString(msgJson.getString("sender_id")), - msgJson.getString("receiver_type"), - UUID.fromString(msgJson.getString("receiver_id")), - msgJson.getString("content"), - msgJson.getString("message_type"), - LocalDateTime.parse(msgJson.getString("send_at").replace(" ", "T")), - msgJson.getString("status"), - replyToId, - msgJson.getBoolean("is_edited"), - originalMessageId, - forwardedBy, - forwardedFrom, - msgJson.getBoolean("is_deleted_globally"), - LocalDateTime.parse(msgJson.getString("edited_at").replace(" ", "T")) - ); - - messages.add(msg); - } - } - - // Step 6: Add to active chats if not already present - boolean alreadyExists = Session.activeChats.stream() - .anyMatch(entry -> entry.getId().equals(chatId)); - if (!alreadyExists) { - ChatEntry savedEntry = new ChatEntry( - chatId, - "Saved-Messages", - "Saved Messages", - "📌", // or use a URL string if you have an icon for saved messages - "private", - messages.isEmpty() ? null : messages.get(messages.size() - 1).getSend_at() - ); - savedEntry.setSavedMessages(true); - Session.activeChats.add(savedEntry); - } - - // Step 7: Show chat - showSavedMessages(chatId, messages); - - } catch (Exception e) { - System.out.println("An error occurred while retrieving Saved Messages."); - e.printStackTrace(); - } - } - - private void showSavedMessages(UUID chatId, List messages) { -// Scanner scanner = new Scanner(System.in); -// -// System.out.println("==== Saved Messages ===="); -// if (messages == null || messages.isEmpty()) { -// System.out.println("No messages yet."); -// } else { -// for (Message msg : messages) { -// System.out.println("[" + msg.getSend_at() + "] " + msg.getContent()); -// } -// } -// -// System.out.println("\n(Type your message below, or type 0 to exit)"); -// -// while (true) { -// System.out.print("You: "); -// String content = scanner.nextLine().trim(); -// if (content.equals("0")) { -// System.out.println("Exiting Saved Messages."); -// break; -// } -// -// System.out.print("Enter message type (TEXT / IMAGE / VIDEO / FILE / AUDIO): "); -// String messageType = scanner.nextLine().trim().toUpperCase(); -// Set allowedTypes = Set.of("TEXT", "IMAGE", "VIDEO", "FILE", "AUDIO"); -// while (!allowedTypes.contains(messageType)) { -// System.out.print("Invalid type. Try again (TEXT / IMAGE / VIDEO / FILE / AUDIO): "); -// messageType = scanner.nextLine().trim().toUpperCase(); -// } -// -// // Attachments (اختیاری) -// JSONArray attachmentsArray = new JSONArray(); -// System.out.print("Do you want to attach files? (yes/no): "); -// if (scanner.nextLine().equalsIgnoreCase("yes")) { -// while (true) { -// System.out.print("File URL: "); -// String fileUrl = scanner.nextLine().trim(); -// -// if (fileUrl.isEmpty()) { -// System.out.println("URL can not be empty. Try again."); -// continue; -// } -// if (fileUrl.contains(" ")) { -// System.out.println("URL cannot contain spaces. Try again."); -// continue; -// } -// if (!fileUrl.matches("^(http|https)://.*$")) { -// System.out.println("Invalid URL format. Please enter a valid HTTP/HTTPS link."); -// continue; -// } -// -// System.out.print("File Type (IMAGE / VIDEO / FILE / AUDIO): "); -// String fileType = scanner.nextLine().trim().toUpperCase(); -// Set allowedFileTypes = Set.of("IMAGE", "VIDEO", "FILE", "AUDIO"); -// while (!allowedFileTypes.contains(fileType)) { -// System.out.print("Invalid type. Try again (IMAGE / VIDEO / FILE / AUDIO): "); -// fileType = scanner.nextLine().trim().toUpperCase(); -// } -// -// JSONObject fileJson = new JSONObject(); -// fileJson.put("file_url", fileUrl); -// fileJson.put("file_type", fileType); -// attachmentsArray.put(fileJson); -// -// System.out.print("Add another file? (yes/no): "); -// if (!scanner.nextLine().equalsIgnoreCase("yes")) break; -// } -// } -// -// // درخواست مطابق هندلر send_message -// JSONObject request = new JSONObject(); -// request.put("action", "send_message"); -// request.put("receiver_type", "private"); -// request.put("receiver_id", chatId.toString()); // chat_id -// request.put("content", content); -// request.put("message_type", messageType); -// if (attachmentsArray.length() > 0) { -// request.put("attachments", attachmentsArray); -// } -// -// JSONObject response = ActionHandler.sendWithResponse(request); -// if (!"success".equalsIgnoreCase(response.optString("status"))) { -// System.out.println("Failed to send message: " + response.optString("message", "Unknown error")); -// } else { -// System.out.println("Message sent."); -// -// Message justSent = new Message( -// UUID.fromString(response.getJSONObject("data").getString("message_id")), -// /* senderId */ userUUID, -// /* receiverId */ chatId, -// /* type */ "private", -// /* content */ content, -// /* msgType */ messageType, -// /* send_at */ java.time.LocalDateTime.now() -// ); -// messages.add(justSent); -// System.out.println("[" + justSent.getSend_at() + "] " + justSent.getContent()); -// } -// } - } - - -// public void openSavedMessages() { -// JSONObject req = new JSONObject().put("action", "get_or_create_saved_messages"); -// JSONObject res = sendWithResponse(req); -// if (res == null || !"success".equals(res.optString("status"))) { -// System.out.println("❌ Could not open Saved Messages: " + res.optString("message","")); -// return; -// } -// -// ActionHandler.requestChatList(); -// String chatId = res.getJSONObject("data").getString("chat_id"); -// -// JSONObject mreq = new JSONObject() -// .put("action", "get_messages") -// .put("receiver_type", "private") -// .put("receiver_id", chatId) -// .put("offset", 0) -// .put("limit", 50); -// -// JSONObject mres = sendWithResponse(mreq); -// JSONArray msgs = (mres != null && mres.has("data")) -// ? mres.getJSONObject("data").optJSONArray("messages") -// : new JSONArray(); -// -// List messages = parseMessages(msgs); // تبدیل JSON → Message -// showSavedMessages(UUID.fromString(chatId), messages); -// } -// @@ -774,7 +547,6 @@ public class SidebarHandler { } private String padBoxLine(String text, int width) { - // عرض: width، دو طرف │ │ final int inner = width - 2; if (text.length() > inner) { text = text.substring(0, inner - 1) + "…"; @@ -804,58 +576,5 @@ public class SidebarHandler { return approved ; } - private List parseMessages(JSONArray msgs) { - List list = new ArrayList<>(); - if (msgs == null) return list; - for (int i = 0; i < msgs.length(); i++) { - try { - JSONObject obj = msgs.getJSONObject(i); - - UUID messageId = UUID.fromString(obj.getString("message_id")); - UUID senderId = UUID.fromString(obj.getString("sender_id")); - String receiverType= obj.getString("receiver_type"); // "private" | "group" | "channel" - UUID receiverId = UUID.fromString(obj.getString("receiver_id")); // برای private = chat_id - String content = obj.optString("content", ""); - String messageType = obj.optString("message_type", "TEXT"); - LocalDateTime sent = LocalDateTime.parse(obj.getString("send_at")); - - Message m = new Message( - messageId, senderId, receiverId, receiverType, content, messageType, sent - ); - - if (obj.has("status") && !obj.isNull("status")) { - try { m.setStatus(obj.getString("status")); } catch (Exception ignore) {} - } - if (obj.has("reply_to_id") && !obj.isNull("reply_to_id")) { - try { m.setReply_to_id(UUID.fromString(obj.getString("reply_to_id"))); } catch (Exception ignore) {} - } - if (obj.has("forwarded_by") && !obj.isNull("forwarded_by")) { - try { m.setForwarded_by(UUID.fromString(obj.getString("forwarded_by"))); } catch (Exception ignore) {} - } - if (obj.has("forwarded_from") && !obj.isNull("forwarded_from")) { - try { m.setForwarded_from(UUID.fromString(obj.getString("forwarded_from"))); } catch (Exception ignore) {} - } - -// // ضمیمه‌ها (اگر در مدل Message متد addAttachment داری) -// if (obj.has("attachments") && !obj.isNull("attachments")) { -// try { -// JSONArray atts = obj.getJSONArray("attachments"); -// for (int j = 0; j < atts.length(); j++) { -// JSONObject a = atts.getJSONObject(j); -// String fileUrl = a.getString("file_url"); -// String fileType = a.getString("file_type"); -// FileAttachment fa = new FileAttachment(fileUrl, fileType); -// try { m.addAttachment(fa); } catch (Exception ignore) {} -// } -// } catch (Exception ignore) {} -// } - - list.add(m); - } catch (Exception perItem) { - perItem.printStackTrace(); - } - } - return list; - } } \ No newline at end of file