From cb81c0a8f4cc33d16ef6c45ae951ae0b926e936f Mon Sep 17 00:00:00 2001 From: seth Date: Fri, 15 Dec 2023 02:13:08 -0500 Subject: storage: don't copy all guild settings to index --- src/storage/mod.rs | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'src/storage') diff --git a/src/storage/mod.rs b/src/storage/mod.rs index 320e79f..0947120 100644 --- a/src/storage/mod.rs +++ b/src/storage/mod.rs @@ -118,7 +118,8 @@ impl Storage { self.set_key(&key, &settings).await?; // adding to index since we need to look all of these up sometimes - self.add_to_index(SETTINGS_KEY, settings).await?; + self.add_to_index(SETTINGS_KEY, settings.guild_id.as_u64()) + .await?; Ok(()) } @@ -147,7 +148,12 @@ impl Storage { pub async fn get_all_guild_settings(&self) -> Result> { debug!("Fetching all guild settings"); - let guilds: Vec = self.get_from_index(SETTINGS_KEY).await?; + let guild_ids: Vec = self.get_from_index(SETTINGS_KEY).await?; + let mut guilds = vec![]; + for id in guild_ids { + let settings = self.get_guild_settings(&GuildId::from(id)).await?; + guilds.push(settings); + } Ok(guilds) } @@ -159,13 +165,7 @@ impl Storage { let guilds = self.get_all_guild_settings().await?; let opted: Vec = guilds .iter() - .filter_map(|g| { - if g.optional_commands_enabled { - Some(g.guild_id) - } else { - None - } - }) + .filter_map(|g| g.optional_commands_enabled.then_some(g.guild_id)) .collect(); Ok(opted) -- cgit v1.2.3