Adding back in transaction.

This commit is contained in:
Dessalines 2022-08-17 17:05:07 -04:00
parent 763424d61e
commit d784c17af5
2 changed files with 16 additions and 14 deletions

View file

@ -40,7 +40,7 @@ fn local_instance(context: &LemmyContext) -> &'static LocalInstance {
.debug(context.settings().federation.debug) .debug(context.settings().federation.debug)
// TODO No idea why, but you can't pass context.settings() to the verify_url_function closure // TODO No idea why, but you can't pass context.settings() to the verify_url_function closure
// without the value getting captured. // without the value getting captured.
.verify_url_function(|url| check_apub_id_valid(url, &SETTINGS.to_owned())) .verify_url_function(|url| check_apub_id_valid(url, &SETTINGS))
.build() .build()
.expect("configure federation"); .expect("configure federation");
LocalInstance::new( LocalInstance::new(

View file

@ -15,9 +15,6 @@ impl LocalUserLanguage {
) -> Result<(), Error> { ) -> Result<(), Error> {
use crate::schema::local_user_language::dsl::*; use crate::schema::local_user_language::dsl::*;
// Clear the current user languages
delete(local_user_language.filter(local_user_id.eq(for_local_user_id))).execute(conn)?;
// If no language is given, read all languages // If no language is given, read all languages
let lang_ids = language_ids.unwrap_or( let lang_ids = language_ids.unwrap_or(
Language::read_all(conn)? Language::read_all(conn)?
@ -26,15 +23,20 @@ impl LocalUserLanguage {
.collect(), .collect(),
); );
for l in lang_ids { conn.build_transaction().read_write().run(|| {
let form = LocalUserLanguageForm { // Clear the current user languages
local_user_id: for_local_user_id, delete(local_user_language.filter(local_user_id.eq(for_local_user_id))).execute(conn)?;
language_id: l,
}; for l in lang_ids {
insert_into(local_user_language) let form = LocalUserLanguageForm {
.values(form) local_user_id: for_local_user_id,
.get_result::<Self>(conn)?; language_id: l,
} };
Ok(()) insert_into(local_user_language)
.values(form)
.get_result::<Self>(conn)?;
}
Ok(())
})
} }
} }