diff --git a/.code-samples.meilisearch.yaml b/.code-samples.meilisearch.yaml index eaa501af..87bb9b5a 100644 --- a/.code-samples.meilisearch.yaml +++ b/.code-samples.meilisearch.yaml @@ -1649,8 +1649,8 @@ get_experimental_features_1: |- .unwrap(); update_experimental_features_1: |- let client = Client::new("http://localhost:7700", Some("apiKey")); - let mut features = ExperimentalFeatures::new(&client); - features.set_vector_store(true); + let features = ExperimentalFeatures::new(&client); + // update the feature you want here let res = features .update() .await diff --git a/src/features.rs b/src/features.rs index 3001beb4..dd7a5aef 100644 --- a/src/features.rs +++ b/src/features.rs @@ -8,9 +8,7 @@ use serde::{Deserialize, Serialize}; /// Struct representing the experimental features result from the API. #[derive(Clone, Debug, Deserialize)] #[serde(rename_all = "camelCase")] -pub struct ExperimentalFeaturesResult { - pub vector_store: bool, -} +pub struct ExperimentalFeaturesResult {} /// Struct representing the experimental features request. /// @@ -24,29 +22,18 @@ pub struct ExperimentalFeaturesResult { /// # let MEILISEARCH_API_KEY = option_env!("MEILISEARCH_API_KEY").unwrap_or("masterKey"); /// # let client = Client::new(MEILISEARCH_URL, Some(MEILISEARCH_API_KEY)).unwrap(); /// let mut features = ExperimentalFeatures::new(&client); -/// features.set_vector_store(true); /// ``` #[derive(Debug, Serialize)] #[serde(rename_all = "camelCase")] pub struct ExperimentalFeatures<'a, Http: HttpClient> { #[serde(skip_serializing)] client: &'a Client, - #[serde(skip_serializing_if = "Option::is_none")] - pub vector_store: Option, } impl<'a, Http: HttpClient> ExperimentalFeatures<'a, Http> { #[must_use] pub fn new(client: &'a Client) -> Self { - ExperimentalFeatures { - client, - vector_store: None, - } - } - - pub fn set_vector_store(&mut self, vector_store: bool) -> &mut Self { - self.vector_store = Some(vector_store); - self + ExperimentalFeatures { client } } /// Get all the experimental features @@ -83,11 +70,10 @@ impl<'a, Http: HttpClient> ExperimentalFeatures<'a, Http> { /// # let MEILISEARCH_URL = option_env!("MEILISEARCH_URL").unwrap_or("http://localhost:7700"); /// # let MEILISEARCH_API_KEY = option_env!("MEILISEARCH_API_KEY").unwrap_or("masterKey"); /// # let client = Client::new(MEILISEARCH_URL, Some(MEILISEARCH_API_KEY)).unwrap(); - /// tokio::runtime::Builder::new_current_thread().enable_all().build().unwrap().block_on(async { - /// let mut features = ExperimentalFeatures::new(&client); - /// features.set_vector_store(true); - /// features.update().await.unwrap(); - /// }); + /// # tokio::runtime::Builder::new_current_thread().enable_all().build().unwrap().block_on(async { + /// let features = ExperimentalFeatures::new(&client); + /// features.update().await.unwrap(); + /// # }); /// ``` pub async fn update(&self) -> Result { self.client @@ -111,22 +97,11 @@ mod tests { #[meilisearch_test] async fn test_experimental_features_get(client: Client) { - let mut features = ExperimentalFeatures::new(&client); - features.set_vector_store(false); + let features = ExperimentalFeatures::new(&client); + // set feature here, once some exist again let _ = features.update().await.unwrap(); - let res = features.get().await.unwrap(); - - assert!(!res.vector_store); - } - - #[meilisearch_test] - async fn test_experimental_features_enable_vector_store(client: Client) { - let mut features = ExperimentalFeatures::new(&client); - features.set_vector_store(true); - - let res = features.update().await.unwrap(); - - assert!(res.vector_store); + let _res = features.get().await.unwrap(); + // assert that the feature has been set once they exist again } }