remove anyhow refs & implement missing errors

This commit is contained in:
marin postma
2021-06-14 21:26:35 +02:00
parent c1b6f0e833
commit 58f9974be4
40 changed files with 707 additions and 668 deletions

View File

@ -6,6 +6,7 @@ use sha2::Digest;
use crate::index::{Checked, Settings};
use crate::index_controller::{
DumpInfo, IndexController, IndexMetadata, IndexSettings, IndexStats, Stats,
error::Result
};
use crate::option::Opt;
@ -56,7 +57,7 @@ impl ApiKeys {
}
impl Data {
pub fn new(options: Opt) -> anyhow::Result<Data> {
pub fn new(options: Opt) -> std::result::Result<Data, Box<dyn std::error::Error>> {
let path = options.db_path.clone();
let index_controller = IndexController::new(&path, &options)?;
@ -79,15 +80,15 @@ impl Data {
Ok(Data { inner })
}
pub async fn settings(&self, uid: String) -> anyhow::Result<Settings<Checked>> {
pub async fn settings(&self, uid: String) -> Result<Settings<Checked>> {
self.index_controller.settings(uid).await
}
pub async fn list_indexes(&self) -> anyhow::Result<Vec<IndexMetadata>> {
pub async fn list_indexes(&self) -> Result<Vec<IndexMetadata>> {
self.index_controller.list_indexes().await
}
pub async fn index(&self, uid: String) -> anyhow::Result<IndexMetadata> {
pub async fn index(&self, uid: String) -> Result<IndexMetadata> {
self.index_controller.get_index(uid).await
}
@ -95,7 +96,7 @@ impl Data {
&self,
uid: String,
primary_key: Option<String>,
) -> anyhow::Result<IndexMetadata> {
) -> Result<IndexMetadata> {
let settings = IndexSettings {
uid: Some(uid),
primary_key,
@ -105,19 +106,19 @@ impl Data {
Ok(meta)
}
pub async fn get_index_stats(&self, uid: String) -> anyhow::Result<IndexStats> {
pub async fn get_index_stats(&self, uid: String) -> Result<IndexStats> {
Ok(self.index_controller.get_index_stats(uid).await?)
}
pub async fn get_all_stats(&self) -> anyhow::Result<Stats> {
pub async fn get_all_stats(&self) -> Result<Stats> {
Ok(self.index_controller.get_all_stats().await?)
}
pub async fn create_dump(&self) -> anyhow::Result<DumpInfo> {
pub async fn create_dump(&self) -> Result<DumpInfo> {
Ok(self.index_controller.create_dump().await?)
}
pub async fn dump_status(&self, uid: String) -> anyhow::Result<DumpInfo> {
pub async fn dump_status(&self, uid: String) -> Result<DumpInfo> {
Ok(self.index_controller.dump_info(uid).await?)
}

View File

@ -2,13 +2,14 @@ use serde_json::{Map, Value};
use super::Data;
use crate::index::{SearchQuery, SearchResult};
use crate::index_controller::error::Result;
impl Data {
pub async fn search(
&self,
index: String,
search_query: SearchQuery,
) -> anyhow::Result<SearchResult> {
) -> Result<SearchResult> {
self.index_controller.search(index, search_query).await
}
@ -18,7 +19,7 @@ impl Data {
offset: usize,
limit: usize,
attributes_to_retrieve: Option<Vec<String>>,
) -> anyhow::Result<Vec<Map<String, Value>>> {
) -> Result<Vec<Map<String, Value>>> {
self.index_controller
.documents(index, offset, limit, attributes_to_retrieve)
.await
@ -29,7 +30,7 @@ impl Data {
index: String,
document_id: String,
attributes_to_retrieve: Option<Vec<String>>,
) -> anyhow::Result<Map<String, Value>> {
) -> Result<Map<String, Value>> {
self.index_controller
.document(index, document_id, attributes_to_retrieve)
.await

View File

@ -3,7 +3,7 @@ use milli::update::{IndexDocumentsMethod, UpdateFormat};
use super::Data;
use crate::index::{Checked, Settings};
use crate::index_controller::{IndexMetadata, IndexSettings, UpdateStatus};
use crate::index_controller::{IndexMetadata, IndexSettings, UpdateStatus, error::Result};
impl Data {
pub async fn add_documents(
@ -13,7 +13,7 @@ impl Data {
format: UpdateFormat,
stream: Payload,
primary_key: Option<String>,
) -> anyhow::Result<UpdateStatus> {
) -> Result<UpdateStatus> {
let update_status = self
.index_controller
.add_documents(index, method, format, stream, primary_key)
@ -26,7 +26,7 @@ impl Data {
index: String,
settings: Settings<Checked>,
create: bool,
) -> anyhow::Result<UpdateStatus> {
) -> Result<UpdateStatus> {
let update = self
.index_controller
.update_settings(index, settings, create)
@ -34,7 +34,7 @@ impl Data {
Ok(update)
}
pub async fn clear_documents(&self, index: String) -> anyhow::Result<UpdateStatus> {
pub async fn clear_documents(&self, index: String) -> Result<UpdateStatus> {
let update = self.index_controller.clear_documents(index).await?;
Ok(update)
}
@ -43,7 +43,7 @@ impl Data {
&self,
index: String,
document_ids: Vec<String>,
) -> anyhow::Result<UpdateStatus> {
) -> Result<UpdateStatus> {
let update = self
.index_controller
.delete_documents(index, document_ids)
@ -51,16 +51,16 @@ impl Data {
Ok(update)
}
pub async fn delete_index(&self, index: String) -> anyhow::Result<()> {
pub async fn delete_index(&self, index: String) -> Result<()> {
self.index_controller.delete_index(index).await?;
Ok(())
}
pub async fn get_update_status(&self, index: String, uid: u64) -> anyhow::Result<UpdateStatus> {
pub async fn get_update_status(&self, index: String, uid: u64) -> Result<UpdateStatus> {
self.index_controller.update_status(index, uid).await
}
pub async fn get_updates_status(&self, index: String) -> anyhow::Result<Vec<UpdateStatus>> {
pub async fn get_updates_status(&self, index: String) -> Result<Vec<UpdateStatus>> {
self.index_controller.all_update_status(index).await
}
@ -69,7 +69,7 @@ impl Data {
uid: String,
primary_key: Option<String>,
new_uid: Option<String>,
) -> anyhow::Result<IndexMetadata> {
) -> Result<IndexMetadata> {
let settings = IndexSettings {
uid: new_uid,
primary_key,