]> Untitled Git - lemmy.git/blobdiff - crates/apub/src/activities/voting/vote.rs
add enable_federated_downvotes site option
[lemmy.git] / crates / apub / src / activities / voting / vote.rs
index ef4572986f0c3d52d15424d7f7b5356bbe72aac5..81bed456f80166f082ef9d1ecc01330c7e705a46 100644 (file)
@@ -1,7 +1,6 @@
 use crate::{
   activities::{
-    generate_activity_id,
-    verify_person_in_community,
+    generate_activity_id, verify_person_in_community,
     voting::{vote_comment, vote_post},
   },
   insert_received_activity,
@@ -63,7 +62,11 @@ impl ActivityHandler for Vote {
       .await
       .map(|l| l.enable_downvotes)
       .unwrap_or(true);
-    if self.kind == VoteType::Dislike && !enable_downvotes {
+    let enable_federated_downvotes = LocalSite::read(&mut context.pool())
+      .await
+      .map(|l| l.enable_federated_downvotes)
+      .unwrap_or(true);
+    if self.kind == VoteType::Dislike && (!enable_downvotes || !enable_federated_downvotes) {
       return Err(anyhow!("Downvotes disabled").into());
     }
     Ok(())