From c276dda305bfb49aa045b10a37f13263214bb5a0 Mon Sep 17 00:00:00 2001 From: qdequele Date: Thu, 23 Jan 2020 11:30:18 +0100 Subject: [PATCH] run cargo fmt --- meilisearch-http/src/data.rs | 2 +- meilisearch-http/src/error.rs | 8 +- meilisearch-http/src/helpers/meilisearch.rs | 25 ++--- meilisearch-http/src/helpers/tide.rs | 9 +- meilisearch-http/src/routes/document.rs | 24 ++--- meilisearch-http/src/routes/health.rs | 2 +- meilisearch-http/src/routes/index.rs | 20 +++- meilisearch-http/src/routes/key.rs | 14 ++- meilisearch-http/src/routes/mod.rs | 86 +++++++++++------ meilisearch-http/src/routes/search.rs | 7 +- meilisearch-http/src/routes/setting.rs | 69 ++++++------- meilisearch-http/src/routes/stats.rs | 7 +- meilisearch-http/src/routes/stop_words.rs | 6 +- meilisearch-http/src/routes/synonym.rs | 10 +- meilisearch-http/tests/common.rs | 34 ++++--- meilisearch-http/tests/health.rs | 16 +++- meilisearch-http/tests/index.rs | 101 ++++++++++++++------ meilisearch-http/tests/settings.rs | 54 ++++++++--- 18 files changed, 315 insertions(+), 179 deletions(-) diff --git a/meilisearch-http/src/data.rs b/meilisearch-http/src/data.rs index 307f1aa65..b80d338f0 100644 --- a/meilisearch-http/src/data.rs +++ b/meilisearch-http/src/data.rs @@ -5,7 +5,7 @@ use std::sync::Arc; use chrono::{DateTime, Utc}; use heed::types::{SerdeBincode, Str}; use log::error; -use meilisearch_core::{Database, MainT, UpdateT, Error as MError, MResult}; +use meilisearch_core::{Database, Error as MError, MResult, MainT, UpdateT}; use sysinfo::Pid; use crate::option::Opt; diff --git a/meilisearch-http/src/error.rs b/meilisearch-http/src/error.rs index 23f2765f9..aae988816 100644 --- a/meilisearch-http/src/error.rs +++ b/meilisearch-http/src/error.rs @@ -122,7 +122,9 @@ struct ErrorMessage { fn error(message: String, status: StatusCode) -> Response { let message = ErrorMessage { message }; - tide::Response::new(status.as_u16()).body_json(&message).unwrap() + tide::Response::new(status.as_u16()) + .body_json(&message) + .unwrap() } impl From for ResponseError { @@ -154,11 +156,11 @@ pub trait IntoInternalError { } /// Must be used only -impl IntoInternalError for Option { +impl IntoInternalError for Option { fn into_internal_error(self) -> SResult { match self { Some(value) => Ok(value), - None => Err(ResponseError::internal("Heed cannot find requested value")) + None => Err(ResponseError::internal("Heed cannot find requested value")), } } } diff --git a/meilisearch-http/src/helpers/meilisearch.rs b/meilisearch-http/src/helpers/meilisearch.rs index 6f689d83b..822f56a70 100644 --- a/meilisearch-http/src/helpers/meilisearch.rs +++ b/meilisearch-http/src/helpers/meilisearch.rs @@ -1,13 +1,3 @@ -use indexmap::IndexMap; -use log::error; -use meilisearch_core::criterion::*; -use meilisearch_core::Highlight; -use meilisearch_core::{Index, RankedMap}; -use meilisearch_core::MainT; -use meilisearch_core::settings::RankingRule; -use meilisearch_schema::{Schema, FieldId}; -use serde::{Deserialize, Serialize}; -use serde_json::Value; use std::cmp::Ordering; use std::collections::{HashMap, HashSet}; use std::convert::From; @@ -15,6 +5,15 @@ use std::error; use std::fmt; use std::time::{Duration, Instant}; +use indexmap::IndexMap; +use log::error; +use meilisearch_core::criterion::*; +use meilisearch_core::settings::RankingRule; +use meilisearch_core::{MainT, Highlight, Index, RankedMap}; +use meilisearch_schema::{FieldId, Schema}; +use serde::{Deserialize, Serialize}; +use serde_json::Value; + #[derive(Debug)] pub enum Error { SearchDocuments(String), @@ -286,8 +285,10 @@ impl<'a> SearchBuilder<'a> { RankingRule::Attribute => builder.push(Attribute), RankingRule::WordsPosition => builder.push(WordsPosition), RankingRule::Exact => builder.push(Exact), - RankingRule::Asc(field) => builder.push(SortByAttr::lower_is_better(&ranked_map, &schema, &field).unwrap()), - RankingRule::Dsc(field) => builder.push(SortByAttr::higher_is_better(&ranked_map, &schema, &field).unwrap()), + RankingRule::Asc(field) => builder + .push(SortByAttr::lower_is_better(&ranked_map, &schema, &field).unwrap()), + RankingRule::Dsc(field) => builder + .push(SortByAttr::higher_is_better(&ranked_map, &schema, &field).unwrap()), }; } builder.push(DocumentId); diff --git a/meilisearch-http/src/helpers/tide.rs b/meilisearch-http/src/helpers/tide.rs index f2da620c3..132396a5c 100644 --- a/meilisearch-http/src/helpers/tide.rs +++ b/meilisearch-http/src/helpers/tide.rs @@ -21,7 +21,8 @@ impl RequestExt for Request { None => return Ok(()), }; - let user_api_key = self.header("X-Meili-API-Key") + let user_api_key = self + .header("X-Meili-API-Key") .ok_or(ResponseError::missing_header("X-Meili-API-Key"))?; if user_api_key == *api_key { @@ -85,7 +86,8 @@ impl RequestExt for Request { } fn url_param(&self, name: &str) -> SResult { - let param = self.param::(name) + let param = self + .param::(name) .map_err(|_| ResponseError::bad_parameter("identifier", ""))?; Ok(param) } @@ -101,7 +103,8 @@ impl RequestExt for Request { } fn identifier(&self) -> SResult { - let name = self.param::("identifier") + let name = self + .param::("identifier") .map_err(|_| ResponseError::bad_parameter("identifier", ""))?; Ok(name) diff --git a/meilisearch-http/src/routes/document.rs b/meilisearch-http/src/routes/document.rs index b6cf005da..1980f0790 100644 --- a/meilisearch-http/src/routes/document.rs +++ b/meilisearch-http/src/routes/document.rs @@ -1,11 +1,10 @@ - use std::collections::{BTreeSet, HashSet}; use indexmap::IndexMap; +use meilisearch_core::settings::Settings; use serde::{Deserialize, Serialize}; use serde_json::Value; use tide::{Request, Response}; -use meilisearch_core::settings::Settings; use crate::error::{ResponseError, SResult}; use crate::helpers::tide::RequestExt; @@ -78,9 +77,12 @@ pub async fn get_all_documents(ctx: Request) -> SResult { let db = &ctx.state().db; let reader = db.main_read_txn()?; - let documents_ids: Result, _> = index.documents_fields_counts + let documents_ids: Result, _> = index + .documents_fields_counts .documents_ids(&reader)? - .skip(offset).take(limit).collect(); + .skip(offset) + .take(limit) + .collect(); let documents_ids = match documents_ids { Ok(documents_ids) => documents_ids, @@ -110,10 +112,10 @@ pub async fn get_all_documents(ctx: Request) -> SResult { fn find_identifier(document: &IndexMap) -> Option { for key in document.keys() { if key.to_lowercase().contains("id") { - return Some(key.to_string()) + return Some(key.to_string()); } } - return None + return None; } #[derive(Default, Deserialize)] @@ -138,12 +140,10 @@ async fn update_multiple_documents(mut ctx: Request, is_partial: bool) -> if current_schema.is_none() { let id = match query.identifier { Some(id) => id, - None => { - match data.first().and_then(|docs| find_identifier(docs)) { - Some(id) => id, - None => return Err(ResponseError::bad_request("Could not infer a schema")), - } - } + None => match data.first().and_then(|docs| find_identifier(docs)) { + Some(id) => id, + None => return Err(ResponseError::bad_request("Could not infer a schema")), + }, }; let settings = Settings { attribute_identifier: Some(id), diff --git a/meilisearch-http/src/routes/health.rs b/meilisearch-http/src/routes/health.rs index 7b361c30f..a6dd761df 100644 --- a/meilisearch-http/src/routes/health.rs +++ b/meilisearch-http/src/routes/health.rs @@ -5,7 +5,7 @@ use crate::Data; use heed::types::{Str, Unit}; use serde::Deserialize; -use tide::{Response, Request}; +use tide::{Request, Response}; const UNHEALTHY_KEY: &str = "_is_unhealthy"; diff --git a/meilisearch-http/src/routes/index.rs b/meilisearch-http/src/routes/index.rs index 000c122de..5bb234920 100644 --- a/meilisearch-http/src/routes/index.rs +++ b/meilisearch-http/src/routes/index.rs @@ -6,7 +6,7 @@ use serde::{Deserialize, Serialize}; use serde_json::json; use tide::{Request, Response}; -use crate::error::{ResponseError, SResult, IntoInternalError}; +use crate::error::{IntoInternalError, ResponseError, SResult}; use crate::helpers::tide::RequestExt; use crate::models::token::ACL::*; use crate::Data; @@ -114,7 +114,9 @@ pub async fn create_index(mut ctx: Request) -> SResult { .map_err(ResponseError::bad_request)?; if let (None, None) = (body.name.clone(), body.uid.clone()) { - return Err(ResponseError::bad_request("Index creation must have an uid")); + return Err(ResponseError::bad_request( + "Index creation must have an uid", + )); } let db = &ctx.state().db; @@ -137,8 +139,14 @@ pub async fn create_index(mut ctx: Request) -> SResult { let mut writer = db.main_write_txn()?; let name = body.name.unwrap_or(uid.clone()); created_index.main.put_name(&mut writer, &name)?; - let created_at = created_index.main.created_at(&writer)?.into_internal_error()?; - let updated_at = created_index.main.updated_at(&writer)?.into_internal_error()?; + let created_at = created_index + .main + .created_at(&writer)? + .into_internal_error()?; + let updated_at = created_index + .main + .updated_at(&writer)? + .into_internal_error()?; writer.commit()?; @@ -216,7 +224,9 @@ pub async fn get_update_status(ctx: Request) -> SResult { let response = match status { Some(status) => tide::Response::new(200).body_json(&status).unwrap(), - None => tide::Response::new(404).body_json(&json!({ "message": "unknown update id" })).unwrap(), + None => tide::Response::new(404) + .body_json(&json!({ "message": "unknown update id" })) + .unwrap(), }; Ok(response) diff --git a/meilisearch-http/src/routes/key.rs b/meilisearch-http/src/routes/key.rs index fea422696..0f56d4701 100644 --- a/meilisearch-http/src/routes/key.rs +++ b/meilisearch-http/src/routes/key.rs @@ -30,8 +30,8 @@ pub async fn list(ctx: Request) -> SResult { let mut response: Vec = Vec::new(); - let iter = common_store - .prefix_iter::<_, Str, SerdeBincode>(&reader, TOKEN_PREFIX_KEY)?; + let iter = + common_store.prefix_iter::<_, Str, SerdeBincode>(&reader, TOKEN_PREFIX_KEY)?; for result in iter { let (_, token) = result?; @@ -93,10 +93,16 @@ pub async fn create(mut ctx: Request) -> SResult { let db = &ctx.state().db; let mut writer = db.main_write_txn()?; - db.common_store().put::<_, Str, SerdeBincode>(&mut writer, &token_key, &token_definition)?; + db.common_store().put::<_, Str, SerdeBincode>( + &mut writer, + &token_key, + &token_definition, + )?; writer.commit()?; - Ok(tide::Response::new(201).body_json(&token_definition).unwrap()) + Ok(tide::Response::new(201) + .body_json(&token_definition) + .unwrap()) } #[derive(Debug, Serialize, Deserialize)] diff --git a/meilisearch-http/src/routes/mod.rs b/meilisearch-http/src/routes/mod.rs index 90d1c8529..61681294c 100644 --- a/meilisearch-http/src/routes/mod.rs +++ b/meilisearch-http/src/routes/mod.rs @@ -1,7 +1,7 @@ -use tide::Response; -use tide::IntoResponse; -use std::future::Future; use crate::data::Data; +use std::future::Future; +use tide::IntoResponse; +use tide::Response; pub mod document; pub mod health; @@ -13,7 +13,9 @@ pub mod stats; pub mod stop_words; pub mod synonym; -async fn into_response(x: impl Future>) -> Response { +async fn into_response( + x: impl Future>, +) -> Response { match x.await { Ok(resp) => resp.into_response(), Err(resp) => resp.into_response(), @@ -23,13 +25,17 @@ async fn into_response(x: impl Future) { app.at("").nest(|router| { // expose the web interface static files - router.at("/").get(|_| async move { - let response = include_str!("../../public/interface.html"); - response + router.at("/").get(|_| { + async move { + let response = include_str!("../../public/interface.html"); + response + } }); - router.at("/bulma.min.css").get(|_| async { - let response = include_str!("../../public/bulma.min.css"); - response + router.at("/bulma.min.css").get(|_| { + async { + let response = include_str!("../../public/bulma.min.css"); + response + } }); router.at("/indexes").nest(|router| { @@ -38,15 +44,23 @@ pub fn load_routes(app: &mut tide::Server) { .get(|ctx| into_response(index::list_indexes(ctx))) .post(|ctx| into_response(index::create_index(ctx))); - router.at("/search").post(|ctx| into_response(search::search_multi_index(ctx))); + router + .at("/search") + .post(|ctx| into_response(search::search_multi_index(ctx))); router.at("/:index").nest(|router| { - router.at("/search").get(|ctx| into_response(search::search_with_url_query(ctx))); + router + .at("/search") + .get(|ctx| into_response(search::search_with_url_query(ctx))); router.at("/updates").nest(|router| { - router.at("/").get(|ctx| into_response(index::get_all_updates_status(ctx))); + router + .at("/") + .get(|ctx| into_response(index::get_all_updates_status(ctx))); - router.at("/:update_id").get(|ctx| into_response(index::get_update_status(ctx))); + router + .at("/:update_id") + .get(|ctx| into_response(index::get_update_status(ctx))); }); router @@ -76,25 +90,25 @@ pub fn load_routes(app: &mut tide::Server) { }); router.at("/settings").nest(|router| { - router .get(|ctx| into_response(setting::get_all(ctx))) .post(|ctx| into_response(setting::update_all(ctx))) .delete(|ctx| into_response(setting::delete_all(ctx))); router.at("/ranking").nest(|router| { - router .get(|ctx| into_response(setting::get_ranking(ctx))) .post(|ctx| into_response(setting::update_ranking(ctx))) .delete(|ctx| into_response(setting::delete_ranking(ctx))); - router.at("/rules") + router + .at("/rules") .get(|ctx| into_response(setting::get_rules(ctx))) .post(|ctx| into_response(setting::update_rules(ctx))) .delete(|ctx| into_response(setting::delete_rules(ctx))); - router.at("/distinct") + router + .at("/distinct") .get(|ctx| into_response(setting::get_distinct(ctx))) .post(|ctx| into_response(setting::update_distinct(ctx))) .delete(|ctx| into_response(setting::delete_distinct(ctx))); @@ -106,37 +120,47 @@ pub fn load_routes(app: &mut tide::Server) { .post(|ctx| into_response(setting::update_attributes(ctx))) .delete(|ctx| into_response(setting::delete_attributes(ctx))); - router.at("/identifier") + router + .at("/identifier") .get(|ctx| into_response(setting::get_identifier(ctx))); - router.at("/searchable") + router + .at("/searchable") .get(|ctx| into_response(setting::get_searchable(ctx))) .post(|ctx| into_response(setting::update_searchable(ctx))) .delete(|ctx| into_response(setting::delete_searchable(ctx))); - router.at("/displayed") + router + .at("/displayed") .get(|ctx| into_response(setting::get_displayed(ctx))) .post(|ctx| into_response(setting::update_displayed(ctx))) .delete(|ctx| into_response(setting::delete_displayed(ctx))); }); - router.at("/synonyms") + router + .at("/synonyms") .get(|ctx| into_response(synonym::get(ctx))) .post(|ctx| into_response(synonym::update(ctx))) .delete(|ctx| into_response(synonym::delete(ctx))); - router.at("/stop-words") + router + .at("/stop-words") .get(|ctx| into_response(stop_words::get(ctx))) .post(|ctx| into_response(stop_words::update(ctx))) .delete(|ctx| into_response(stop_words::delete(ctx))); }); - router.at("/stats").get(|ctx| into_response(stats::index_stat(ctx))); + router + .at("/stats") + .get(|ctx| into_response(stats::index_stat(ctx))); }); }); router.at("/keys").nest(|router| { - router.at("/").get(|ctx| into_response(key::list(ctx))).post(|ctx| into_response(key::create(ctx))); + router + .at("/") + .get(|ctx| into_response(key::list(ctx))) + .post(|ctx| into_response(key::create(ctx))); router .at("/:key") @@ -152,9 +176,15 @@ pub fn load_routes(app: &mut tide::Server) { .get(|ctx| into_response(health::get_health(ctx))) .put(|ctx| into_response(health::change_healthyness(ctx))); - router.at("/stats").get(|ctx| into_response(stats::get_stats(ctx))); - router.at("/version").get(|ctx| into_response(stats::get_version(ctx))); - router.at("/sys-info").get(|ctx| into_response(stats::get_sys_info(ctx))); + router + .at("/stats") + .get(|ctx| into_response(stats::get_stats(ctx))); + router + .at("/version") + .get(|ctx| into_response(stats::get_version(ctx))); + router + .at("/sys-info") + .get(|ctx| into_response(stats::get_sys_info(ctx))); router .at("/sys-info/pretty") .get(|ctx| into_response(stats::get_sys_info_pretty(ctx))); diff --git a/meilisearch-http/src/routes/search.rs b/meilisearch-http/src/routes/search.rs index d52497f77..34280ba7d 100644 --- a/meilisearch-http/src/routes/search.rs +++ b/meilisearch-http/src/routes/search.rs @@ -34,10 +34,13 @@ pub async fn search_with_url_query(ctx: Request) -> SResult { let db = &ctx.state().db; let reader = db.main_read_txn()?; - let schema = index.main.schema(&reader)? + let schema = index + .main + .schema(&reader)? .ok_or(ResponseError::open_index("No Schema found"))?; - let query: SearchQuery = ctx.query() + let query: SearchQuery = ctx + .query() .map_err(|_| ResponseError::bad_request("invalid query parameter"))?; let mut search_builder = index.new_search(query.q.clone()); diff --git a/meilisearch-http/src/routes/setting.rs b/meilisearch-http/src/routes/setting.rs index 3aad5a282..0d43bfd8f 100644 --- a/meilisearch-http/src/routes/setting.rs +++ b/meilisearch-http/src/routes/setting.rs @@ -1,7 +1,7 @@ -use std::collections::{BTreeMap, BTreeSet, HashSet}; +use meilisearch_core::settings::{Settings, SettingsUpdate, UpdateState}; use serde::{Deserialize, Serialize}; +use std::collections::{BTreeMap, BTreeSet, HashSet}; use tide::{Request, Response}; -use meilisearch_core::settings::{SettingsUpdate, UpdateState, Settings}; use crate::error::{ResponseError, SResult}; use crate::helpers::tide::RequestExt; @@ -9,7 +9,6 @@ use crate::models::token::ACL::*; use crate::routes::document::IndexUpdateResponse; use crate::Data; - pub async fn get_all(ctx: Request) -> SResult { ctx.is_allowed(SettingsRead)?; let index = ctx.index()?; @@ -48,9 +47,7 @@ pub async fn get_all(ctx: Request) -> SResult { }; let ranking_rules = match index.main.ranking_rules(&reader)? { - Some(rules) => { - Some(rules.iter().map(|r| r.to_string()).collect()) - }, + Some(rules) => Some(rules.iter().map(|r| r.to_string()).collect()), None => None, }; let ranking_distinct = index.main.ranking_distinct(&reader)?; @@ -126,9 +123,7 @@ pub async fn get_ranking(ctx: Request) -> SResult { let reader = db.main_read_txn()?; let ranking_rules = match index.main.ranking_rules(&reader)? { - Some(rules) => { - Some(rules.iter().map(|r| r.to_string()).collect()) - }, + Some(rules) => Some(rules.iter().map(|r| r.to_string()).collect()), None => None, }; @@ -157,7 +152,7 @@ pub async fn update_ranking(mut ctx: Request) -> SResult { let settings = Settings { ranking_rules: settings.ranking_rules, ranking_distinct: settings.ranking_distinct, - .. Settings::default() + ..Settings::default() }; let mut writer = db.update_write_txn()?; @@ -177,7 +172,7 @@ pub async fn delete_ranking(ctx: Request) -> SResult { let settings = SettingsUpdate { ranking_rules: UpdateState::Clear, ranking_distinct: UpdateState::Clear, - .. SettingsUpdate::default() + ..SettingsUpdate::default() }; let update_id = index.settings_update(&mut writer, settings)?; @@ -201,15 +196,11 @@ pub async fn get_rules(ctx: Request) -> SResult { let reader = db.main_read_txn()?; let ranking_rules = match index.main.ranking_rules(&reader)? { - Some(rules) => { - Some(rules.iter().map(|r| r.to_string()).collect()) - }, + Some(rules) => Some(rules.iter().map(|r| r.to_string()).collect()), None => None, }; - let settings = GetRankingRulesSettings { - ranking_rules, - }; + let settings = GetRankingRulesSettings { ranking_rules }; Ok(tide::Response::new(200).body_json(&settings).unwrap()) } @@ -223,13 +214,13 @@ pub struct SetRankingRulesSettings { pub async fn update_rules(mut ctx: Request) -> SResult { ctx.is_allowed(SettingsWrite)?; let index = ctx.index()?; - let settings: SetRankingRulesSettings = ctx.body_json().await - .map_err(ResponseError::bad_request)?; + let settings: SetRankingRulesSettings = + ctx.body_json().await.map_err(ResponseError::bad_request)?; let db = &ctx.state().db; let settings = Settings { ranking_rules: settings.ranking_rules, - .. Settings::default() + ..Settings::default() }; let mut writer = db.update_write_txn()?; @@ -248,7 +239,7 @@ pub async fn delete_rules(ctx: Request) -> SResult { let settings = SettingsUpdate { ranking_rules: UpdateState::Clear, - .. SettingsUpdate::default() + ..SettingsUpdate::default() }; let update_id = index.settings_update(&mut writer, settings)?; @@ -272,9 +263,7 @@ pub async fn get_distinct(ctx: Request) -> SResult { let reader = db.main_read_txn()?; let ranking_distinct = index.main.ranking_distinct(&reader)?; - let settings = GetRankingDistinctSettings { - ranking_distinct, - }; + let settings = GetRankingDistinctSettings { ranking_distinct }; Ok(tide::Response::new(200).body_json(&settings).unwrap()) } @@ -288,13 +277,13 @@ pub struct SetRankingDistinctSettings { pub async fn update_distinct(mut ctx: Request) -> SResult { ctx.is_allowed(SettingsWrite)?; let index = ctx.index()?; - let settings: SetRankingDistinctSettings = ctx.body_json().await - .map_err(ResponseError::bad_request)?; + let settings: SetRankingDistinctSettings = + ctx.body_json().await.map_err(ResponseError::bad_request)?; let db = &ctx.state().db; let settings = Settings { ranking_distinct: settings.ranking_distinct, - .. Settings::default() + ..Settings::default() }; let mut writer = db.update_write_txn()?; @@ -313,7 +302,7 @@ pub async fn delete_distinct(ctx: Request) -> SResult { let settings = SettingsUpdate { ranking_distinct: UpdateState::Clear, - .. SettingsUpdate::default() + ..SettingsUpdate::default() }; let update_id = index.settings_update(&mut writer, settings)?; @@ -364,15 +353,15 @@ pub struct SetAttributesSettings { pub async fn update_attributes(mut ctx: Request) -> SResult { ctx.is_allowed(SettingsWrite)?; let index = ctx.index()?; - let settings: SetAttributesSettings = ctx.body_json().await - .map_err(ResponseError::bad_request)?; + let settings: SetAttributesSettings = + ctx.body_json().await.map_err(ResponseError::bad_request)?; let db = &ctx.state().db; let settings = Settings { attribute_identifier: settings.attribute_identifier, attributes_searchable: settings.attributes_searchable, attributes_displayed: settings.attributes_displayed, - .. Settings::default() + ..Settings::default() }; let mut writer = db.update_write_txn()?; @@ -391,7 +380,7 @@ pub async fn delete_attributes(ctx: Request) -> SResult { let settings = SettingsUpdate { attributes_searchable: UpdateState::Clear, attributes_displayed: UpdateState::Clear, - .. SettingsUpdate::default() + ..SettingsUpdate::default() }; let mut writer = db.update_write_txn()?; @@ -457,13 +446,13 @@ pub struct SetAttributesSearchableSettings { pub async fn update_searchable(mut ctx: Request) -> SResult { ctx.is_allowed(SettingsWrite)?; let index = ctx.index()?; - let settings: SetAttributesSearchableSettings = ctx.body_json().await - .map_err(ResponseError::bad_request)?; + let settings: SetAttributesSearchableSettings = + ctx.body_json().await.map_err(ResponseError::bad_request)?; let db = &ctx.state().db; let settings = Settings { attributes_searchable: settings.attributes_searchable, - .. Settings::default() + ..Settings::default() }; let mut writer = db.update_write_txn()?; @@ -481,7 +470,7 @@ pub async fn delete_searchable(ctx: Request) -> SResult { let settings = SettingsUpdate { attributes_searchable: UpdateState::Clear, - .. SettingsUpdate::default() + ..SettingsUpdate::default() }; let mut writer = db.update_write_txn()?; @@ -518,13 +507,13 @@ pub async fn get_displayed(ctx: Request) -> SResult { pub async fn update_displayed(mut ctx: Request) -> SResult { ctx.is_allowed(SettingsWrite)?; let index = ctx.index()?; - let settings: AttributesDisplayedSettings = ctx.body_json().await - .map_err(ResponseError::bad_request)?; + let settings: AttributesDisplayedSettings = + ctx.body_json().await.map_err(ResponseError::bad_request)?; let db = &ctx.state().db; let settings = Settings { attributes_displayed: settings.attributes_displayed, - .. Settings::default() + ..Settings::default() }; let mut writer = db.update_write_txn()?; @@ -542,7 +531,7 @@ pub async fn delete_displayed(ctx: Request) -> SResult { let settings = SettingsUpdate { attributes_displayed: UpdateState::Clear, - .. SettingsUpdate::default() + ..SettingsUpdate::default() }; let mut writer = db.update_write_txn()?; diff --git a/meilisearch-http/src/routes/stats.rs b/meilisearch-http/src/routes/stats.rs index 715217031..c03dfefc0 100644 --- a/meilisearch-http/src/routes/stats.rs +++ b/meilisearch-http/src/routes/stats.rs @@ -8,7 +8,7 @@ use sysinfo::{NetworkExt, Pid, ProcessExt, ProcessorExt, System, SystemExt}; use tide::{Request, Response}; use walkdir::WalkDir; -use crate::error::{SResult, IntoInternalError}; +use crate::error::{IntoInternalError, SResult}; use crate::helpers::tide::RequestExt; use crate::models::token::ACL::*; use crate::Data; @@ -30,7 +30,10 @@ pub async fn index_stat(ctx: Request) -> SResult { let update_reader = db.update_read_txn()?; let number_of_documents = index.main.number_of_documents(&reader)?; let fields_frequency = index.main.fields_frequency(&reader)?.unwrap_or_default(); - let is_indexing = ctx.state().is_indexing(&update_reader, &index_uid)?.into_internal_error()?; + let is_indexing = ctx + .state() + .is_indexing(&update_reader, &index_uid)? + .into_internal_error()?; let response = IndexStatsResponse { number_of_documents, diff --git a/meilisearch-http/src/routes/stop_words.rs b/meilisearch-http/src/routes/stop_words.rs index fc21d61ef..69c31f07a 100644 --- a/meilisearch-http/src/routes/stop_words.rs +++ b/meilisearch-http/src/routes/stop_words.rs @@ -1,7 +1,7 @@ use std::collections::BTreeSet; -use tide::{Request, Response}; use meilisearch_core::settings::{SettingsUpdate, UpdateState}; +use tide::{Request, Response}; use crate::error::{ResponseError, SResult}; use crate::helpers::tide::RequestExt; @@ -31,7 +31,7 @@ pub async fn update(mut ctx: Request) -> SResult { let settings = SettingsUpdate { stop_words: UpdateState::Update(data), - .. SettingsUpdate::default() + ..SettingsUpdate::default() }; let update_id = index.settings_update(&mut writer, settings)?; @@ -51,7 +51,7 @@ pub async fn delete(ctx: Request) -> SResult { let settings = SettingsUpdate { stop_words: UpdateState::Clear, - .. SettingsUpdate::default() + ..SettingsUpdate::default() }; let update_id = index.settings_update(&mut writer, settings)?; diff --git a/meilisearch-http/src/routes/synonym.rs b/meilisearch-http/src/routes/synonym.rs index 1c05166a0..3aff02525 100644 --- a/meilisearch-http/src/routes/synonym.rs +++ b/meilisearch-http/src/routes/synonym.rs @@ -1,8 +1,8 @@ use std::collections::BTreeMap; -use tide::{Request, Response}; use indexmap::IndexMap; use meilisearch_core::settings::{SettingsUpdate, UpdateState}; +use tide::{Request, Response}; use crate::error::{ResponseError, SResult}; use crate::helpers::tide::RequestExt; @@ -39,7 +39,8 @@ pub async fn get(ctx: Request) -> SResult { pub async fn update(mut ctx: Request) -> SResult { ctx.is_allowed(SettingsWrite)?; - let data: BTreeMap> = ctx.body_json().await.map_err(ResponseError::bad_request)?; + let data: BTreeMap> = + ctx.body_json().await.map_err(ResponseError::bad_request)?; let index = ctx.index()?; @@ -48,7 +49,7 @@ pub async fn update(mut ctx: Request) -> SResult { let settings = SettingsUpdate { synonyms: UpdateState::Update(data), - .. SettingsUpdate::default() + ..SettingsUpdate::default() }; let update_id = index.settings_update(&mut writer, settings)?; @@ -59,7 +60,6 @@ pub async fn update(mut ctx: Request) -> SResult { Ok(tide::Response::new(202).body_json(&response_body).unwrap()) } - pub async fn delete(ctx: Request) -> SResult { ctx.is_allowed(SettingsWrite)?; @@ -70,7 +70,7 @@ pub async fn delete(ctx: Request) -> SResult { let settings = SettingsUpdate { synonyms: UpdateState::Clear, - .. SettingsUpdate::default() + ..SettingsUpdate::default() }; let update_id = index.settings_update(&mut writer, settings)?; diff --git a/meilisearch-http/tests/common.rs b/meilisearch-http/tests/common.rs index ef0ec943b..3bf9a73a5 100644 --- a/meilisearch-http/tests/common.rs +++ b/meilisearch-http/tests/common.rs @@ -2,6 +2,7 @@ use std::error::Error; use std::time::Duration; +use async_std::task::{block_on, sleep}; use http_service::Body; use http_service_mock::{make_server, TestBackend}; use meilisearch_http::data::Data; @@ -10,7 +11,6 @@ use meilisearch_http::routes; use serde_json::json; use tempdir::TempDir; use tide::server::Service; -use async_std::task::{block_on, sleep}; pub fn setup_server() -> Result>, Box> { let tmp_dir = TempDir::new("meilisearch")?; @@ -29,13 +29,18 @@ pub fn setup_server() -> Result>, Box> { Ok(make_server(http_server)?) } -pub fn enrich_server_with_movies_index(server: &mut TestBackend>) -> Result<(), Box> { - +pub fn enrich_server_with_movies_index( + server: &mut TestBackend>, +) -> Result<(), Box> { let body = json!({ "uid": "movies", - }).to_string().into_bytes(); + }) + .to_string() + .into_bytes(); - let req = http::Request::post("/indexes").body(Body::from(body)).unwrap(); + let req = http::Request::post("/indexes") + .body(Body::from(body)) + .unwrap(); let res = server.simulate(req).unwrap(); println!("enrich_server_with_movies_index: {:?}", res.status()); @@ -43,8 +48,9 @@ pub fn enrich_server_with_movies_index(server: &mut TestBackend>) Ok(()) } -pub fn enrich_server_with_movies_settings(server: &mut TestBackend>) -> Result<(), Box> { - +pub fn enrich_server_with_movies_settings( + server: &mut TestBackend>, +) -> Result<(), Box> { let json = json!({ "rankingRules": [ "_typo", @@ -87,7 +93,9 @@ pub fn enrich_server_with_movies_settings(server: &mut TestBackend let body = json.to_string().into_bytes(); - let req = http::Request::post("/indexes/movies/settings").body(Body::from(body)).unwrap(); + let req = http::Request::post("/indexes/movies/settings") + .body(Body::from(body)) + .unwrap(); let res = server.simulate(req).unwrap(); println!("enrich_server_with_movies_settings: {:?}", res.status()); @@ -97,11 +105,14 @@ pub fn enrich_server_with_movies_settings(server: &mut TestBackend Ok(()) } -pub fn enrich_server_with_movies_documents(server: &mut TestBackend>) -> Result<(), Box> { - +pub fn enrich_server_with_movies_documents( + server: &mut TestBackend>, +) -> Result<(), Box> { let body = include_bytes!("assets/movies.json").to_vec(); - let req = http::Request::post("/indexes/movies/documents").body(Body::from(body)).unwrap(); + let req = http::Request::post("/indexes/movies/documents") + .body(Body::from(body)) + .unwrap(); let res = server.simulate(req).unwrap(); println!("enrich_server_with_movies_documents: {:?}", res.status()); @@ -110,4 +121,3 @@ pub fn enrich_server_with_movies_documents(server: &mut TestBackend