chore(moderation): remove the built-in NCMEC integration (#3332)

This commit is contained in:
Hampus authored and GitHub committed 2026-10-09 01:39:04 +02:00
1 parent f390e610b9
commit 454fefdb92
146 files changed
+234 -4075

No files matched your search

+2 -46
View File
@@ -8,7 +8,6 @@ use crate::{
flash::{self, FlashData},
},
state::AppState,
templates::components::message_list::MessageActions,
utils::forms::MultiValueForm,
};
use axum::{
@@ -106,45 +105,6 @@ pub(crate) async fn messages_post(
Err(e) => json_error(StatusCode::BAD_REQUEST, &format!("{e}")),
}
}
"report-to-ncmec" => {
let attachment_id = form.clean("attachment_id");
let filename = form.clean("filename");
let reporter_full_name = form.clean("reporter_full_name");
let source_report_id = form.clean("source_report_id");
let confirmed_viewed = form.bool_value("confirmed_viewed");
let (Some(cid), Some(mid), Some(aid), Some(name), Some(reporter)) = (
&channel_id,
&message_id,
&attachment_id,
&filename,
&reporter_full_name,
) else {
return json_error(
StatusCode::BAD_REQUEST,
"Missing required NCMEC report fields",
);
};
if !confirmed_viewed {
return json_error(
StatusCode::BAD_REQUEST,
"Missing required NCMEC report fields",
);
}
match client
.report_attachment_to_ncmec(
cid,
mid,
aid,
name,
reporter,
source_report_id.as_deref(),
)
.await
{
Ok(resp) => Json(resp.data).into_response(),
Err(e) => json_error(StatusCode::BAD_REQUEST, &format!("{e}")),
}
}
_ => Redirect::to(&format!("{base}/messages")).into_response(),
}
}
@@ -322,11 +282,7 @@ pub(crate) async fn messages_browse_fragment(
.as_ref()
.map(|user| user.acls.as_slice())
.unwrap_or(&[]);
let actions = MessageActions {
delete: acl::has_permission(admin_acls, acl::MESSAGE_DELETE),
ncmec: acl::has_all_permissions(admin_acls, acl::NCMEC_ATTACHMENT_REPORT),
source_report_id: None,
};
let can_delete = acl::has_permission(admin_acls, acl::MESSAGE_DELETE);
let client = AdminApiClient::new(state.http_client(), config, &auth.0.session);
let result = client
.browse_channel(
@@ -339,7 +295,7 @@ pub(crate) async fn messages_browse_fragment(
match result {
Ok(resp) => {
let markup = crate::templates::pages::messages_page::browse_messages_fragment(
config, &resp.data, actions, None,
config, &resp.data, can_delete, None,
);
Html(markup.into_string()).into_response()
}
-2
View File
@@ -73,7 +73,6 @@ async fn messages_page(
.unwrap_or(&[]);
let can_lookup = acl::has_permission(admin_acls, acl::MESSAGE_LOOKUP);
let can_delete = acl::has_permission(admin_acls, acl::MESSAGE_DELETE);
let can_report_ncmec = acl::has_all_permissions(admin_acls, acl::NCMEC_ATTACHMENT_REPORT);
let client = AdminApiClient::new(state.http_client(), config, &auth.0.session);
let channel_id = query.channel_id.as_deref().filter(|s| !s.is_empty());
let message_id = query.message_id.as_deref().filter(|s| !s.is_empty());
@@ -138,7 +137,6 @@ async fn messages_page(
prefill_channel_id: channel_id,
can_lookup,
can_delete,
can_report_ncmec,
lookup_result: lookup_result.as_ref(),
browse_result: browse_result.as_ref(),
search_result: search_result.as_ref(),