mirror of
https://github.com/versia-pub/activitypub.git
synced 2025-12-06 14:48:19 +01:00
fix: Refactor lysand note handling in conversion.rs
This commit is contained in:
parent
e8d716c7a5
commit
da40e5b5e6
|
|
@ -35,9 +35,8 @@ pub async fn db_post_from_url(url: Url) -> anyhow::Result<entities::post::Model>
|
||||||
Ok(post)
|
Ok(post)
|
||||||
} else {
|
} else {
|
||||||
let post = fetch_note_from_url(url.clone()).await?;
|
let post = fetch_note_from_url(url.clone()).await?;
|
||||||
receive_lysand_note(post, "https://ap.lysand.org/example".to_string()).await?;
|
let res = receive_lysand_note(post, "https://ap.lysand.org/example".to_string()).await?;
|
||||||
let post_res: Option<post::Model> = prelude::Post::find().filter(entities::post::Column::Url.eq(str_url)).one(DB.get().unwrap()).await?;
|
Ok(res)
|
||||||
Ok(post_res.unwrap())
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -82,7 +81,7 @@ pub async fn fetch_note_from_url(url: Url) -> anyhow::Result<super::objects::Not
|
||||||
Ok(request.json::<super::objects::Note>().await?)
|
Ok(request.json::<super::objects::Note>().await?)
|
||||||
}
|
}
|
||||||
#[async_recursion]
|
#[async_recursion]
|
||||||
pub async fn receive_lysand_note(note: Note, db_id: String) -> anyhow::Result<crate::objects::post::Note> {
|
pub async fn receive_lysand_note(note: Note, db_id: String) -> anyhow::Result<entities::post::Model> {
|
||||||
let lysand_author: entities::user::Model = db_user_from_url(note.author.clone()).await?;
|
let lysand_author: entities::user::Model = db_user_from_url(note.author.clone()).await?;
|
||||||
let user_res = prelude::User::find_by_id(db_id).one(DB.get().unwrap()).await;
|
let user_res = prelude::User::find_by_id(db_id).one(DB.get().unwrap()).await;
|
||||||
if user_res.is_err() {
|
if user_res.is_err() {
|
||||||
|
|
@ -195,8 +194,8 @@ pub async fn receive_lysand_note(note: Note, db_id: String) -> anyhow::Result<cr
|
||||||
spoiler_text: Set(note.subject),
|
spoiler_text: Set(note.subject),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
};
|
};
|
||||||
post.insert(DB.get().unwrap()).await?;
|
let res = post.insert(DB.get().unwrap()).await?;
|
||||||
Ok(ap_note)
|
Ok(res)
|
||||||
} else {
|
} else {
|
||||||
Err(anyhow!("User not found"))
|
Err(anyhow!("User not found"))
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue