Return the correct response JSON object from the facet-search route

This commit is contained in:
Clément Renault 2023-04-26 17:09:59 +02:00 committed by Louis Dureuil
parent 893592c5e9
commit 93f30e65a9
No known key found for this signature in database
5 changed files with 28 additions and 58 deletions

View file

@ -2,16 +2,13 @@ use std::collections::{BTreeSet, HashSet};
use actix_web::web::Data;
use actix_web::{web, HttpRequest, HttpResponse};
use deserr::actix_web::{AwebJson, AwebQueryParameter};
use deserr::actix_web::AwebJson;
use index_scheduler::IndexScheduler;
use log::debug;
use meilisearch_types::deserr::query_params::Param;
use meilisearch_types::deserr::{DeserrJsonError, DeserrQueryParamError};
use meilisearch_types::deserr::DeserrJsonError;
use meilisearch_types::error::deserr_codes::*;
use meilisearch_types::error::ResponseError;
use meilisearch_types::index_uid::IndexUid;
use meilisearch_types::milli::facet;
use meilisearch_types::serde_cs::vec::CS;
use serde_json::Value;
use crate::analytics::{Analytics, FacetSearchAggregator};
@ -27,45 +24,6 @@ pub fn configure(cfg: &mut web::ServiceConfig) {
cfg.service(web::resource("").route(web::post().to(search)));
}
// #[derive(Debug, deserr::Deserr)]
// #[deserr(error = DeserrQueryParamError, rename_all = camelCase, deny_unknown_fields)]
// pub struct FacetSearchQuery {
// #[deserr(default, error = DeserrQueryParamError<InvalidSearchQ>)]
// facetQuery: Option<String>,
// #[deserr(default = Param(DEFAULT_SEARCH_OFFSET()), error = DeserrQueryParamError<InvalidSearchOffset>)]
// offset: Param<usize>,
// #[deserr(default = Param(DEFAULT_SEARCH_LIMIT()), error = DeserrQueryParamError<InvalidSearchLimit>)]
// limit: Param<usize>,
// #[deserr(default, error = DeserrQueryParamError<InvalidSearchPage>)]
// page: Option<Param<usize>>,
// #[deserr(default, error = DeserrQueryParamError<InvalidSearchHitsPerPage>)]
// hits_per_page: Option<Param<usize>>,
// #[deserr(default, error = DeserrQueryParamError<InvalidSearchAttributesToRetrieve>)]
// attributes_to_retrieve: Option<CS<String>>,
// #[deserr(default, error = DeserrQueryParamError<InvalidSearchAttributesToCrop>)]
// attributes_to_crop: Option<CS<String>>,
// #[deserr(default = Param(DEFAULT_CROP_LENGTH()), error = DeserrQueryParamError<InvalidSearchCropLength>)]
// crop_length: Param<usize>,
// #[deserr(default, error = DeserrQueryParamError<InvalidSearchAttributesToHighlight>)]
// attributes_to_highlight: Option<CS<String>>,
// #[deserr(default, error = DeserrQueryParamError<InvalidSearchFilter>)]
// filter: Option<String>,
// #[deserr(default, error = DeserrQueryParamError<InvalidSearchSort>)]
// sort: Option<String>,
// #[deserr(default, error = DeserrQueryParamError<InvalidSearchShowMatchesPosition>)]
// show_matches_position: Param<bool>,
// #[deserr(default, error = DeserrQueryParamError<InvalidSearchFacets>)]
// facets: Option<CS<String>>,
// #[deserr( default = DEFAULT_HIGHLIGHT_PRE_TAG(), error = DeserrQueryParamError<InvalidSearchHighlightPreTag>)]
// highlight_pre_tag: String,
// #[deserr( default = DEFAULT_HIGHLIGHT_POST_TAG(), error = DeserrQueryParamError<InvalidSearchHighlightPostTag>)]
// highlight_post_tag: String,
// #[deserr(default = DEFAULT_CROP_MARKER(), error = DeserrQueryParamError<InvalidSearchCropMarker>)]
// crop_marker: String,
// #[deserr(default, error = DeserrQueryParamError<InvalidSearchMatchingStrategy>)]
// matching_strategy: MatchingStrategy,
// }
// TODO improve the error messages
#[derive(Debug, Clone, Default, PartialEq, Eq, deserr::Deserr)]
#[deserr(error = DeserrJsonError, rename_all = camelCase, deny_unknown_fields)]