]> Untitled Git - lemmy.git/blobdiff - crates/api_crud/src/community/create.rs
Making community_follower.pending column not null.
[lemmy.git] / crates / api_crud / src / community / create.rs
index 27bce73e086b11a2857a5190bd5b94d6550eac5b..451e9bfa0cbfad12b628331df20077359df44a27 100644 (file)
@@ -1,11 +1,8 @@
 use crate::PerformCrud;
 use actix_web::web::Data;
 use lemmy_api_common::{
-  blocking,
-  check_image_has_local_domain,
   community::{CommunityResponse, CreateCommunity},
-  get_local_user_view_from_jwt,
-  is_admin,
+  utils::{blocking, get_local_user_view_from_jwt, is_admin},
 };
 use lemmy_apub::{
   generate_followers_url,
@@ -17,7 +14,6 @@ use lemmy_apub::{
 };
 use lemmy_apub_lib::object_id::ObjectId;
 use lemmy_db_schema::{
-  diesel_option_overwrite_to_url,
   source::{
     community::{
       Community,
@@ -30,8 +26,9 @@ use lemmy_db_schema::{
     site::Site,
   },
   traits::{Crud, Followable, Joinable},
+  utils::diesel_option_overwrite_to_url,
 };
-use lemmy_db_views_actor::community_view::CommunityView;
+use lemmy_db_views_actor::structs::CommunityView;
 use lemmy_utils::{
   apub::generate_actor_keypair,
   utils::{check_slurs, check_slurs_opt, is_valid_actor_name},
@@ -68,8 +65,6 @@ impl PerformCrud for CreateCommunity {
     check_slurs(&data.name, &context.settings().slur_regex())?;
     check_slurs(&data.title, &context.settings().slur_regex())?;
     check_slurs_opt(&data.description, &context.settings().slur_regex())?;
-    check_image_has_local_domain(icon.as_ref().unwrap_or(&None))?;
-    check_image_has_local_domain(banner.as_ref().unwrap_or(&None))?;
 
     if !is_valid_actor_name(&data.name, context.settings().actor_name_max_length) {
       return Err(LemmyError::from_message("invalid_community_name"));
@@ -103,6 +98,7 @@ impl PerformCrud for CreateCommunity {
       followers_url: Some(generate_followers_url(&community_actor_id)?),
       inbox_url: Some(generate_inbox_url(&community_actor_id)?),
       shared_inbox_url: Some(Some(generate_shared_inbox_url(&community_actor_id)?)),
+      posting_restricted_to_mods: data.posting_restricted_to_mods,
       ..CommunityForm::default()
     };
 
@@ -127,7 +123,7 @@ impl PerformCrud for CreateCommunity {
     let community_follower_form = CommunityFollowerForm {
       community_id: inserted_community.id,
       person_id: local_user_view.person.id,
-      pending: false,
+      pending: Some(false),
     };
 
     let follow = move |conn: &'_ _| CommunityFollower::follow(conn, &community_follower_form);