60 lines
2.2 KiB
Java
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;
|
|
}
|
|
}
|