From 2c3d9a230933cfea4ddd89e298724ea09b8f13f3 Mon Sep 17 00:00:00 2001 From: Bat Date: Mon, 23 Apr 2018 13:01:32 +0100 Subject: [PATCH] Implement activity_pub::Actor for models::user::User --- src/models/user.rs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/models/user.rs b/src/models/user.rs index 9f5d0f26..4d9afe1c 100644 --- a/src/models/user.rs +++ b/src/models/user.rs @@ -5,6 +5,8 @@ use diesel; use diesel::{QueryDsl, RunQueryDsl, ExpressionMethods, PgConnection}; use schema::users; use db_conn::DbConn; +use activity_pub::Actor; +use models::instance::Instance; use bcrypt; pub const AUTH_COOKIE: &'static str = "user_id"; @@ -100,3 +102,17 @@ impl<'a, 'r> FromRequest<'a, 'r> for User { .or_forward(()) } } + +impl Actor for User { + fn get_box_prefix() -> &'static str { + "@" + } + + fn get_actor_id(&self) -> String { + self.username.to_string() + } + + fn get_instance(&self, conn: &PgConnection) -> Instance { + Instance::get(conn, self.instance_id).unwrap() + } +}