Add admin interface to manage interface

This commit is contained in:
Bat
2018-09-08 19:54:09 +01:00
parent 6c80002e43
commit c1e0b6c306
5 changed files with 60 additions and 1 deletions
+2
View File
@@ -63,6 +63,8 @@ fn main() {
routes::instance::paginated_federated,
routes::instance::federated,
routes::instance::admin,
routes::instance::admin_instances,
routes::instance::admin_instances_paginated,
routes::instance::update_settings,
routes::instance::shared_inbox,
routes::instance::nodeinfo,
+17
View File
@@ -137,6 +137,23 @@ fn update_settings(conn: DbConn, admin: Admin, form: LenientForm<InstanceSetting
})))
}
#[get("/admin/instances")]
fn admin_instances(admin: Admin, conn: DbConn) -> Template {
admin_instances_paginated(admin, conn, Page::first())
}
#[get("/admin/instances?<page>")]
fn admin_instances_paginated(admin: Admin, conn: DbConn, page: Page) -> Template {
let instances = Instance::page(&*conn, page.limits());
Template::render("instance/list", json!({
"account": admin.0.to_json(&*conn),
"instances": instances,
"instance": Instance::get_local(&*conn),
"page": page.page,
"n_pages": Page::total(Instance::count(&*conn) as i32),
}))
}
#[post("/inbox", data = "<data>")]
fn shared_inbox(conn: DbConn, data: String) -> String {
let act: serde_json::Value = serde_json::from_str(&data[..]).unwrap();