Channel menu complete

This commit is contained in:
2025-07-02 21:08:50 +03:30
parent 67f48cd943
commit a62b65b41c
5 changed files with 930 additions and 88 deletions
@@ -0,0 +1,54 @@
package org.to.telegramfinalproject.Utils;
import org.json.JSONObject;
import org.to.telegramfinalproject.Database.ChannelDatabase;
import java.util.UUID;
public class ChannelPermissionUtil {
public static boolean canAddSubscribers(UUID channelId, UUID userId) {
if (ChannelDatabase.isOwner(channelId, userId)) return true;
if (ChannelDatabase.isAdmin(channelId, userId)) {
JSONObject perms = ChannelDatabase.getChannelPermissions(channelId, userId);
return perms.optBoolean("can_add_members", false);
}
return false;
}
public static boolean canAddAdmins(UUID channelId, UUID userId) {
if (ChannelDatabase.isOwner(channelId, userId)) return true;
if (ChannelDatabase.isAdmin(channelId, userId)) {
JSONObject perms = ChannelDatabase.getChannelPermissions(channelId, userId);
return perms.optBoolean("can_add_admins", false);
}
return false;
}
public static boolean canEditChannel(UUID channelId, UUID userId) {
if (ChannelDatabase.isOwner(channelId, userId)) return true;
if (ChannelDatabase.isAdmin(channelId, userId)) {
JSONObject perms = ChannelDatabase.getChannelPermissions(channelId, userId);
return perms.optBoolean("can_edit_channel", false);
}
return false;
}
public static boolean canRemoveAdmins(UUID channelId, UUID userId) {
if (ChannelDatabase.isOwner(channelId, userId)) return true;
if (ChannelDatabase.isAdmin(channelId, userId)) {
JSONObject perms = ChannelDatabase.getChannelPermissions(channelId, userId);
return perms.optBoolean("can_remove_admins", false);
}
return false;
}
public static boolean canRemoveSubscribers(UUID channelId, UUID userId) {
if (ChannelDatabase.isOwner(channelId, userId)) return true;
if (ChannelDatabase.isAdmin(channelId, userId)) {
JSONObject perms = ChannelDatabase.getChannelPermissions(channelId, userId);
return perms.optBoolean("can_remove_members", false);
}
return false;
}
}