]> Untitled Git - lemmy.git/blobdiff - crates/api_crud/src/site/update.rs
implement language tags for site/community in db and api (#2434)
[lemmy.git] / crates / api_crud / src / site / update.rs
index e2be3bc101d481e3c116e9d0ff8f84f13c95c896..788546eac2d22893287386b431146f851c34959d 100644 (file)
@@ -6,6 +6,7 @@ use lemmy_api_common::{
 };
 use lemmy_db_schema::{
   source::{
+    actor_language::SiteLanguage,
     local_user::LocalUser,
     site::{Site, SiteForm},
   },
@@ -35,7 +36,7 @@ impl PerformCrud for EditSite {
     // Make sure user is an admin
     is_admin(&local_user_view)?;
 
-    let local_site = blocking(context.pool(), Site::read_local_site).await??;
+    let local_site = blocking(context.pool(), Site::read_local).await??;
 
     let sidebar = diesel_option_overwrite(&data.sidebar);
     let description = diesel_option_overwrite(&data.description);
@@ -68,6 +69,14 @@ impl PerformCrud for EditSite {
       }
     }
 
+    let site_id = local_site.id;
+    if let Some(discussion_languages) = data.discussion_languages.clone() {
+      blocking(context.pool(), move |conn| {
+        SiteLanguage::update(conn, discussion_languages.clone(), site_id)
+      })
+      .await??;
+    }
+
     let site_form = SiteForm {
       name: data.name.to_owned().unwrap_or(local_site.name),
       sidebar,