]> Untitled Git - lemmy.git/blobdiff - crates/api_crud/src/site/read.rs
Add site option for default theme (#2104)
[lemmy.git] / crates / api_crud / src / site / read.rs
index 4410d66ad555db0aae9ee0c5765762cb4017b7bf..d214f7b6e041390102d2f34d175a2402a765a2bc 100644 (file)
@@ -45,8 +45,13 @@ impl PerformCrud for GetSite {
             captcha_uuid: None,
             captcha_answer: None,
             honeypot: None,
+            answer: None,
           };
-          let login_response = register.perform(context, websocket_id).await?;
+          let admin_jwt = register
+            .perform(context, websocket_id)
+            .await?
+            .jwt
+            .expect("jwt is returned from registration on newly created site");
           info!("Admin {} created", setup.admin_username);
 
           let create_site = CreateSite {
@@ -59,7 +64,12 @@ impl PerformCrud for GetSite {
             open_registration: setup.open_registration,
             enable_nsfw: setup.enable_nsfw,
             community_creation_admin_only: setup.community_creation_admin_only,
-            auth: login_response.jwt,
+            require_email_verification: setup.require_email_verification,
+            require_application: setup.require_application,
+            application_question: setup.application_question.to_owned(),
+            private_instance: setup.private_instance,
+            default_theme: setup.default_theme.to_owned(),
+            auth: admin_jwt,
           };
           create_site.perform(context, websocket_id).await?;
           info!("Site {} created", setup.site_name);
@@ -70,20 +80,7 @@ impl PerformCrud for GetSite {
       }
     };
 
-    let mut admins = blocking(context.pool(), PersonViewSafe::admins).await??;
-
-    // Make sure the site creator is the top admin
-    if let Some(site_view) = site_view.to_owned() {
-      let site_creator_id = site_view.creator.id;
-      // TODO investigate why this is sometimes coming back null
-      // Maybe user_.admin isn't being set to true?
-      if let Some(creator_index) = admins.iter().position(|r| r.person.id == site_creator_id) {
-        let creator_person = admins.remove(creator_index);
-        admins.insert(0, creator_person);
-      }
-    }
-
-    let banned = blocking(context.pool(), PersonViewSafe::banned).await??;
+    let admins = blocking(context.pool(), PersonViewSafe::admins).await??;
 
     let online = context
       .chat_server()
@@ -151,7 +148,6 @@ impl PerformCrud for GetSite {
     Ok(GetSiteResponse {
       site_view,
       admins,
-      banned,
       online,
       version: version::VERSION.to_string(),
       my_user,