feat(sidebar): reorder folder groups by drag and persist sort order
This commit is contained in:
@@ -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 {
|
||||
|
||||
@@ -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),
|
||||
|
||||
Reference in New Issue
Block a user