]> Untitled Git - lemmy.git/blobdiff - crates/api_crud/src/site/create.rs
implement language tags for site/community in db and api (#2434)
[lemmy.git] / crates / api_crud / src / site / create.rs
index 49550d66823c6964332516f20d7a0fdbf39123d9..8bcdda4617ab96553e2a84886719ca4fce8a1eb5 100644 (file)
@@ -1,4 +1,5 @@
 use crate::PerformCrud;
+use activitypub_federation::core::signatures::generate_actor_keypair;
 use actix_web::web::Data;
 use lemmy_api_common::{
   site::{CreateSite, SiteResponse},
@@ -13,11 +14,9 @@ use lemmy_db_schema::{
 };
 use lemmy_db_views::structs::SiteView;
 use lemmy_utils::{
-  apub::generate_actor_keypair,
-  settings::structs::Settings,
+  error::LemmyError,
   utils::{check_slurs, check_slurs_opt},
   ConnectionId,
-  LemmyError,
 };
 use lemmy_websocket::LemmyContext;
 use url::Url;
@@ -34,7 +33,7 @@ impl PerformCrud for CreateSite {
   ) -> Result<SiteResponse, LemmyError> {
     let data: &CreateSite = self;
 
-    let read_site = Site::read_local_site;
+    let read_site = Site::read_local;
     if blocking(context.pool(), read_site).await?.is_ok() {
       return Err(LemmyError::from_message("site_already_exists"));
     };
@@ -57,7 +56,7 @@ impl PerformCrud for CreateSite {
       site_description_length_check(desc)?;
     }
 
-    let actor_id: DbUrl = Url::parse(&Settings::get().get_protocol_and_hostname())?.into();
+    let actor_id: DbUrl = Url::parse(&context.settings().get_protocol_and_hostname())?.into();
     let inbox_url = Some(generate_site_inbox_url(&actor_id)?);
     let keypair = generate_actor_keypair()?;
     let site_form = SiteForm {
@@ -77,10 +76,12 @@ impl PerformCrud for CreateSite {
       public_key: Some(keypair.public_key),
       default_theme: data.default_theme.clone(),
       default_post_listing_type: data.default_post_listing_type.clone(),
+      application_email_admins: data.application_email_admins,
+      hide_modlog_mod_names: data.hide_modlog_mod_names,
       ..SiteForm::default()
     };
 
-    let create_site = move |conn: &'_ _| Site::create(conn, &site_form);
+    let create_site = move |conn: &mut _| Site::create(conn, &site_form);
     blocking(context.pool(), create_site)
       .await?
       .map_err(|e| LemmyError::from_error_message(e, "site_already_exists"))?;