This commit is contained in:
Felix Ableitner 2023-11-28 11:21:52 +01:00
parent 75f2530689
commit 201bba2d4b
4 changed files with 9 additions and 9 deletions

View File

@ -94,7 +94,7 @@ async fn edit_article(
// resolve conflict if any
if let Some(resolve_conflict_id) = &edit_form.resolve_conflict_id {
let mut lock = data.conflicts.lock().unwrap();
if lock.iter().find(|c| &c.id == resolve_conflict_id).is_none() {
if !lock.iter().any(|c| &c.id == resolve_conflict_id) {
return Err(anyhow!("invalid resolve conflict"))?;
}
lock.retain(|c| &c.id != resolve_conflict_id);
@ -132,7 +132,7 @@ async fn edit_article(
};
let mut lock = data.conflicts.lock().unwrap();
lock.push(conflict.clone());
return Ok(Json(Some(conflict)));
Ok(Json(Some(conflict)))
}
}
}
@ -142,7 +142,7 @@ async fn submit_article_update(
edit_form: &EditArticleData,
original_article: &DbArticle,
) -> Result<(), Error> {
let edit = DbEdit::new(&original_article, &edit_form.new_text)?;
let edit = DbEdit::new(original_article, &edit_form.new_text)?;
if original_article.local {
let updated_article = {
let mut lock = data.articles.lock().unwrap();
@ -153,12 +153,12 @@ async fn submit_article_update(
article.clone()
};
UpdateLocalArticle::send(updated_article, &data).await?;
UpdateLocalArticle::send(updated_article, data).await?;
} else {
UpdateRemoteArticle::send(
edit,
original_article.instance.dereference(&data).await?,
&data,
original_article.instance.dereference(data).await?,
data,
)
.await?;
}

View File

@ -1,6 +1,6 @@
use crate::api::Conflict;
use crate::federation::objects::article::DbArticle;
use crate::federation::objects::edit::ApubEdit;
use crate::federation::objects::instance::DbInstance;
use std::collections::HashMap;
use std::sync::{Arc, Mutex};

View File

@ -65,7 +65,7 @@ impl ActivityHandler for RejectEdit {
async fn receive(self, data: &Data<Self::DataType>) -> Result<(), Self::Error> {
// cant convert this to DbEdit as it tries to apply patch and fails
let mut lock = data.conflicts.lock().unwrap();
let lock = data.conflicts.lock().unwrap();
todo!();
//lock.push(self.object);
Ok(())

View File

@ -29,7 +29,7 @@ pub fn generate_article_version(
if let Some(version) = version {
let exists = edits.iter().any(|e| &e.version == version);
if !exists {
return Err(anyhow!("Attempting to generate invalid article version"))?;
Err(anyhow!("Attempting to generate invalid article version"))?;
}
}
for e in edits {