Start refactoring activities

This commit is contained in:
Bat
2018-05-02 21:44:03 +01:00
parent 58fad0d414
commit afe98ab1c3
9 changed files with 153 additions and 71 deletions
+2 -1
View File
@@ -4,6 +4,7 @@ use rocket_contrib::Template;
use std::collections::HashMap;
use activity_pub::ActivityPub;
use activity_pub::activity::Activity;
use activity_pub::actor::Actor;
use activity_pub::outbox::Outbox;
use db_conn::DbConn;
@@ -57,7 +58,7 @@ fn create(conn: DbConn, data: Form<NewBlogForm>, user: User) -> Redirect {
}
#[get("/~/<name>/outbox")]
fn outbox(name: String, conn: DbConn) -> Outbox {
fn outbox<A: Activity + Clone + 'static>(name: String, conn: DbConn) -> Outbox<A> {
let blog = Blog::find_by_actor_id(&*conn, name).unwrap();
blog.outbox(&*conn)
}
+2 -2
View File
@@ -4,7 +4,7 @@ use rocket::response::Redirect;
use rocket_contrib::Template;
use std::collections::HashMap;
use activity_pub::activity::Activity;
use activity_pub::activity::Create;
use activity_pub::outbox::broadcast;
use db_conn::DbConn;
use models::blogs::*;
@@ -55,7 +55,7 @@ fn create(blog_name: String, data: Form<NewPostForm>, user: User, conn: DbConn)
author_id: user.id
});
let act = Activity::create(&user, post, &*conn);
let act = Create::new(&user, &post, &*conn);
broadcast(&*conn, act, user.get_followers(&*conn));
Redirect::to(format!("/~/{}/{}", blog_name, slug).as_str())
+2 -2
View File
@@ -5,7 +5,7 @@ use serde_json;
use std::collections::HashMap;
use activity_pub::ActivityPub;
use activity_pub::activity::Activity;
use activity_pub::activity;
use activity_pub::actor::Actor;
use activity_pub::inbox::Inbox;
use activity_pub::outbox::Outbox;
@@ -34,7 +34,7 @@ fn follow(name: String, conn: DbConn, user: User) -> Redirect {
follower_id: user.id,
following_id: target.id
});
target.send_to_inbox(&*conn, Activity::follow(&user, &target, &*conn));
target.send_to_inbox(&*conn, activity::Follow::new(&user, &target, &*conn));
Redirect::to(format!("/@/{}", name).as_ref())
}