editing user profile updated.

This commit is contained in:
Asal Lotfi
2025-07-29 23:34:12 +03:30
parent 648a128a0c
commit a9b5e8abdf
2 changed files with 28 additions and 26 deletions
@@ -1708,11 +1708,11 @@ public class ClientHandler implements Runnable {
// } // }
// //
case "get_user_profile": { case "get_user_profile": {
// Get the current user's user_id // Get the current user's UUID
String user_id = this.currentUser.getUser_id(); UUID user_UUID = this.currentUser.getInternal_uuid();
// Get the profile JSON from SidebarService // Get the profile JSON from SidebarService
JSONObject data = SidebarService.getUserProfile(user_id); JSONObject data = SidebarService.getUserProfile(user_UUID);
if (data == null) { if (data == null) {
response = new ResponseModel("error", "Failed to retrieve user profile."); response = new ResponseModel("error", "Failed to retrieve user profile.");
@@ -1729,24 +1729,24 @@ public class ClientHandler implements Runnable {
break; break;
} }
String user_id = this.currentUser.getUser_id(); UUID user_UUID = this.currentUser.getInternal_uuid();
String newProfileName = requestJson.getString("new_profile_name"); String newProfileName = requestJson.getString("new_profile_name");
response = SidebarService.updateProfileName(user_id, newProfileName); response = SidebarService.updateProfileName(user_UUID, newProfileName);
break; break;
} }
case "edit_user_id": { case "edit_user_id": {
// Validate input // Validate input
if (!requestJson.has("new_user-id")) { if (!requestJson.has("new_user_id")) {
response = new ResponseModel("error", "Missing new user ID."); response = new ResponseModel("error", "Missing new user ID.");
break; break;
} }
String currentUserId = this.currentUser.getUser_id(); UUID user_UUID = this.currentUser.getInternal_uuid();
String newUserId = requestJson.getString("new_user_id"); String newUserId = requestJson.getString("new_user_id");
response = SidebarService.updateUserId(currentUserId, newUserId); response = SidebarService.updateUserId(user_UUID, newUserId);
break; break;
} }
@@ -1757,10 +1757,10 @@ public class ClientHandler implements Runnable {
break; break;
} }
String currentUserId = this.currentUser.getUser_id(); UUID user_UUID = this.currentUser.getInternal_uuid();
String newBio = requestJson.getString("new_bio").trim(); String newBio = requestJson.getString("new_bio").trim();
response = SidebarService.updateBio(currentUserId, newBio); response = SidebarService.updateBio(user_UUID, newBio);
break; break;
} }
@@ -1771,10 +1771,10 @@ public class ClientHandler implements Runnable {
break; break;
} }
String currentUserId = this.currentUser.getUser_id(); UUID user_UUID = this.currentUser.getInternal_uuid();
String newImageUrl = requestJson.getString("new_image_url").trim(); String newImageUrl = requestJson.getString("new_image_url").trim();
response = SidebarService.updateProfilePicture(currentUserId, newImageUrl); response = SidebarService.updateProfilePicture(user_UUID, newImageUrl);
break; break;
} }
@@ -6,13 +6,14 @@ import org.to.telegramfinalproject.Models.ResponseModel;
import org.to.telegramfinalproject.Models.User; import org.to.telegramfinalproject.Models.User;
import java.util.Objects; import java.util.Objects;
import java.util.UUID;
public class SidebarService { public class SidebarService {
private static userDatabase userDB = new userDatabase(); private static userDatabase userDB = new userDatabase();
// Returns current user's profile data (name, bio, status, etc.) // Returns current user's profile data (name, bio, status, etc.)
public static JSONObject getUserProfile(String userId) { public static JSONObject getUserProfile(UUID userUUID) {
User user = userDB.findByUserId(userId); User user = userDB.findByInternalUUID(userUUID);
if (user == null) { if (user == null) {
return null; return null;
@@ -29,8 +30,8 @@ public class SidebarService {
} }
// Changes the user's profile picture // Changes the user's profile picture
public static ResponseModel updateProfilePicture(String userId, String newImageUrl) { public static ResponseModel updateProfilePicture(UUID userUUID, String newImageUrl) {
User user = userDB.findByUserId(userId); User user = userDB.findByInternalUUID(userUUID);
if (user == null) { if (user == null) {
return new ResponseModel("error", "User not found."); return new ResponseModel("error", "User not found.");
} }
@@ -41,7 +42,7 @@ public class SidebarService {
} }
user.setImage_url(newImageUrl); // Can be null user.setImage_url(newImageUrl); // Can be null
boolean success = userDB.updateByUUID(user.getInternal_uuid(), user); boolean success = userDB.updateByUUID(userUUID, user);
if (success) { if (success) {
return new ResponseModel("success", "Profile picture updated successfully."); return new ResponseModel("success", "Profile picture updated successfully.");
@@ -52,12 +53,12 @@ public class SidebarService {
} }
// Changes user's bio // Changes user's bio
public static ResponseModel updateBio(String userId, String newBio) { public static ResponseModel updateBio(UUID userUUID, String newBio) {
if (newBio.length() > 70) { if (newBio.length() > 70) {
return new ResponseModel("error", "Bio is too long."); return new ResponseModel("error", "Bio is too long.");
} }
User user = userDB.findByUserId(userId); User user = userDB.findByInternalUUID(userUUID);
if (user == null) { if (user == null) {
return new ResponseModel("error", "User not found."); return new ResponseModel("error", "User not found.");
} }
@@ -68,7 +69,7 @@ public class SidebarService {
} }
user.setBio(newBio); user.setBio(newBio);
boolean success = userDB.updateByUUID(user.getInternal_uuid(), user); boolean success = userDB.updateByUUID(userUUID, user);
if (success) { if (success) {
return new ResponseModel("success", "Bio updated successfully."); return new ResponseModel("success", "Bio updated successfully.");
@@ -79,7 +80,7 @@ public class SidebarService {
} }
// Changes user-id // Changes user-id
public static ResponseModel updateUserId(String currentUserId, String newUserId) { public static ResponseModel updateUserId(UUID userUUID, String newUserId) {
if (newUserId == null || newUserId.trim().isEmpty()) { if (newUserId == null || newUserId.trim().isEmpty()) {
return new ResponseModel("error", "User ID cannot be empty."); return new ResponseModel("error", "User ID cannot be empty.");
} }
@@ -98,18 +99,19 @@ public class SidebarService {
return new ResponseModel("error", "This user ID is already taken."); return new ResponseModel("error", "This user ID is already taken.");
} }
User user = userDB.findByUserId(currentUserId); User user = userDB.findByInternalUUID(userUUID);
if (user == null) { if (user == null) {
return new ResponseModel("error", "User not found."); return new ResponseModel("error", "User not found.");
} }
String currentUserId = user.getUser_id();
if (Objects.equals(currentUserId, newUserId)) { if (Objects.equals(currentUserId, newUserId)) {
return new ResponseModel("error", "No changes made. User ID is the same."); return new ResponseModel("error", "No changes made. User ID is the same.");
} }
user.setUser_id(newUserId); user.setUser_id(newUserId);
boolean saved = userDB.updateByUUID(user.getInternal_uuid(), user); boolean saved = userDB.updateByUUID(userUUID, user);
if (saved) { if (saved) {
return new ResponseModel("success", "User ID updated successfully."); return new ResponseModel("success", "User ID updated successfully.");
} else { } else {
@@ -119,13 +121,13 @@ public class SidebarService {
} }
// Changes user's profile name // Changes user's profile name
public static ResponseModel updateProfileName(String userId, String newProfileName) { public static ResponseModel updateProfileName(UUID userUUID, String newProfileName) {
if (newProfileName == null || newProfileName.trim().isEmpty()) { if (newProfileName == null || newProfileName.trim().isEmpty()) {
return new ResponseModel("error", "Invalid input."); // Invalid input (empty or just spaces) return new ResponseModel("error", "Invalid input."); // Invalid input (empty or just spaces)
} }
// Fetch the user from database // Fetch the user from database
User user = userDB.findByUserId(userId); User user = userDB.findByInternalUUID(userUUID);
if (user == null) { if (user == null) {
return new ResponseModel("error", "User not found."); // User doesn't exist return new ResponseModel("error", "User not found."); // User doesn't exist
} }
@@ -138,7 +140,7 @@ public class SidebarService {
// Only set the profile name *after* successful DB update // Only set the profile name *after* successful DB update
user.setProfile_name(newProfileName); user.setProfile_name(newProfileName);
boolean saved = userDB.updateByUUID(user.getInternal_uuid(), user); boolean saved = userDB.updateByUUID(userUUID, user);
if (saved) { if (saved) {
return new ResponseModel("success", "Profile name updated successfully."); return new ResponseModel("success", "Profile name updated successfully.");