diff options
author | metamuffin <metamuffin@disroot.org> | 2025-02-04 16:28:36 +0100 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2025-02-04 16:28:36 +0100 |
commit | 3d918d746c7d1205418aafaa2fd26b29e85c02c8 (patch) | |
tree | f0dcea0a80c3097b07965e5a23deaeb238f00df4 | |
parent | 43fb187b6fc0d8de7a7e8604348a17434d21a30c (diff) | |
download | jellything-3d918d746c7d1205418aafaa2fd26b29e85c02c8.tar jellything-3d918d746c7d1205418aafaa2fd26b29e85c02c8.tar.bz2 jellything-3d918d746c7d1205418aafaa2fd26b29e85c02c8.tar.zst |
merge admin "clear" and "full import" options
-rw-r--r-- | base/src/database.rs | 9 | ||||
-rw-r--r-- | import/src/matroska.rs | 2 | ||||
-rw-r--r-- | server/src/routes/ui/admin/mod.rs | 26 |
3 files changed, 20 insertions, 17 deletions
diff --git a/base/src/database.rs b/base/src/database.rs index 90e42b9..2eecbf6 100644 --- a/base/src/database.rs +++ b/base/src/database.rs @@ -107,10 +107,17 @@ impl Database { let mut t_node = txn.open_table(T_NODE)?; let mut t_node_children = txn.open_table(T_NODE_CHILDREN)?; let mut t_node_external_id = txn.open_table(T_NODE_EXTERNAL_ID)?; + let mut t_import_file_mtime = txn.open_table(T_IMPORT_FILE_MTIME)?; t_node.retain(|_, _| false)?; t_node_children.retain(|_, _| false)?; t_node_external_id.retain(|_, _| false)?; - drop((t_node, t_node_children, t_node_external_id)); + t_import_file_mtime.retain(|_, _| false)?; + drop(( + t_node, + t_node_children, + t_node_external_id, + t_import_file_mtime, + )); txn.commit()?; Ok(()) } diff --git a/import/src/matroska.rs b/import/src/matroska.rs index f9a59ab..4694833 100644 --- a/import/src/matroska.rs +++ b/import/src/matroska.rs @@ -92,7 +92,7 @@ pub(crate) fn matroska_metadata(path: &Path) -> Result<Arc<Option<MatroskaMetada .ser(), ) } - a => println!("{a:?}"), + _ => (), } } } diff --git a/server/src/routes/ui/admin/mod.rs b/server/src/routes/ui/admin/mod.rs index 62a06bc..edbdb03 100644 --- a/server/src/routes/ui/admin/mod.rs +++ b/server/src/routes/ui/admin/mod.rs @@ -73,20 +73,17 @@ pub async fn admin_dashboard<'a>( @if is_transcoding() { section.message { p.warn { "Currently transcoding posters." } } } - form[method="POST", action=uri!(r_admin_import(true, false))] { + 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, false))] { + 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_import(false, true))] { - input[type="submit", disabled=is_importing(), value="Clear all nodes"]; - } form[method="POST", action=uri!(r_admin_transcode_posters())] { input[type="submit", disabled=is_transcoding(), value="Transcode all posters with low resolution"]; } form[method="POST", action=uri!(r_admin_update_search())] { - input[type="submit", value="Update full-text search index"]; + input[type="submit", value="Regenerate full-text search index"]; } form[method="POST", action=uri!(r_admin_delete_cache())] { input.danger[type="submit", value="Delete Cache"]; @@ -145,24 +142,23 @@ pub async fn r_admin_remove_invite( admin_dashboard(database, Some(Ok("Invite invalidated".into()))).await } -#[post("/admin/import?<incremental>&<nuke>")] +#[post("/admin/import?<incremental>")] pub async fn r_admin_import( session: AdminSession, database: &State<Database>, _federation: &State<Federation>, incremental: bool, - nuke: bool, ) -> MyResult<DynLayoutPage<'static>> { drop(session); let t = Instant::now(); - let flash = if nuke { + database.clear_nodes()?; + if !incremental { database.clear_nodes()?; - Ok(format!("All nodes cleared.")) - } else { - let r = import_wrap((*database).clone(), incremental).await; - r.map_err(|e| e.into()) - .map(|_| format!("Import successful; took {:?}", t.elapsed())) - }; + } + let r = import_wrap((*database).clone(), incremental).await; + let flash = r + .map_err(|e| e.into()) + .map(|_| format!("Import successful; took {:?}", t.elapsed())); admin_dashboard(database, Some(flash)).await } |