From 5bfa4e9358cb10dc9e93d0dbdfca57b501a9a529 Mon Sep 17 00:00:00 2001 From: Dessalines Date: Mon, 23 Oct 2023 12:40:29 -0400 Subject: [PATCH] Make sure my_vote is consistently missing if not voted. Fixes #3197 (#4075) * Make sure my_vote is consistently missing if not voted. Fixes #3197 * Fix clippy. * Fix tests. --- crates/api_common/src/post.rs | 1 + crates/db_views/src/post_view.rs | 10 ++-------- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/crates/api_common/src/post.rs b/crates/api_common/src/post.rs index b93742bea..c7ee08983 100644 --- a/crates/api_common/src/post.rs +++ b/crates/api_common/src/post.rs @@ -47,6 +47,7 @@ pub struct GetPost { pub comment_id: Option, } +#[skip_serializing_none] #[derive(Debug, Serialize, Deserialize, Clone)] #[cfg_attr(feature = "full", derive(TS))] #[cfg_attr(feature = "full", ts(export))] diff --git a/crates/db_views/src/post_view.rs b/crates/db_views/src/post_view.rs index 82e830ac1..c3da47ac9 100644 --- a/crates/db_views/src/post_view.rs +++ b/crates/db_views/src/post_view.rs @@ -542,16 +542,10 @@ impl PostView { my_person_id: Option, is_mod_or_admin: bool, ) -> Result { - let mut res = queries() + let res = queries() .read(pool, (post_id, my_person_id, is_mod_or_admin)) .await?; - // If a person is given, then my_vote, if None, should be 0, not null - // Necessary to differentiate between other person's votes - if my_person_id.is_some() && res.my_vote.is_none() { - res.my_vote = Some(0) - }; - Ok(res) } } @@ -877,7 +871,7 @@ mod tests { assert_eq!(1, read_post_listing.len()); assert_eq!(expected_post_listing_with_user, read_post_listing[0]); - expected_post_listing_with_user.my_vote = Some(0); + expected_post_listing_with_user.my_vote = None; assert_eq!( expected_post_listing_with_user, post_listing_single_with_person