X-Git-Url: http://these/git/?a=blobdiff_plain;f=crates%2Futils%2Fsrc%2Futils%2Fvalidation.rs;h=0c955b12220d08825bf258e83c2a005a7eb67c5c;hb=92568956353f21649ed9aff68b42699c9d036f30;hp=e43ddbbb54a85f0b8789c31f6a63de14549f5b38;hpb=cdc5b478860607193942d28ba825f9bf00e05e0b;p=lemmy.git diff --git a/crates/utils/src/utils/validation.rs b/crates/utils/src/utils/validation.rs index e43ddbbb..0c955b12 100644 --- a/crates/utils/src/utils/validation.rs +++ b/crates/utils/src/utils/validation.rs @@ -1,4 +1,4 @@ -use crate::error::{LemmyError, LemmyResult}; +use crate::error::{LemmyError, LemmyErrorExt, LemmyErrorType, LemmyResult}; use itertools::Itertools; use once_cell::sync::Lazy; use regex::{Regex, RegexBuilder}; @@ -90,7 +90,7 @@ pub fn is_valid_actor_name(name: &str, actor_name_max_length: usize) -> LemmyRes && VALID_ACTOR_NAME_REGEX.is_match(name) && !has_newline(name); if !check { - Err(LemmyError::from_message("invalid_name")) + Err(LemmyErrorType::InvalidName.into()) } else { Ok(()) } @@ -104,7 +104,7 @@ pub fn is_valid_display_name(name: &str, actor_name_max_length: usize) -> LemmyR && name.chars().count() <= actor_name_max_length && !has_newline(name); if !check { - Err(LemmyError::from_message("invalid_username")) + Err(LemmyErrorType::InvalidDisplayName.into()) } else { Ok(()) } @@ -113,7 +113,7 @@ pub fn is_valid_display_name(name: &str, actor_name_max_length: usize) -> LemmyR pub fn is_valid_matrix_id(matrix_id: &str) -> LemmyResult<()> { let check = VALID_MATRIX_ID_REGEX.is_match(matrix_id) && !has_newline(matrix_id); if !check { - Err(LemmyError::from_message("invalid_matrix_id")) + Err(LemmyErrorType::InvalidMatrixId.into()) } else { Ok(()) } @@ -122,7 +122,7 @@ pub fn is_valid_matrix_id(matrix_id: &str) -> LemmyResult<()> { pub fn is_valid_post_title(title: &str) -> LemmyResult<()> { let check = VALID_POST_TITLE_REGEX.is_match(title) && !has_newline(title); if !check { - Err(LemmyError::from_message("invalid_post_title")) + Err(LemmyErrorType::InvalidPostTitle.into()) } else { Ok(()) } @@ -138,7 +138,7 @@ pub fn is_valid_body_field(body: &Option, post: bool) -> LemmyResult<()> }; if !check { - Err(LemmyError::from_message("invalid_body_field")) + Err(LemmyErrorType::InvalidBodyField.into()) } else { Ok(()) } @@ -148,7 +148,7 @@ pub fn is_valid_body_field(body: &Option, post: bool) -> LemmyResult<()> } pub fn is_valid_bio_field(bio: &str) -> LemmyResult<()> { - max_length_check(bio, BIO_MAX_LENGTH, String::from("bio_length_overflow")) + max_length_check(bio, BIO_MAX_LENGTH, LemmyErrorType::BioLengthOverflow) } /// Checks the site name length, the limit as defined in the DB. @@ -157,8 +157,8 @@ pub fn site_name_length_check(name: &str) -> LemmyResult<()> { name, SITE_NAME_MIN_LENGTH, SITE_NAME_MAX_LENGTH, - String::from("site_name_required"), - String::from("site_name_length_overflow"), + LemmyErrorType::SiteNameRequired, + LemmyErrorType::SiteNameLengthOverflow, ) } @@ -167,13 +167,13 @@ pub fn site_description_length_check(description: &str) -> LemmyResult<()> { max_length_check( description, SITE_DESCRIPTION_MAX_LENGTH, - String::from("site_description_length_overflow"), + LemmyErrorType::SiteDescriptionLengthOverflow, ) } -fn max_length_check(item: &str, max_length: usize, msg: String) -> LemmyResult<()> { +fn max_length_check(item: &str, max_length: usize, error_type: LemmyErrorType) -> LemmyResult<()> { if item.len() > max_length { - Err(LemmyError::from_message(&msg)) + Err(error_type.into()) } else { Ok(()) } @@ -183,13 +183,13 @@ fn min_max_length_check( item: &str, min_length: usize, max_length: usize, - min_msg: String, - max_msg: String, + min_msg: LemmyErrorType, + max_msg: LemmyErrorType, ) -> LemmyResult<()> { if item.len() > max_length { - Err(LemmyError::from_message(&max_msg)) + Err(max_msg.into()) } else if item.len() < min_length { - Err(LemmyError::from_message(&min_msg)) + Err(min_msg.into()) } else { Ok(()) } @@ -209,14 +209,14 @@ pub fn build_and_check_regex(regex_str_opt: &Option<&str>) -> LemmyResult