diff options
| author | seth <[email protected]> | 2023-12-15 02:13:08 -0500 |
|---|---|---|
| committer | seth <[email protected]> | 2023-12-15 16:41:13 -0500 |
| commit | cb81c0a8f4cc33d16ef6c45ae951ae0b926e936f (patch) | |
| tree | eee7c997d8788d5ba28b4f32820350fa1afb9bfc | |
| parent | 32d42d5fbab9c74dbe59fbdb94a29112f8766e27 (diff) | |
storage: don't copy all guild settings to index
| -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) |
