From a9fd70708ab94942f07496f2435f4dcad83117c5 Mon Sep 17 00:00:00 2001 From: meili-bot <74670311+meili-bot@users.noreply.github.com> Date: Wed, 22 Jan 2025 10:42:51 +0100 Subject: [PATCH 1/2] Update README.md From 3bc9691fff2d24d3b8bdab24a8baf8dd56a71878 Mon Sep 17 00:00:00 2001 From: Frank Elsinga Date: Fri, 24 Jan 2025 21:44:56 +0100 Subject: [PATCH 2/2] Remove in the next version non-exitant experimental feature --- .code-samples.meilisearch.yaml | 4 +-- src/features.rs | 45 ++++++++-------------------------- src/tenant_tokens.rs | 2 +- 3 files changed, 13 insertions(+), 38 deletions(-) diff --git a/.code-samples.meilisearch.yaml b/.code-samples.meilisearch.yaml index dd56fe90..a6af001d 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 } } diff --git a/src/tenant_tokens.rs b/src/tenant_tokens.rs index bb561f71..24052d41 100644 --- a/src/tenant_tokens.rs +++ b/src/tenant_tokens.rs @@ -29,7 +29,7 @@ pub fn generate_tenant_token( return Err(Error::InvalidUuid4Version); } - if expires_at.map_or(false, |expires_at| OffsetDateTime::now_utc() > expires_at) { + if expires_at.is_some_and(|expires_at| OffsetDateTime::now_utc() > expires_at) { return Err(Error::TenantTokensExpiredSignature); }