feat(sidebar): reorder folder groups by drag and persist sort order

This commit is contained in:
xintaofei
2026-04-23 00:42:58 +08:00
parent 2dbdaa9c74
commit f1ce7179ea
25 changed files with 519 additions and 182 deletions

View File

@@ -123,6 +123,23 @@ pub async fn remove_folder_from_workspace(
Ok(Json(()))
}
#[derive(Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ReorderFoldersParams {
pub ids: Vec<i32>,
}
pub async fn reorder_folders(
Extension(state): Extension<Arc<AppState>>,
Json(params): Json<ReorderFoldersParams>,
) -> Result<Json<()>, AppCommandError> {
let db = &state.db;
folder_service::reorder_folders(&db.conn, params.ids)
.await
.map_err(AppCommandError::from)?;
Ok(Json(()))
}
#[derive(Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct PathParams {

View File

@@ -106,6 +106,10 @@ pub fn build_router(state: Arc<AppState>, token: String, static_dir: std::path::
"/remove_folder_from_workspace",
post(handlers::folders::remove_folder_from_workspace),
)
.route(
"/reorder_folders",
post(handlers::folders::reorder_folders),
)
.route(
"/add_folder_to_history",
post(handlers::folders::add_folder_to_history),