Make RemoteFatchActor follow activitystreams change
This commit is contained in:
parent
2ee19a866d
commit
00d31e323f
@ -8,7 +8,10 @@ use crate::{
|
|||||||
CONFIG,
|
CONFIG,
|
||||||
USER_CHAN,
|
USER_CHAN,
|
||||||
};
|
};
|
||||||
use activitypub::activity::Create;
|
use activitystreams::{
|
||||||
|
activity::{ActorAndObjectRef, Create},
|
||||||
|
object::{kind::ArticleType, Article},
|
||||||
|
};
|
||||||
use plume_common::activity_pub::inbox::FromId;
|
use plume_common::activity_pub::inbox::FromId;
|
||||||
use riker::actors::{Actor, ActorFactoryArgs, ActorRefFactory, Context, Sender, Subscribe, Tell};
|
use riker::actors::{Actor, ActorFactoryArgs, ActorRefFactory, Context, Sender, Subscribe, Tell};
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
@ -71,13 +74,17 @@ fn fetch_and_cache_articles(user: &Arc<User>, conn: &DbConn) {
|
|||||||
match create_acts {
|
match create_acts {
|
||||||
Ok(create_acts) => {
|
Ok(create_acts) => {
|
||||||
for create_act in create_acts {
|
for create_act in create_acts {
|
||||||
match create_act.object() {
|
let article = create_act
|
||||||
Ok(article) => {
|
.object_field_ref()
|
||||||
|
.as_one()
|
||||||
|
.and_then(|object| object.extend::<Article, ArticleType>().expect("exists"));
|
||||||
|
match article {
|
||||||
|
Some(article) => {
|
||||||
Post::from_activity(conn, article)
|
Post::from_activity(conn, article)
|
||||||
.expect("Article from remote user couldn't be saved");
|
.expect("Article from remote user couldn't be saved");
|
||||||
info!("Fetched article from remote user");
|
info!("Fetched article from remote user");
|
||||||
}
|
}
|
||||||
Err(e) => warn!("Error while fetching articles in background: {:?}", e),
|
None => warn!("No article found"),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user