summaryrefslogtreecommitdiff
path: root/src/storage/reactboard.rs
diff options
context:
space:
mode:
authorseth <[email protected]>2023-12-05 05:17:49 -0500
committerseth <[email protected]>2023-12-15 16:41:13 -0500
commit815cb0df3b3e3f9dd2078b00f85754da87b1d55e (patch)
tree85099483f8ebb0586bc097b65f6c5a2b5997150e /src/storage/reactboard.rs
parent0ca61ddff6ec7404f0aeabc1c8c785bbc8db7fd5 (diff)
refactor: centralize storage handlers
Diffstat (limited to 'src/storage/reactboard.rs')
-rw-r--r--src/storage/reactboard.rs18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/storage/reactboard.rs b/src/storage/reactboard.rs
new file mode 100644
index 0000000..e08aa54
--- /dev/null
+++ b/src/storage/reactboard.rs
@@ -0,0 +1,18 @@
+use poise::serenity_prelude::{ChannelId, MessageId};
+use redis_macros::{FromRedisValue, ToRedisArgs};
+use serde::{Deserialize, Serialize};
+
+pub const REACT_BOARD_KEY: &str = "reactboard-v1";
+
+#[derive(Clone, Debug, Serialize, Deserialize, FromRedisValue, ToRedisArgs)]
+pub struct ReactBoardEntry {
+ pub original_id: MessageId,
+ pub reaction_count: u64,
+ pub channel_id: ChannelId,
+ pub message_id: MessageId,
+}
+
+#[derive(Clone, Debug, Default, Serialize, Deserialize, FromRedisValue, ToRedisArgs)]
+pub struct ReactBoardInfo {
+ pub reactions: Vec<ReactBoardEntry>,
+}