]> Untitled Git - lemmy.git/commitdiff
Fix invalid url error when removing icons. Fixes #1219
authorDessalines <tyhou13@gmx.com>
Thu, 22 Oct 2020 17:23:25 +0000 (12:23 -0500)
committerDessalines <tyhou13@gmx.com>
Thu, 22 Oct 2020 17:23:25 +0000 (12:23 -0500)
lemmy_api/src/community.rs
lemmy_api/src/lib.rs
lemmy_api/src/post.rs
lemmy_api/src/user.rs

index 8b1a43bc59de8f4acd553e568beeba742129d4e1..4149053f68457b9401b16819d3359c3aa09c70fb 100644 (file)
@@ -140,8 +140,8 @@ impl Perform for CreateCommunity {
     let icon = diesel_option_overwrite(&data.icon);
     let banner = diesel_option_overwrite(&data.banner);
 
-    check_optional_url(&data.icon)?;
-    check_optional_url(&data.banner)?;
+    check_optional_url(&icon)?;
+    check_optional_url(&banner)?;
 
     // When you create a community, make sure the user becomes a moderator and a follower
     let keypair = generate_actor_keypair()?;
@@ -240,8 +240,8 @@ impl Perform for EditCommunity {
     let icon = diesel_option_overwrite(&data.icon);
     let banner = diesel_option_overwrite(&data.banner);
 
-    check_optional_url(&data.icon)?;
-    check_optional_url(&data.banner)?;
+    check_optional_url(&icon)?;
+    check_optional_url(&banner)?;
 
     let community_form = CommunityForm {
       name: read_community.name,
index 21be1819f89f2380f7347095fb4e15e0e2e3c724..0f0367cf111e07592784d0ecc9f479fd1aa32bb1 100644 (file)
@@ -100,8 +100,8 @@ pub(in crate) async fn check_community_ban(
   }
 }
 
-pub(in crate) fn check_optional_url(item: &Option<String>) -> Result<(), LemmyError> {
-  if let Some(item) = &item {
+pub(in crate) fn check_optional_url(item: &Option<Option<String>>) -> Result<(), LemmyError> {
+  if let Some(Some(item)) = &item {
     if Url::parse(item).is_err() {
       return Err(APIError::err("invalid_url").into());
     }
index c013cbbd00bc5a673cbbe2dc79a2005364e088a1..755b98af2eaca583218d7d05577a1a178e2e766e 100644 (file)
@@ -59,7 +59,7 @@ impl Perform for CreatePost {
 
     check_community_ban(user.id, data.community_id, context.pool()).await?;
 
-    check_optional_url(&data.url)?;
+    check_optional_url(&Some(data.url.to_owned()))?;
 
     // Fetch Iframely and pictrs cached image
     let (iframely_title, iframely_description, iframely_html, pictrs_thumbnail) =
index 58d119a69ec6095ac71f9ab49130a3550f7048d1..02accc87c29810b7697eb967e4d8241f4fef5e72 100644 (file)
@@ -349,8 +349,8 @@ impl Perform for SaveUserSettings {
     let matrix_user_id = diesel_option_overwrite(&data.matrix_user_id);
 
     // Check to make sure the avatar and banners are urls
-    check_optional_url(&data.avatar)?;
-    check_optional_url(&data.banner)?;
+    check_optional_url(&avatar)?;
+    check_optional_url(&banner)?;
 
     if let Some(Some(bio)) = &bio {
       if bio.chars().count() > 300 {