Display remote profiles!

This commit is contained in:
Bat
2018-05-01 12:48:19 +01:00
parent 44473aa292
commit 8047df6848
10 changed files with 112 additions and 13 deletions
+1 -1
View File
@@ -24,7 +24,7 @@ fn create(conn: DbConn, data: Form<LoginForm>, mut cookies: Cookies) -> Result<R
let form = data.get();
let user = match User::find_by_email(&*conn, form.email_or_name.to_string()) {
Some(usr) => Ok(usr),
None => match User::find_by_name(&*conn, form.email_or_name.to_string()) {
None => match User::find_local(&*conn, form.email_or_name.to_string()) {
Some(usr) => Ok(usr),
None => Err("Invalid username or password")
}
+8 -4
View File
@@ -1,6 +1,7 @@
use rocket::request::Form;
use rocket::response::Redirect;
use rocket_contrib::Template;
use serde_json;
use std::collections::HashMap;
use activity_pub::ActivityPub;
@@ -16,13 +17,16 @@ fn me(user: User) -> String {
}
#[get("/@/<name>", rank = 2)]
fn details(name: String) -> String {
format!("Hello, @{}", name)
fn details(name: String, conn: DbConn) -> Template {
let user = User::find_by_fqn(&*conn, name).unwrap();
Template::render("users/details", json!({
"user": serde_json::to_value(user).unwrap()
}))
}
#[get("/@/<name>", format = "application/activity+json", rank = 1)]
fn activity_details(name: String, conn: DbConn) -> ActivityPub {
let user = User::find_by_name(&*conn, name).unwrap();
let user = User::find_local(&*conn, name).unwrap();
user.as_activity_pub(&*conn)
}
@@ -61,6 +65,6 @@ fn create(conn: DbConn, data: Form<NewUserForm>) -> Redirect {
#[get("/@/<name>/outbox")]
fn outbox(name: String, conn: DbConn) -> Outbox {
let user = User::find_by_name(&*conn, name).unwrap();
let user = User::find_local(&*conn, name).unwrap();
user.outbox(&*conn)
}
+1 -1
View File
@@ -37,7 +37,7 @@ fn webfinger(query: WebfingerQuery, conn: DbConn) -> Content<Result<String, &'st
let domain = Instance::get_local(&*conn).unwrap().public_domain;
if res_dom == domain {
let res = match User::find_by_name(&*conn, String::from(user)) {
let res = match User::find_local(&*conn, String::from(user)) {
Some(usr) => Ok(usr.webfinger(&*conn)),
None => match Blog::find_by_actor_id(&*conn, String::from(user)) {
Some(blog) => Ok(blog.webfinger(&*conn)),