mirror of
https://github.com/meilisearch/meilisearch.git
synced 2024-11-27 04:25:06 +08:00
create an asc_desc error type that is never supposed to be returned to the end user
This commit is contained in:
parent
257e621d40
commit
86e272856a
@ -4,7 +4,7 @@ use std::str::FromStr;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::error::{Error, UserError};
|
||||
use crate::{AscDesc, Member};
|
||||
use crate::{AscDesc, AscDescError, Member};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Clone, PartialEq, Eq)]
|
||||
pub enum Criterion {
|
||||
@ -58,31 +58,24 @@ impl FromStr for Criterion {
|
||||
name: "_geoPoint".to_string(),
|
||||
})?
|
||||
}
|
||||
Err(UserError::InvalidAscDescSyntax { name }) => {
|
||||
Err(AscDescError::InvalidSyntax { name }) => {
|
||||
Err(UserError::InvalidRankingRuleName { name })?
|
||||
}
|
||||
Err(UserError::InvalidReservedAscDescSyntax { name })
|
||||
if name.starts_with("_geoPoint") =>
|
||||
{
|
||||
Err(AscDescError::ReservedKeyword { name }) if name.starts_with("_geoPoint") => {
|
||||
Err(UserError::InvalidReservedRankingRuleNameSort {
|
||||
name: "_geoPoint".to_string(),
|
||||
}
|
||||
.into())
|
||||
}
|
||||
Err(UserError::InvalidReservedAscDescSyntax { name })
|
||||
if name.starts_with("_geoRadius") =>
|
||||
{
|
||||
Err(AscDescError::ReservedKeyword { name }) if name.starts_with("_geoRadius") => {
|
||||
Err(UserError::InvalidReservedRankingRuleNameFilter {
|
||||
name: "_geoRadius".to_string(),
|
||||
}
|
||||
.into())
|
||||
}
|
||||
Err(UserError::InvalidReservedAscDescSyntax { name }) => {
|
||||
Err(AscDescError::ReservedKeyword { name }) => {
|
||||
Err(UserError::InvalidReservedRankingRuleName { name }.into())
|
||||
}
|
||||
Err(error) => {
|
||||
Err(UserError::InvalidRankingRuleName { name: error.to_string() }.into())
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
|
@ -56,8 +56,6 @@ pub enum FieldIdMapMissingEntry {
|
||||
pub enum UserError {
|
||||
AttributeLimitReached,
|
||||
DocumentLimitReached,
|
||||
InvalidAscDescSyntax { name: String },
|
||||
InvalidReservedAscDescSyntax { name: String },
|
||||
InvalidDocumentId { document_id: Value },
|
||||
InvalidFacetsDistribution { invalid_facets_name: HashSet<String> },
|
||||
InvalidFilter(pest::error::Error<ParserRule>),
|
||||
@ -226,22 +224,12 @@ impl fmt::Display for UserError {
|
||||
)
|
||||
}
|
||||
Self::InvalidFilter(error) => error.fmt(f),
|
||||
Self::InvalidAscDescSyntax { name } => {
|
||||
write!(f, "invalid asc/desc syntax for {}", name)
|
||||
}
|
||||
Self::InvalidGeoField { document_id, object } => write!(
|
||||
f,
|
||||
"the document with the id: {} contains an invalid _geo field: {}",
|
||||
document_id, object
|
||||
),
|
||||
Self::InvalidRankingRuleName { name } => write!(f, "invalid ranking rule {}", name),
|
||||
Self::InvalidReservedAscDescSyntax { name } => {
|
||||
write!(
|
||||
f,
|
||||
"{} is a reserved keyword and thus can't be used as a asc/desc rule",
|
||||
name
|
||||
)
|
||||
}
|
||||
Self::InvalidReservedRankingRuleName { name } => {
|
||||
write!(f, "{} is a reserved keyword and thus can't be used as a ranking rule", name)
|
||||
}
|
||||
|
@ -25,7 +25,7 @@ use fxhash::{FxHasher32, FxHasher64};
|
||||
pub use grenad::CompressionType;
|
||||
use serde_json::{Map, Value};
|
||||
|
||||
pub use self::asc_desc::{AscDesc, Member};
|
||||
pub use self::asc_desc::{AscDesc, AscDescError, Member};
|
||||
pub use self::criterion::{default_criteria, Criterion};
|
||||
pub use self::error::{
|
||||
Error, FieldIdMapMissingEntry, InternalError, SerializationError, UserError,
|
||||
|
Loading…
Reference in New Issue
Block a user