mirror of
https://github.com/LemmyNet/lemmy.git
synced 2024-06-01 18:32:29 +00:00
Dont allow blocking local instance (fixes #4241)
This commit is contained in:
parent
a5386187e3
commit
a21027dee2
|
@ -8,7 +8,7 @@ use lemmy_db_schema::{
|
|||
source::instance_block::{InstanceBlock, InstanceBlockForm},
|
||||
traits::Blockable,
|
||||
};
|
||||
use lemmy_db_views::structs::LocalUserView;
|
||||
use lemmy_db_views::structs::{LocalUserView, SiteView};
|
||||
use lemmy_utils::error::{LemmyError, LemmyErrorExt, LemmyErrorType};
|
||||
|
||||
#[tracing::instrument(skip(context))]
|
||||
|
@ -19,6 +19,11 @@ pub async fn block_instance(
|
|||
) -> Result<Json<BlockInstanceResponse>, LemmyError> {
|
||||
let instance_id = data.instance_id;
|
||||
let person_id = local_user_view.person.id;
|
||||
let local_site = SiteView::read_local(&mut context.pool()).await?;
|
||||
if local_site.site.instance_id == instance_id {
|
||||
return Err(LemmyErrorType::CantBlockLocalInstance)?;
|
||||
}
|
||||
|
||||
let instance_block_form = InstanceBlockForm {
|
||||
person_id,
|
||||
instance_id,
|
||||
|
|
|
@ -227,6 +227,7 @@ pub enum LemmyErrorType {
|
|||
BanExpirationInPast,
|
||||
InvalidUnixTime,
|
||||
InvalidBotAction,
|
||||
CantBlockLocalInstance,
|
||||
Unknown(String),
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue