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)
// TODO No idea why, but you can't pass context.settings() to the verify_url_function closure
// 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()
.expect("configure federation");
LocalInstance::new(

View file

@ -15,9 +15,6 @@ impl LocalUserLanguage {
) -> Result<(), Error> {
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
let lang_ids = language_ids.unwrap_or(
Language::read_all(conn)?
@ -26,15 +23,20 @@ impl LocalUserLanguage {
.collect(),
);
for l in lang_ids {
let form = LocalUserLanguageForm {
local_user_id: for_local_user_id,
language_id: l,
};
insert_into(local_user_language)
.values(form)
.get_result::<Self>(conn)?;
}
Ok(())
conn.build_transaction().read_write().run(|| {
// Clear the current user languages
delete(local_user_language.filter(local_user_id.eq(for_local_user_id))).execute(conn)?;
for l in lang_ids {
let form = LocalUserLanguageForm {
local_user_id: for_local_user_id,
language_id: l,
};
insert_into(local_user_language)
.values(form)
.get_result::<Self>(conn)?;
}
Ok(())
})
}
}