mirror of
https://github.com/meilisearch/meilisearch.git
synced 2024-11-26 03:55:07 +08:00
Bump serde-cs to simplify our usage of the star_or function
This commit is contained in:
parent
64b5b2e1f8
commit
277a0a7967
4
Cargo.lock
generated
4
Cargo.lock
generated
@ -3078,9 +3078,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "serde-cs"
|
name = "serde-cs"
|
||||||
version = "0.2.2"
|
version = "0.2.3"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "18d5b0435c9139761fbe5abeb1283234bcfbde88fadc2ae432579648fbce72ad"
|
checksum = "8202c9f3f58762d274952790ff8a1f1f625b5664f75e5dc1952c8dcacc64a925"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"serde",
|
"serde",
|
||||||
]
|
]
|
||||||
|
@ -62,7 +62,7 @@ rustls = "0.20.4"
|
|||||||
rustls-pemfile = "0.3.0"
|
rustls-pemfile = "0.3.0"
|
||||||
segment = { version = "0.2.0", optional = true }
|
segment = { version = "0.2.0", optional = true }
|
||||||
serde = { version = "1.0.136", features = ["derive"] }
|
serde = { version = "1.0.136", features = ["derive"] }
|
||||||
serde-cs = "0.2.2"
|
serde-cs = "0.2.3"
|
||||||
serde_json = { version = "1.0.79", features = ["preserve_order"] }
|
serde_json = { version = "1.0.79", features = ["preserve_order"] }
|
||||||
sha2 = "0.10.2"
|
sha2 = "0.10.2"
|
||||||
siphasher = "0.3.10"
|
siphasher = "0.3.10"
|
||||||
|
@ -99,7 +99,7 @@ pub async fn get_document(
|
|||||||
let index = path.index_uid.clone();
|
let index = path.index_uid.clone();
|
||||||
let id = path.document_id.clone();
|
let id = path.document_id.clone();
|
||||||
let GetDocument { fields } = params.into_inner();
|
let GetDocument { fields } = params.into_inner();
|
||||||
let attributes_to_retrieve = fields.map(CS::into_inner).and_then(fold_star_or);
|
let attributes_to_retrieve = fields.and_then(fold_star_or);
|
||||||
|
|
||||||
let document = meilisearch
|
let document = meilisearch
|
||||||
.document(index, id, attributes_to_retrieve)
|
.document(index, id, attributes_to_retrieve)
|
||||||
@ -143,7 +143,7 @@ pub async fn get_all_documents(
|
|||||||
offset,
|
offset,
|
||||||
fields,
|
fields,
|
||||||
} = params.into_inner();
|
} = params.into_inner();
|
||||||
let attributes_to_retrieve = fields.map(CS::into_inner).and_then(fold_star_or);
|
let attributes_to_retrieve = fields.and_then(fold_star_or);
|
||||||
|
|
||||||
let (total, documents) = meilisearch
|
let (total, documents) = meilisearch
|
||||||
.documents(path.into_inner(), offset, limit, attributes_to_retrieve)
|
.documents(path.into_inner(), offset, limit, attributes_to_retrieve)
|
||||||
|
@ -50,23 +50,6 @@ pub struct SearchQueryGet {
|
|||||||
|
|
||||||
impl From<SearchQueryGet> for SearchQuery {
|
impl From<SearchQueryGet> for SearchQuery {
|
||||||
fn from(other: SearchQueryGet) -> Self {
|
fn from(other: SearchQueryGet) -> Self {
|
||||||
let attributes_to_retrieve = other
|
|
||||||
.attributes_to_retrieve
|
|
||||||
.map(CS::into_inner)
|
|
||||||
.and_then(fold_star_or);
|
|
||||||
|
|
||||||
let attributes_to_crop = other
|
|
||||||
.attributes_to_crop
|
|
||||||
.map(CS::into_inner)
|
|
||||||
.and_then(fold_star_or);
|
|
||||||
|
|
||||||
let attributes_to_highlight = other
|
|
||||||
.attributes_to_highlight
|
|
||||||
.map(CS::into_inner)
|
|
||||||
.and_then(fold_star_or);
|
|
||||||
|
|
||||||
let facets = other.facets.map(CS::into_inner).and_then(fold_star_or);
|
|
||||||
|
|
||||||
let filter = match other.filter {
|
let filter = match other.filter {
|
||||||
Some(f) => match serde_json::from_str(&f) {
|
Some(f) => match serde_json::from_str(&f) {
|
||||||
Ok(v) => Some(v),
|
Ok(v) => Some(v),
|
||||||
@ -75,20 +58,18 @@ impl From<SearchQueryGet> for SearchQuery {
|
|||||||
None => None,
|
None => None,
|
||||||
};
|
};
|
||||||
|
|
||||||
let sort = other.sort.map(|attr| fix_sort_query_parameters(&attr));
|
|
||||||
|
|
||||||
Self {
|
Self {
|
||||||
q: other.q,
|
q: other.q,
|
||||||
offset: other.offset,
|
offset: other.offset,
|
||||||
limit: other.limit.unwrap_or_else(DEFAULT_SEARCH_LIMIT),
|
limit: other.limit.unwrap_or_else(DEFAULT_SEARCH_LIMIT),
|
||||||
attributes_to_retrieve,
|
attributes_to_retrieve: other.attributes_to_retrieve.and_then(fold_star_or),
|
||||||
attributes_to_crop,
|
attributes_to_crop: other.attributes_to_crop.and_then(fold_star_or),
|
||||||
crop_length: other.crop_length,
|
crop_length: other.crop_length,
|
||||||
attributes_to_highlight,
|
attributes_to_highlight: other.attributes_to_highlight.and_then(fold_star_or),
|
||||||
filter,
|
filter,
|
||||||
sort,
|
sort: other.sort.map(|attr| fix_sort_query_parameters(&attr)),
|
||||||
show_matches_position: other.show_matches_position,
|
show_matches_position: other.show_matches_position,
|
||||||
facets,
|
facets: other.facets.and_then(fold_star_or),
|
||||||
highlight_pre_tag: other.highlight_pre_tag,
|
highlight_pre_tag: other.highlight_pre_tag,
|
||||||
highlight_post_tag: other.highlight_post_tag,
|
highlight_post_tag: other.highlight_post_tag,
|
||||||
crop_marker: other.crop_marker,
|
crop_marker: other.crop_marker,
|
||||||
|
@ -81,9 +81,9 @@ async fn get_tasks(
|
|||||||
|
|
||||||
// We first transform a potential indexUid=* into a "not specified indexUid filter"
|
// We first transform a potential indexUid=* into a "not specified indexUid filter"
|
||||||
// for every one of the filters: type, status, and indexUid.
|
// for every one of the filters: type, status, and indexUid.
|
||||||
let type_: Option<Vec<_>> = type_.map(CS::into_inner).and_then(fold_star_or);
|
let type_: Option<Vec<_>> = type_.and_then(fold_star_or);
|
||||||
let status: Option<Vec<_>> = status.map(CS::into_inner).and_then(fold_star_or);
|
let status: Option<Vec<_>> = status.and_then(fold_star_or);
|
||||||
let index_uid: Option<Vec<_>> = index_uid.map(CS::into_inner).and_then(fold_star_or);
|
let index_uid: Option<Vec<_>> = index_uid.and_then(fold_star_or);
|
||||||
|
|
||||||
// Then we filter on potential indexes and make sure that the search filter
|
// Then we filter on potential indexes and make sure that the search filter
|
||||||
// restrictions are also applied.
|
// restrictions are also applied.
|
||||||
|
Loading…
Reference in New Issue
Block a user