From: Nutomic Date: Mon, 3 Jul 2023 15:59:49 +0000 (+0200) Subject: Dont compare db string errors (fixes #1393) (#3424) X-Git-Url: http://these/git/%7B%60%24%7BwebArchiveUrl%7D/%22%7B%7D/%22https:/nerdica.net/README.md?a=commitdiff_plain;h=e1494d468368c42e450cfeb71dbb194ad668f406;p=lemmy.git Dont compare db string errors (fixes #1393) (#3424) * Dont compare db string errors (fixes #1393) * cargo fmt --------- Co-authored-by: Dessalines --- diff --git a/crates/api_crud/src/post/create.rs b/crates/api_crud/src/post/create.rs index 0bbbabcb..1dcc9024 100644 --- a/crates/api_crud/src/post/create.rs +++ b/crates/api_crud/src/post/create.rs @@ -107,18 +107,9 @@ impl PerformCrud for CreatePost { .thumbnail_url(thumbnail_url) .build(); - let inserted_post = match Post::create(context.pool(), &post_form).await { - Ok(post) => post, - Err(e) => { - let err_type = if e.to_string() == "value too long for type character varying(200)" { - "post_title_too_long" - } else { - "couldnt_create_post" - }; - - return Err(LemmyError::from_error_message(e, err_type)); - } - }; + let inserted_post = Post::create(context.pool(), &post_form) + .await + .map_err(|e| LemmyError::from_error_message(e, "couldnt_create_post"))?; let inserted_post_id = inserted_post.id; let protocol_and_hostname = context.settings().get_protocol_and_hostname(); diff --git a/crates/api_crud/src/post/update.rs b/crates/api_crud/src/post/update.rs index 25334083..632bc5ae 100644 --- a/crates/api_crud/src/post/update.rs +++ b/crates/api_crud/src/post/update.rs @@ -96,16 +96,9 @@ impl PerformCrud for EditPost { .build(); let post_id = data.post_id; - let res = Post::update(context.pool(), post_id, &post_form).await; - if let Err(e) = res { - let err_type = if e.to_string() == "value too long for type character varying(200)" { - "post_title_too_long" - } else { - "couldnt_update_post" - }; - - return Err(LemmyError::from_error_message(e, err_type)); - } + Post::update(context.pool(), post_id, &post_form) + .await + .map_err(|e| LemmyError::from_error_message(e, "couldnt_create_post"))?; build_post_response( context, diff --git a/crates/utils/src/utils/validation.rs b/crates/utils/src/utils/validation.rs index 7e09c5af..347d791a 100644 --- a/crates/utils/src/utils/validation.rs +++ b/crates/utils/src/utils/validation.rs @@ -8,7 +8,7 @@ use url::Url; static VALID_ACTOR_NAME_REGEX: Lazy = Lazy::new(|| Regex::new(r"^[a-zA-Z0-9_]{3,}$").expect("compile regex")); static VALID_POST_TITLE_REGEX: Lazy = - Lazy::new(|| Regex::new(r".*\S{3,}.*").expect("compile regex")); + Lazy::new(|| Regex::new(r".*\S{3,200}.*").expect("compile regex")); static VALID_MATRIX_ID_REGEX: Lazy = Lazy::new(|| { Regex::new(r"^@[A-Za-z0-9._=-]+:[A-Za-z0-9.-]+\.[A-Za-z]{2,}$").expect("compile regex") });