Use more env vars for config
It will make it easier to test federation
This commit is contained in:
+1
-2
@@ -36,7 +36,6 @@ struct NewBlogForm {
|
||||
|
||||
#[post("/blogs/new", data = "<data>")]
|
||||
fn create(conn: DbConn, data: Form<NewBlogForm>, user: User) -> Redirect {
|
||||
let inst = Instance::get_local(&*conn).unwrap();
|
||||
let form = data.get();
|
||||
let slug = utils::make_actor_id(form.title.to_string());
|
||||
|
||||
@@ -44,7 +43,7 @@ fn create(conn: DbConn, data: Form<NewBlogForm>, user: User) -> Redirect {
|
||||
slug.to_string(),
|
||||
form.title.to_string(),
|
||||
String::from(""),
|
||||
inst.id
|
||||
Instance::local_id(&*conn)
|
||||
));
|
||||
blog.update_boxes(&*conn);
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@ use rocket::response::Redirect;
|
||||
use rocket_contrib::Template;
|
||||
use std::collections::HashMap;
|
||||
|
||||
use BASE_URL;
|
||||
use db_conn::DbConn;
|
||||
use models::instance::*;
|
||||
|
||||
@@ -25,8 +26,6 @@ fn configure() -> Template {
|
||||
|
||||
#[derive(FromForm)]
|
||||
struct NewInstanceForm {
|
||||
local_domain: String,
|
||||
public_domain: String,
|
||||
name: String
|
||||
}
|
||||
|
||||
@@ -35,8 +34,7 @@ fn post_config(conn: DbConn, data: Form<NewInstanceForm>) -> Redirect {
|
||||
let form = data.get();
|
||||
let inst = Instance::insert(
|
||||
&*conn,
|
||||
form.local_domain.to_string(),
|
||||
form.public_domain.to_string(),
|
||||
BASE_URL.as_str().to_string(),
|
||||
form.name.to_string(),
|
||||
true);
|
||||
if inst.has_admin(&*conn) {
|
||||
|
||||
@@ -1,21 +1,20 @@
|
||||
use rocket::http::ContentType;
|
||||
use rocket::response::Content;
|
||||
|
||||
use BASE_URL;
|
||||
use activity_pub::webfinger::Webfinger;
|
||||
use db_conn::DbConn;
|
||||
use models::blogs::Blog;
|
||||
use models::instance::Instance;
|
||||
use models::users::User;
|
||||
|
||||
#[get("/.well-known/host-meta", format = "application/xml")]
|
||||
fn host_meta(conn: DbConn) -> String {
|
||||
let domain = Instance::get_local(&*conn).unwrap().public_domain;
|
||||
fn host_meta() -> String {
|
||||
format!(r#"
|
||||
<?xml version="1.0"?>
|
||||
<XRD xmlns="http://docs.oasis-open.org/ns/xri/xrd-1.0">
|
||||
<Link rel="lrdd" type="application/xrd+xml" template="https://{domain}/.well-known/webfinger?resource={{uri}}"/>
|
||||
</XRD>
|
||||
"#, domain = domain)
|
||||
"#, domain = BASE_URL.as_str())
|
||||
}
|
||||
|
||||
#[derive(FromForm)]
|
||||
@@ -34,9 +33,7 @@ fn webfinger(query: WebfingerQuery, conn: DbConn) -> Content<Result<String, &'st
|
||||
let user = parsed_res.next().unwrap();
|
||||
let res_dom = parsed_res.next().unwrap();
|
||||
|
||||
let domain = Instance::get_local(&*conn).unwrap().public_domain;
|
||||
|
||||
if res_dom == domain {
|
||||
if res_dom == BASE_URL.as_str() {
|
||||
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)) {
|
||||
|
||||
Reference in New Issue
Block a user