mirror of
https://github.com/meilisearch/MeiliSearch
synced 2025-07-04 12:27:13 +02:00
Merge #2452
2452: Change http verbs r=ManyTheFish a=Kerollmops This PR fixes #2419 by updating the HTTP verbs used to update the settings and every single setting parameter. - [x] `PATCH /indexes/{indexUid}` instead of `PUT` - [x] `PATCH /indexes/{indexUid}/settings` instead of `POST` - [x] `PATCH /indexes/{indexUid}/settings/typo-tolerance` instead of `POST` - [x] `PUT /indexes/{indexUid}/settings/displayed-attributes` instead of `POST` - [x] `PUT /indexes/{indexUid}/settings/distinct-attribute` instead of `POST` - [x] `PUT /indexes/{indexUid}/settings/filterable-attributes` instead of `POST` - [x] `PUT /indexes/{indexUid}/settings/ranking-rules` instead of `POST` - [x] `PUT /indexes/{indexUid}/settings/searchable-attributes` instead of `POST` - [x] `PUT /indexes/{indexUid}/settings/sortable-attributes` instead of `POST` - [x] `PUT /indexes/{indexUid}/settings/stop-words` instead of `POST` - [x] `PUT /indexes/{indexUid}/settings/synonyms` instead of `POST` Co-authored-by: Kerollmops <clement@meilisearch.com>
This commit is contained in:
commit
cf2d8de48a
8 changed files with 96 additions and 56 deletions
|
@ -27,7 +27,7 @@ pub fn configure(cfg: &mut web::ServiceConfig) {
|
|||
.service(
|
||||
web::resource("")
|
||||
.route(web::get().to(SeqHandler(get_index)))
|
||||
.route(web::put().to(SeqHandler(update_index)))
|
||||
.route(web::patch().to(SeqHandler(update_index)))
|
||||
.route(web::delete().to(SeqHandler(delete_index))),
|
||||
)
|
||||
.service(web::resource("/stats").route(web::get().to(SeqHandler(get_index_stats))))
|
||||
|
|
|
@ -13,7 +13,7 @@ use crate::task::SummarizedTaskView;
|
|||
|
||||
#[macro_export]
|
||||
macro_rules! make_setting_route {
|
||||
($route:literal, $type:ty, $attr:ident, $camelcase_attr:literal, $analytics_var:ident, $analytics:expr) => {
|
||||
($route:literal, $update_verb:ident, $type:ty, $attr:ident, $camelcase_attr:literal, $analytics_var:ident, $analytics:expr) => {
|
||||
pub mod $attr {
|
||||
use actix_web::{web, HttpRequest, HttpResponse, Resource};
|
||||
use log::debug;
|
||||
|
@ -100,18 +100,27 @@ macro_rules! make_setting_route {
|
|||
pub fn resources() -> Resource {
|
||||
Resource::new($route)
|
||||
.route(web::get().to(SeqHandler(get)))
|
||||
.route(web::post().to(SeqHandler(update)))
|
||||
.route(web::$update_verb().to(SeqHandler(update)))
|
||||
.route(web::delete().to(SeqHandler(delete)))
|
||||
}
|
||||
}
|
||||
};
|
||||
($route:literal, $type:ty, $attr:ident, $camelcase_attr:literal) => {
|
||||
make_setting_route!($route, $type, $attr, $camelcase_attr, _analytics, |_, _| {});
|
||||
($route:literal, $update_verb:ident, $type:ty, $attr:ident, $camelcase_attr:literal) => {
|
||||
make_setting_route!(
|
||||
$route,
|
||||
$update_verb,
|
||||
$type,
|
||||
$attr,
|
||||
$camelcase_attr,
|
||||
_analytics,
|
||||
|_, _| {}
|
||||
);
|
||||
};
|
||||
}
|
||||
|
||||
make_setting_route!(
|
||||
"/filterable-attributes",
|
||||
put,
|
||||
std::collections::BTreeSet<String>,
|
||||
filterable_attributes,
|
||||
"filterableAttributes",
|
||||
|
@ -134,6 +143,7 @@ make_setting_route!(
|
|||
|
||||
make_setting_route!(
|
||||
"/sortable-attributes",
|
||||
put,
|
||||
std::collections::BTreeSet<String>,
|
||||
sortable_attributes,
|
||||
"sortableAttributes",
|
||||
|
@ -156,6 +166,7 @@ make_setting_route!(
|
|||
|
||||
make_setting_route!(
|
||||
"/displayed-attributes",
|
||||
put,
|
||||
Vec<String>,
|
||||
displayed_attributes,
|
||||
"displayedAttributes"
|
||||
|
@ -163,6 +174,7 @@ make_setting_route!(
|
|||
|
||||
make_setting_route!(
|
||||
"/typo-tolerance",
|
||||
patch,
|
||||
meilisearch_lib::index::updates::TypoSettings,
|
||||
typo_tolerance,
|
||||
"typoTolerance",
|
||||
|
@ -204,6 +216,7 @@ make_setting_route!(
|
|||
|
||||
make_setting_route!(
|
||||
"/searchable-attributes",
|
||||
put,
|
||||
Vec<String>,
|
||||
searchable_attributes,
|
||||
"searchableAttributes",
|
||||
|
@ -225,6 +238,7 @@ make_setting_route!(
|
|||
|
||||
make_setting_route!(
|
||||
"/stop-words",
|
||||
put,
|
||||
std::collections::BTreeSet<String>,
|
||||
stop_words,
|
||||
"stopWords"
|
||||
|
@ -232,6 +246,7 @@ make_setting_route!(
|
|||
|
||||
make_setting_route!(
|
||||
"/synonyms",
|
||||
put,
|
||||
std::collections::BTreeMap<String, Vec<String>>,
|
||||
synonyms,
|
||||
"synonyms"
|
||||
|
@ -239,6 +254,7 @@ make_setting_route!(
|
|||
|
||||
make_setting_route!(
|
||||
"/distinct-attribute",
|
||||
put,
|
||||
String,
|
||||
distinct_attribute,
|
||||
"distinctAttribute"
|
||||
|
@ -246,6 +262,7 @@ make_setting_route!(
|
|||
|
||||
make_setting_route!(
|
||||
"/ranking-rules",
|
||||
put,
|
||||
Vec<String>,
|
||||
ranking_rules,
|
||||
"rankingRules",
|
||||
|
@ -271,7 +288,7 @@ macro_rules! generate_configure {
|
|||
use crate::extractors::sequential_extractor::SeqHandler;
|
||||
cfg.service(
|
||||
web::resource("")
|
||||
.route(web::post().to(SeqHandler(update_all)))
|
||||
.route(web::patch().to(SeqHandler(update_all)))
|
||||
.route(web::get().to(SeqHandler(get_all)))
|
||||
.route(web::delete().to(SeqHandler(delete_all))))
|
||||
$(.service($mod::resources()))*;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue