use std::path::Path;
use shardline_server::{
LocalIndexRebuildReport, ServerConfigError, ServerError,
run_index_rebuild as run_server_index_rebuild,
};
use thiserror::Error;
use crate::config::load_server_config;
#[derive(Debug, Error)]
pub enum RebuildRuntimeError {
#[error(transparent)]
Config(#[from] ServerConfigError),
#[error(transparent)]
Server(#[from] ServerError),
}
pub async fn run_index_rebuild(
root: Option<&Path>,
) -> Result<LocalIndexRebuildReport, RebuildRuntimeError> {
let config = load_server_config(root)?;
Ok(run_server_index_rebuild(config).await?)
}