feat: require verified email to publish, to prevent spam (#6777)

* feat: require verified email to create projects, collections and organizations

* fix(labrinth): fix tests

* chore: fmt

* chore: intl
This commit is contained in:
François-Xavier Talbot
2026-07-20 02:51:16 +00:00
committed by GitHub
parent c579925f03
commit 7144f08f0f
10 changed files with 99 additions and 11 deletions
+10
View File
@@ -15,6 +15,16 @@ use crate::routes::ApiError;
use futures::TryStreamExt;
use itertools::Itertools;
pub fn require_verified_email(user: &User) -> Result<(), ApiError> {
if !user.email_verified.unwrap_or(false) {
return Err(ApiError::Auth(eyre::eyre!(
"Please verify your email before publishing!"
)));
}
Ok(())
}
pub trait ValidateAuthorized {
fn validate_authorized(
&self,
+1 -1
View File
@@ -5,7 +5,7 @@ pub mod validate;
pub use checks::{
filter_enlisted_projects_ids, filter_enlisted_version_ids,
filter_visible_collections, filter_visible_project_ids,
filter_visible_projects,
filter_visible_projects, require_verified_email,
};
use serde::{Deserialize, Serialize};
pub use validate::{