use crate::{
acl::command_catalog_data::{CMD_ENTRIES, CmdEntry},
types::RespCommand,
};
pub struct RespCommandsInfo;
impl RespCommandsInfo {
pub fn try_initialize() -> bool {
true
}
pub fn try_initialize_resp_commands_info() -> bool {
true
}
pub fn individual_acls() -> bool {
true
}
pub fn try_get_commandsfor_acl_category(_cat: u32) -> Vec<&'static str> {
Vec::new()
}
pub fn try_get_resp_commands_info_count() -> usize {
CMD_ENTRIES.len()
}
pub fn try_get_resp_commands_info() -> &'static [CmdEntry] {
CMD_ENTRIES
}
pub fn try_get_resp_command_names() -> Vec<&'static str> {
CMD_ENTRIES.iter().map(|e| e.name).collect()
}
pub fn try_get_resp_command_info(name: &str) -> Option<&'static CmdEntry> {
CMD_ENTRIES
.iter()
.find(|e| e.name.eq_ignore_ascii_case(name))
}
pub fn try_fast_get_resp_command_info(cmd: RespCommand) -> Option<&'static CmdEntry> {
CMD_ENTRIES.iter().find(|e| e.cmd == cmd)
}
pub fn try_get_resp_sub_commands_info(parent: RespCommand) -> Vec<&'static CmdEntry> {
CMD_ENTRIES
.iter()
.filter(|e| e.parent == Some(parent))
.collect()
}
pub fn try_get_simple_resp_command_info(name: &str) -> Option<&'static CmdEntry> {
Self::try_get_resp_command_info(name)
}
pub fn get_resp_command_name(cmd: RespCommand) -> Option<&'static str> {
Self::try_fast_get_resp_command_info(cmd).map(|e| e.name)
}
pub fn to_resp_format(_output: &mut Vec<u8>) {}
}