]> Untitled Git - lemmy.git/blobdiff - crates/api_crud/src/user/create.rs
Tag posts and comments with language (fixes #440) (#2269)
[lemmy.git] / crates / api_crud / src / user / create.rs
index ee26509b1a3506c349ff8611aaa0d18fa08efb40..9fc4fe5b111c3cc86b42d1f1fd9c8996a1363617 100644 (file)
@@ -15,6 +15,7 @@ use lemmy_db_schema::{
   aggregates::structs::PersonAggregates,
   source::{
     local_user::{LocalUser, LocalUserForm},
+    local_user_language::LocalUserLanguage,
     person::{Person, PersonForm},
     registration_application::{RegistrationApplication, RegistrationApplicationForm},
     site::Site,
@@ -118,7 +119,7 @@ impl PerformCrud for Register {
       name: data.username.to_owned(),
       actor_id: Some(actor_id.clone()),
       private_key: Some(Some(actor_keypair.private_key)),
-      public_key: actor_keypair.public_key,
+      public_key: Some(actor_keypair.public_key),
       inbox_url: Some(generate_inbox_url(&actor_id)?),
       shared_inbox_url: Some(Some(generate_shared_inbox_url(&actor_id)?)),
       admin: Some(no_admins),
@@ -167,10 +168,17 @@ impl PerformCrud for Register {
       }
     };
 
+    // Update the users languages to all by default
+    let local_user_id = inserted_local_user.id;
+    blocking(context.pool(), move |conn| {
+      LocalUserLanguage::update_user_languages(conn, None, local_user_id)
+    })
+    .await??;
+
     if require_application {
       // Create the registration application
       let form = RegistrationApplicationForm {
-        local_user_id: Some(inserted_local_user.id),
+        local_user_id: Some(local_user_id),
         // We already made sure answer was not null above
         answer: data.answer.to_owned(),
         ..RegistrationApplicationForm::default()
@@ -211,13 +219,8 @@ impl PerformCrud for Register {
           .email
           .clone()
           .expect("email was provided");
-        send_verification_email(
-          &local_user_view,
-          &email,
-          context.pool(),
-          &context.settings(),
-        )
-        .await?;
+        send_verification_email(&local_user_view, &email, context.pool(), context.settings())
+          .await?;
         login_response.verify_email_sent = true;
       }