diff --git a/src/activity_pub/mod.rs b/src/activity_pub/mod.rs index c0bfdbbd..21c73fe9 100644 --- a/src/activity_pub/mod.rs +++ b/src/activity_pub/mod.rs @@ -1,8 +1,8 @@ use models::instance::Instance; use diesel::PgConnection; -trait Actor { - fn get_box_prefix() -> String; +pub trait Actor { + fn get_box_prefix() -> &'static str; fn get_actor_id(&self) -> String; diff --git a/src/models/blogs.rs b/src/models/blogs.rs index ea168ebf..8bf31d65 100644 --- a/src/models/blogs.rs +++ b/src/models/blogs.rs @@ -1,6 +1,8 @@ use diesel; use diesel::{QueryDsl, RunQueryDsl, ExpressionMethods, PgConnection}; use schema::blogs; +use activity_pub::Actor; +use models::instance::Instance; #[derive(Queryable, Identifiable)] pub struct Blog { @@ -56,3 +58,17 @@ impl Blog { .into_iter().nth(0) } } + +impl Actor for Blog { + fn get_box_prefix() -> &'static str { + "~" + } + + fn get_actor_id(&self) -> String { + self.actor_id.to_string() + } + + fn get_instance(&self, conn: &PgConnection) -> Instance { + Instance::get(conn, self.instance_id).unwrap() + } +}