Files
Telegram-Final-Project/src/main/java/org/to/telegramfinalproject/Utils/GroupPermissionUtil.java
T
2025-06-30 22:22:08 +03:30

60 lines
2.2 KiB
Java

package org.to.telegramfinalproject.Utils;
import org.json.JSONObject;
import org.to.telegramfinalproject.Database.GroupDatabase;
import java.util.UUID;
public class GroupPermissionUtil {
public static boolean canAddMembers(UUID groupId, UUID userId) {
String role = GroupDatabase.getGroupRole(groupId, userId);
if (role.equals("owner")) return true;
if (role.equals("admin")) {
JSONObject permissions = GroupDatabase.getGroupPermissions(groupId, userId);
return permissions.optBoolean("can_add_members", false);
}
return false;
}
public static boolean canRemoveMembers(UUID groupId, UUID userId) {
String role = GroupDatabase.getGroupRole(groupId, userId);
if (role.equals("owner")) return true;
if (role.equals("admin")) {
JSONObject permissions = GroupDatabase.getGroupPermissions(groupId, userId);
return permissions.optBoolean("can_remove_members", false);
}
return false;
}
public static boolean canAddAdmins(UUID groupId, UUID userId) {
String role = GroupDatabase.getGroupRole(groupId, userId);
if (role.equals("owner")) return true;
if (role.equals("admin")) {
JSONObject permissions = GroupDatabase.getGroupPermissions(groupId, userId);
return permissions.optBoolean("can_add_admins", false);
}
return false;
}
public static boolean canRemoveAdmins(UUID groupId, UUID userId) {
String role = GroupDatabase.getGroupRole(groupId, userId);
if (role.equals("owner")) return true;
if (role.equals("admin")) {
JSONObject permissions = GroupDatabase.getGroupPermissions(groupId, userId);
return permissions.optBoolean("can_remove_admins", false);
}
return false;
}
public static boolean canEditGroup(UUID groupId, UUID userId) {
String role = GroupDatabase.getGroupRole(groupId, userId);
if (role.equals("owner")) return true;
if (role.equals("admin")) {
JSONObject permissions = GroupDatabase.getGroupPermissions(groupId, userId);
return permissions.optBoolean("can_edit_group", false);
}
return false;
}
}