* Cleaning optional post bodies. Fixes #2039 * Only trim once. * Using .map() instead.
This commit is contained in:
parent
a212f6b780
commit
19ccaf767c
3 changed files with 14 additions and 4 deletions
|
@ -26,7 +26,13 @@ use lemmy_db_schema::{
|
||||||
};
|
};
|
||||||
use lemmy_utils::{
|
use lemmy_utils::{
|
||||||
request::fetch_site_data,
|
request::fetch_site_data,
|
||||||
utils::{check_slurs, check_slurs_opt, clean_url_params, is_valid_post_title},
|
utils::{
|
||||||
|
check_slurs,
|
||||||
|
check_slurs_opt,
|
||||||
|
clean_optional_text,
|
||||||
|
clean_url_params,
|
||||||
|
is_valid_post_title,
|
||||||
|
},
|
||||||
ConnectionId,
|
ConnectionId,
|
||||||
LemmyError,
|
LemmyError,
|
||||||
};
|
};
|
||||||
|
@ -72,7 +78,7 @@ impl PerformCrud for CreatePost {
|
||||||
let post_form = PostForm {
|
let post_form = PostForm {
|
||||||
name: data.name.trim().to_owned(),
|
name: data.name.trim().to_owned(),
|
||||||
url: data_url.map(|u| clean_url_params(u.to_owned()).into()),
|
url: data_url.map(|u| clean_url_params(u.to_owned()).into()),
|
||||||
body: data.body.to_owned(),
|
body: clean_optional_text(&data.body),
|
||||||
community_id: data.community_id,
|
community_id: data.community_id,
|
||||||
creator_id: local_user_view.person.id,
|
creator_id: local_user_view.person.id,
|
||||||
nsfw: data.nsfw,
|
nsfw: data.nsfw,
|
||||||
|
|
|
@ -18,7 +18,7 @@ use lemmy_db_schema::{
|
||||||
};
|
};
|
||||||
use lemmy_utils::{
|
use lemmy_utils::{
|
||||||
request::fetch_site_data,
|
request::fetch_site_data,
|
||||||
utils::{check_slurs_opt, clean_url_params, is_valid_post_title},
|
utils::{check_slurs_opt, clean_optional_text, clean_url_params, is_valid_post_title},
|
||||||
ConnectionId,
|
ConnectionId,
|
||||||
LemmyError,
|
LemmyError,
|
||||||
};
|
};
|
||||||
|
@ -79,7 +79,7 @@ impl PerformCrud for EditPost {
|
||||||
community_id: orig_post.community_id,
|
community_id: orig_post.community_id,
|
||||||
name: data.name.to_owned().unwrap_or(orig_post.name),
|
name: data.name.to_owned().unwrap_or(orig_post.name),
|
||||||
url: data_url.map(|u| clean_url_params(u.to_owned()).into()),
|
url: data_url.map(|u| clean_url_params(u.to_owned()).into()),
|
||||||
body: data.body.to_owned(),
|
body: clean_optional_text(&data.body),
|
||||||
nsfw: data.nsfw,
|
nsfw: data.nsfw,
|
||||||
updated: Some(naive_now()),
|
updated: Some(naive_now()),
|
||||||
embed_title,
|
embed_title,
|
||||||
|
|
|
@ -175,6 +175,10 @@ pub fn clean_url_params(mut url: Url) -> Url {
|
||||||
url
|
url
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn clean_optional_text(text: &Option<String>) -> Option<String> {
|
||||||
|
text.as_ref().map(|t| t.trim().to_string())
|
||||||
|
}
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use crate::utils::{clean_url_params, is_valid_post_title};
|
use crate::utils::{clean_url_params, is_valid_post_title};
|
||||||
|
|
Loading…
Reference in a new issue