From a5ec2704e65e982a6c4b649de29a63f2594aa4e4 Mon Sep 17 00:00:00 2001 From: Radical Date: Mon, 12 May 2025 00:08:21 +0200 Subject: [PATCH] style: get object from cache more cleanly --- src/api/v1/servers/uuid/channels/uuid/messages.rs | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/src/api/v1/servers/uuid/channels/uuid/messages.rs b/src/api/v1/servers/uuid/channels/uuid/messages.rs index 70aa10b..eb999be 100644 --- a/src/api/v1/servers/uuid/channels/uuid/messages.rs +++ b/src/api/v1/servers/uuid/channels/uuid/messages.rs @@ -38,22 +38,20 @@ pub async fn res(req: HttpRequest, path: web::Path<(Uuid, Uuid)>, message_reques let cache_result = data.get_cache_key(format!("{}", channel_uuid)).await; - let mut channel_raw: Option = None; + let channel: Channel; if let Ok(cache_hit) = cache_result { - channel_raw = Some(serde_json::from_str(&cache_hit).unwrap()) - } - - if channel_raw.is_none() { + channel = serde_json::from_str(&cache_hit).unwrap() + } else { let channel_result = Channel::fetch_one(&data.pool, guild_uuid, channel_uuid).await; if let Err(error) = channel_result { return Ok(error) } - channel_raw = Some(channel_result.unwrap()); + channel = channel_result.unwrap(); - let cache_result = data.set_cache_key(format!("{}", channel_uuid), channel_raw.clone().unwrap(), 60).await; + let cache_result = data.set_cache_key(format!("{}", channel_uuid), channel.clone(), 60).await; if let Err(error) = cache_result { error!("{}", error); @@ -61,8 +59,6 @@ pub async fn res(req: HttpRequest, path: web::Path<(Uuid, Uuid)>, message_reques } } - let channel = channel_raw.unwrap(); - let messages = channel.fetch_messages(&data.pool, message_request.amount, message_request.offset).await; if let Err(error) = messages {