RealTime and openChat

This commit is contained in:
2025-06-30 22:22:08 +03:30
parent 5afe3662d4
commit ee037532a1
20 changed files with 2222 additions and 275 deletions
@@ -0,0 +1,59 @@
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;
}
}