editing user profile updated.
This commit is contained in:
@@ -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.");
|
||||||
|
|||||||
Reference in New Issue
Block a user