From 59825d68efa1077382fd6acac73f75ae9dc3680a Mon Sep 17 00:00:00 2001 From: metamuffin Date: Wed, 29 Jan 2025 23:09:54 +0100 Subject: mtime based incremental import --- server/src/routes/ui/admin/mod.rs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'server/src/routes/ui/admin/mod.rs') 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?")] pub async fn r_admin_import( session: AdminSession, database: &State, _federation: &State, + incremental: bool, ) -> MyResult> { 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( -- cgit v1.2.3-70-g09d2