aboutsummaryrefslogtreecommitdiff
path: root/server/src/routes/ui/admin
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2025-01-29 23:09:54 +0100
committermetamuffin <metamuffin@disroot.org>2025-01-29 23:09:54 +0100
commit59825d68efa1077382fd6acac73f75ae9dc3680a (patch)
tree5f948eddf7b4c85f245359c35c653ab8768ba8f4 /server/src/routes/ui/admin
parent8099c51e56b6d253c05cac9c235f52027ad736fa (diff)
downloadjellything-59825d68efa1077382fd6acac73f75ae9dc3680a.tar
jellything-59825d68efa1077382fd6acac73f75ae9dc3680a.tar.bz2
jellything-59825d68efa1077382fd6acac73f75ae9dc3680a.tar.zst
mtime based incremental import
Diffstat (limited to 'server/src/routes/ui/admin')
-rw-r--r--server/src/routes/ui/admin/mod.rs12
1 files changed, 8 insertions, 4 deletions
diff --git a/server/src/routes/ui/admin/mod.rs b/server/src/routes/ui/admin/mod.rs
index 2993be0..463319a 100644
--- a/server/src/routes/ui/admin/mod.rs
+++ b/server/src/routes/ui/admin/mod.rs
@@ -68,8 +68,11 @@ pub async fn admin_dashboard<'a>(
@if is_transcoding() {
section.message { p.warn { "Currently transcoding posters." } }
}
- form[method="POST", action=uri!(r_admin_import())] {
- input[type="submit", disabled=is_importing(), value="(Re-)Import Library"];
+ form[method="POST", action=uri!(r_admin_import(true))] {
+ input[type="submit", disabled=is_importing(), value="Start incremental import"];
+ }
+ form[method="POST", action=uri!(r_admin_import(false))] {
+ input[type="submit", disabled=is_importing(), value="Start full import"];
}
form[method="POST", action=uri!(r_admin_transcode_posters())] {
input[type="submit", disabled=is_transcoding(), value="Transcode all posters with low resolution"];
@@ -131,15 +134,16 @@ pub async fn r_admin_remove_invite(
admin_dashboard(database, Some(Ok("Invite invalidated".into()))).await
}
-#[post("/admin/import")]
+#[post("/admin/import?<incremental>")]
pub async fn r_admin_import(
session: AdminSession,
database: &State<Database>,
_federation: &State<Federation>,
+ incremental: bool,
) -> MyResult<DynLayoutPage<'static>> {
drop(session);
let t = Instant::now();
- let r = import_wrap((*database).clone()).await;
+ let r = import_wrap((*database).clone(), incremental).await;
admin_dashboard(
database,
Some(