mirror of
https://github.com/LemmyNet/lemmy.git
synced 2024-11-22 22:49:18 +00:00
This commit is contained in:
parent
71237f1b53
commit
f8fb3b41f0
|
@ -13,6 +13,7 @@ use crate::{
|
||||||
PostOrComment,
|
PostOrComment,
|
||||||
};
|
};
|
||||||
use activitystreams_kinds::public;
|
use activitystreams_kinds::public;
|
||||||
|
use anyhow::anyhow;
|
||||||
use lemmy_api_common::blocking;
|
use lemmy_api_common::blocking;
|
||||||
use lemmy_apub_lib::{
|
use lemmy_apub_lib::{
|
||||||
data::Data,
|
data::Data,
|
||||||
|
@ -21,7 +22,7 @@ use lemmy_apub_lib::{
|
||||||
};
|
};
|
||||||
use lemmy_db_schema::{
|
use lemmy_db_schema::{
|
||||||
newtypes::CommunityId,
|
newtypes::CommunityId,
|
||||||
source::{community::Community, post::Post},
|
source::{community::Community, post::Post, site::Site},
|
||||||
traits::Crud,
|
traits::Crud,
|
||||||
};
|
};
|
||||||
use lemmy_utils::LemmyError;
|
use lemmy_utils::LemmyError;
|
||||||
|
@ -81,6 +82,10 @@ impl ActivityHandler for Vote {
|
||||||
verify_activity(&self.id, self.actor.inner(), &context.settings())?;
|
verify_activity(&self.id, self.actor.inner(), &context.settings())?;
|
||||||
let community = self.get_community(context, request_counter).await?;
|
let community = self.get_community(context, request_counter).await?;
|
||||||
verify_person_in_community(&self.actor, &community, context, request_counter).await?;
|
verify_person_in_community(&self.actor, &community, context, request_counter).await?;
|
||||||
|
let site = blocking(context.pool(), Site::read_local_site).await??;
|
||||||
|
if self.kind == VoteType::Dislike && !site.enable_downvotes {
|
||||||
|
return Err(anyhow!("Downvotes disabled").into());
|
||||||
|
}
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -27,7 +27,7 @@ pub struct Vote {
|
||||||
pub(crate) unparsed: Unparsed,
|
pub(crate) unparsed: Unparsed,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Clone, Debug, Display, Deserialize, Serialize)]
|
#[derive(Clone, Debug, Display, Deserialize, Serialize, PartialEq)]
|
||||||
pub enum VoteType {
|
pub enum VoteType {
|
||||||
Like,
|
Like,
|
||||||
Dislike,
|
Dislike,
|
||||||
|
|
Loading…
Reference in a new issue