aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--server/src/import.rs6
-rw-r--r--server/src/routes/mod.rs18
-rw-r--r--server/src/routes/ui/account/mod.rs1
-rw-r--r--server/src/routes/ui/admin/mod.rs (renamed from server/src/routes/ui/account/admin.rs)28
-rw-r--r--server/src/routes/ui/layout.rs9
-rw-r--r--server/src/routes/ui/mod.rs3
6 files changed, 31 insertions, 34 deletions
diff --git a/server/src/import.rs b/server/src/import.rs
index 872681f..9ffab48 100644
--- a/server/src/import.rs
+++ b/server/src/import.rs
@@ -7,11 +7,7 @@ use crate::{database::Database, federation::Federation, CONF};
use anyhow::{anyhow, bail, Context, Ok};
use async_recursion::async_recursion;
use base64::Engine;
-use futures::{
- future::join_all,
- stream::{FuturesOrdered, FuturesUnordered},
- StreamExt,
-};
+use futures::{stream::FuturesUnordered, StreamExt};
use jellyclient::Session;
use jellycommon::{AssetLocation, MediaSource, Node, NodePrivate, RemoteImportOptions};
use log::{debug, error, info};
diff --git a/server/src/routes/mod.rs b/server/src/routes/mod.rs
index d6e25b6..1490290 100644
--- a/server/src/routes/mod.rs
+++ b/server/src/routes/mod.rs
@@ -17,14 +17,14 @@ use std::fs::File;
use stream::r_stream;
use ui::{
account::{
- admin::{
- r_account_admin_dashboard, r_account_admin_import, r_account_admin_invite,
- r_account_admin_remove_invite, r_account_admin_remove_user,
- },
r_account_login, r_account_login_post, r_account_logout, r_account_logout_post,
r_account_register, r_account_register_post,
settings::{r_account_settings, r_account_settings_post},
},
+ admin::{
+ r_admin_dashboard, r_admin_import, r_admin_invite, r_admin_remove_invite,
+ r_admin_remove_user,
+ },
assets::r_item_assets,
browser::r_all_items,
error::{r_api_catch, r_catch},
@@ -99,11 +99,11 @@ pub fn build_rocket(
r_account_register_post,
r_account_logout,
r_account_logout_post,
- r_account_admin_dashboard,
- r_account_admin_invite,
- r_account_admin_remove_user,
- r_account_admin_remove_invite,
- r_account_admin_import,
+ r_admin_dashboard,
+ r_admin_invite,
+ r_admin_remove_user,
+ r_admin_remove_invite,
+ r_admin_import,
r_account_settings,
r_account_settings_post,
r_api_version,
diff --git a/server/src/routes/ui/account/mod.rs b/server/src/routes/ui/account/mod.rs
index c04e29a..6bdf65a 100644
--- a/server/src/routes/ui/account/mod.rs
+++ b/server/src/routes/ui/account/mod.rs
@@ -3,7 +3,6 @@
which is licensed under the GNU Affero General Public License (version 3); see /COPYING.
Copyright (C) 2023 metamuffin <metamuffin.org>
*/
-pub mod admin;
pub mod session;
pub mod settings;
diff --git a/server/src/routes/ui/account/admin.rs b/server/src/routes/ui/admin/mod.rs
index f1520b7..0775423 100644
--- a/server/src/routes/ui/account/admin.rs
+++ b/server/src/routes/ui/admin/mod.rs
@@ -19,8 +19,8 @@ use rand::Rng;
use rocket::{form::Form, get, post, FromForm, State};
use std::time::Instant;
-#[get("/account/admin/dashboard")]
-pub fn r_account_admin_dashboard(
+#[get("/admin/dashboard")]
+pub fn r_admin_dashboard(
session: Session,
database: &State<Database>,
) -> MyResult<DynLayoutPage<'static>> {
@@ -45,16 +45,16 @@ pub fn admin_dashboard<'a>(
h1 { "Admin Panel" }
@FlashDisplay { flash: flash.clone() }
h2 { "Library" }
- form[method="POST", action=uri!(r_account_admin_import())] {
+ form[method="POST", action=uri!(r_admin_import())] {
input[type="submit", value="(Re-)Import Library"];
}
h2 { "Invitations" }
- form[method="POST", action=uri!(r_account_admin_invite())] {
+ form[method="POST", action=uri!(r_admin_invite())] {
input[type="submit", value="Generate new invite code"];
}
ul { @for t in &invites {
li {
- form[method="POST", action=uri!(r_account_admin_remove_invite())] {
+ form[method="POST", action=uri!(r_admin_remove_invite())] {
span { @t.0 }
input[type="text", name="invite", value=&t.0, hidden];
input[type="submit", value="Invalidate"];
@@ -63,7 +63,7 @@ pub fn admin_dashboard<'a>(
}}
h2 { "Users" }
ul { @for (_, u) in &users {
- li { form[method="POST", action=uri!(r_account_admin_remove_user())] {
+ li { form[method="POST", action=uri!(r_admin_remove_user())] {
span { @format!("{:?}", u.display_name) " (" @u.name ")" }
input[type="text", name="name", value=&u.name, hidden];
input[type="submit", value="Remove(!)"];
@@ -74,8 +74,8 @@ pub fn admin_dashboard<'a>(
})
}
-#[post("/account/admin/generate_invite")]
-pub fn r_account_admin_invite(
+#[post("/admin/generate_invite")]
+pub fn r_admin_invite(
session: Session,
database: &State<Database>,
) -> MyResult<DynLayoutPage<'static>> {
@@ -94,8 +94,8 @@ pub struct DeleteUser {
name: String,
}
-#[post("/account/admin/remove_user", data = "<form>")]
-pub fn r_account_admin_remove_user(
+#[post("/admin/remove_user", data = "<form>")]
+pub fn r_admin_remove_user(
session: Session,
database: &State<Database>,
form: Form<DeleteUser>,
@@ -116,8 +116,8 @@ pub struct DeleteInvite {
invite: String,
}
-#[post("/account/admin/remove_invite", data = "<form>")]
-pub fn r_account_admin_remove_invite(
+#[post("/admin/remove_invite", data = "<form>")]
+pub fn r_admin_remove_invite(
session: Session,
database: &State<Database>,
form: Form<DeleteInvite>,
@@ -133,8 +133,8 @@ pub fn r_account_admin_remove_invite(
admin_dashboard(database, Some(Ok("Invite invalidated".into())))
}
-#[post("/account/admin/import")]
-pub async fn r_account_admin_import(
+#[post("/admin/import")]
+pub async fn r_admin_import(
session: Session,
database: &State<Database>,
federation: &State<Federation>,
diff --git a/server/src/routes/ui/layout.rs b/server/src/routes/ui/layout.rs
index 7e51e5c..9a29df6 100644
--- a/server/src/routes/ui/layout.rs
+++ b/server/src/routes/ui/layout.rs
@@ -6,10 +6,11 @@
use crate::{
routes::ui::{
account::{
- admin::rocket_uri_macro_r_account_admin_dashboard, rocket_uri_macro_r_account_login,
- rocket_uri_macro_r_account_logout, rocket_uri_macro_r_account_register,
- session::Session, settings::rocket_uri_macro_r_account_settings,
+ rocket_uri_macro_r_account_login, rocket_uri_macro_r_account_logout,
+ rocket_uri_macro_r_account_register, session::Session,
+ settings::rocket_uri_macro_r_account_settings,
},
+ admin::rocket_uri_macro_r_admin_dashboard,
browser::rocket_uri_macro_r_all_items,
node::rocket_uri_macro_r_library_node,
},
@@ -45,7 +46,7 @@ markup::define! {
@if let Some(session) = session {
span { "Logged in as " } span.username { @session.user.display_name } " "
@if session.user.admin {
- a[href=uri!(r_account_admin_dashboard())] { "Administration" } " "
+ a[href=uri!(r_admin_dashboard())] { "Administration" } " "
}
a[href=uri!(r_account_settings())] { "Settings" } " "
a[href=uri!(r_account_logout())] { "Log out" }
diff --git a/server/src/routes/ui/mod.rs b/server/src/routes/ui/mod.rs
index 5fad2b7..7acc02a 100644
--- a/server/src/routes/ui/mod.rs
+++ b/server/src/routes/ui/mod.rs
@@ -22,6 +22,8 @@ use std::{
use tokio::{fs::File, io::AsyncRead};
pub mod account;
+pub mod admin;
+pub mod assets;
pub mod browser;
pub mod error;
pub mod home;
@@ -29,7 +31,6 @@ pub mod layout;
pub mod node;
pub mod player;
pub mod style;
-pub mod assets;
pub struct HtmlTemplate<'a>(pub markup::DynRender<'a>);