summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorseth <[email protected]>2023-12-15 02:13:08 -0500
committerseth <[email protected]>2023-12-15 16:41:13 -0500
commitcb81c0a8f4cc33d16ef6c45ae951ae0b926e936f (patch)
treeeee7c997d8788d5ba28b4f32820350fa1afb9bfc /src
parent32d42d5fbab9c74dbe59fbdb94a29112f8766e27 (diff)
storage: don't copy all guild settings to index
Diffstat (limited to 'src')
-rw-r--r--src/api/guzzle.rs2
-rw-r--r--src/api/shiggy.rs2
-rw-r--r--src/storage/mod.rs18
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)