diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/api/guzzle.rs | 2 | ||||
| -rw-r--r-- | src/api/shiggy.rs | 2 | ||||
| -rw-r--r-- | src/storage/mod.rs | 18 |
3 files changed, 11 insertions, 11 deletions
diff --git a/src/api/guzzle.rs b/src/api/guzzle.rs index 1f285e9..2f2571a 100644 --- a/src/api/guzzle.rs +++ b/src/api/guzzle.rs @@ -23,7 +23,7 @@ pub async fn get_random_teawie() -> Result<String> { let status = resp.status(); if let StatusCode::OK = status { - let data = resp.json::<GuzzleResponse>().await?; + let data: GuzzleResponse = resp.json().await?; Ok(data.url) } else { Err(eyre!("Failed to get random Teawie with {status}")) diff --git a/src/api/shiggy.rs b/src/api/shiggy.rs index 1fe4b49..fb955bb 100644 --- a/src/api/shiggy.rs +++ b/src/api/shiggy.rs @@ -23,7 +23,7 @@ pub async fn get_random_shiggy() -> Result<String> { let status = resp.status(); if let StatusCode::OK = status { - let data = resp.json::<SafebooruResponse>().await?; + let data: SafebooruResponse = resp.json().await?; Ok(data.file_url) } else { Err(eyre!("Failed to get random shiggy with {status}")) 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<Vec<Settings>> { debug!("Fetching all guild settings"); - let guilds: Vec<Settings> = self.get_from_index(SETTINGS_KEY).await?; + let guild_ids: Vec<u64> = 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<GuildId> = 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) |
