mirror of
https://github.com/LemmyNet/lemmy.git
synced 2024-11-25 13:51:19 +00:00
Revert "Fixing bug where comment replies wouldn't be sent to blocked instances."
This reverts commit 1349aa351a
.
This commit is contained in:
parent
38cf4e1091
commit
8e8a48e229
2 changed files with 25 additions and 5 deletions
|
@ -4,7 +4,7 @@ use crate::{
|
|||
context::LemmyContext,
|
||||
post::PostResponse,
|
||||
utils::{
|
||||
check_person_community_block,
|
||||
check_person_instance_community_block,
|
||||
get_interface_language,
|
||||
is_mod_or_admin,
|
||||
send_email_to_user,
|
||||
|
@ -149,9 +149,10 @@ pub async fn send_local_notifs(
|
|||
// Get the parent commenter local_user
|
||||
let parent_creator_id = parent_comment.creator_id;
|
||||
|
||||
let check_blocks = check_person_community_block(
|
||||
let check_blocks = check_person_instance_community_block(
|
||||
person.id,
|
||||
parent_creator_id,
|
||||
person.instance_id,
|
||||
community_id,
|
||||
&mut context.pool(),
|
||||
)
|
||||
|
@ -193,9 +194,10 @@ pub async fn send_local_notifs(
|
|||
}
|
||||
}
|
||||
} else {
|
||||
let check_blocks = check_person_community_block(
|
||||
let check_blocks = check_person_instance_community_block(
|
||||
person.id,
|
||||
post.creator_id,
|
||||
person.instance_id,
|
||||
community_id,
|
||||
&mut context.pool(),
|
||||
)
|
||||
|
|
|
@ -6,7 +6,7 @@ use crate::{
|
|||
use chrono::{DateTime, Days, Local, TimeZone, Utc};
|
||||
use enum_map::{enum_map, EnumMap};
|
||||
use lemmy_db_schema::{
|
||||
newtypes::{CommunityId, DbUrl, PersonId, PostId},
|
||||
newtypes::{CommunityId, DbUrl, InstanceId, PersonId, PostId},
|
||||
source::{
|
||||
comment::{Comment, CommentUpdateForm},
|
||||
community::{Community, CommunityModerator, CommunityUpdateForm},
|
||||
|
@ -14,6 +14,7 @@ use lemmy_db_schema::{
|
|||
email_verification::{EmailVerification, EmailVerificationForm},
|
||||
images::{LocalImage, RemoteImage},
|
||||
instance::Instance,
|
||||
instance_block::InstanceBlock,
|
||||
local_site::LocalSite,
|
||||
local_site_rate_limit::LocalSiteRateLimit,
|
||||
local_site_url_blocklist::LocalSiteUrlBlocklist,
|
||||
|
@ -275,14 +276,31 @@ async fn check_community_block(
|
|||
}
|
||||
}
|
||||
|
||||
/// Throws an error if a recipient has blocked an instance.
|
||||
#[tracing::instrument(skip_all)]
|
||||
pub async fn check_person_community_block(
|
||||
async fn check_instance_block(
|
||||
instance_id: InstanceId,
|
||||
person_id: PersonId,
|
||||
pool: &mut DbPool<'_>,
|
||||
) -> Result<(), LemmyError> {
|
||||
let is_blocked = InstanceBlock::read(pool, person_id, instance_id).await?;
|
||||
if is_blocked {
|
||||
Err(LemmyErrorType::InstanceIsBlocked)?
|
||||
} else {
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
|
||||
#[tracing::instrument(skip_all)]
|
||||
pub async fn check_person_instance_community_block(
|
||||
my_id: PersonId,
|
||||
potential_blocker_id: PersonId,
|
||||
instance_id: InstanceId,
|
||||
community_id: CommunityId,
|
||||
pool: &mut DbPool<'_>,
|
||||
) -> Result<(), LemmyError> {
|
||||
check_person_block(my_id, potential_blocker_id, pool).await?;
|
||||
check_instance_block(instance_id, potential_blocker_id, pool).await?;
|
||||
check_community_block(community_id, potential_blocker_id, pool).await?;
|
||||
Ok(())
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue