mirror of
https://github.com/LemmyNet/lemmy.git
synced 2024-09-30 07:12:04 +00:00
Adding back in transaction.
This commit is contained in:
parent
763424d61e
commit
d784c17af5
2 changed files with 16 additions and 14 deletions
|
@ -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(
|
||||||
|
|
|
@ -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(())
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue