From c48975bf7903c3be814262e1b2c582a34c6e8ef7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tanguy=20G=C3=A9r=C3=B4me?= Date: Fri, 30 May 2025 14:48:28 +0300 Subject: [PATCH] Fetch only publish entries from Directus --- src/services/directus.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/services/directus.rs b/src/services/directus.rs index dd6eb33..c396b97 100644 --- a/src/services/directus.rs +++ b/src/services/directus.rs @@ -25,7 +25,7 @@ impl DirectusClient { } pub async fn list_items_in_collection(&self, collection: &str, primary_key: &str) -> Result> { - let response = self.reqwest_client.get(format!("{}/items/{}?fields={}", self.base_url, collection, primary_key)) + let response = self.reqwest_client.get(format!("{}/items/{}?fields={}&filter[status][_eq]=published", self.base_url, collection, primary_key)) .header("Authorization", format!("Bearer {}", self.access_token)) .send().await?; let items_json = response.json::>>().await?; @@ -34,7 +34,7 @@ impl DirectusClient { } pub async fn get_item_json(&self, collection: &str, id: &str) -> Result { - let response = self.reqwest_client.get(format!("{}/items/{}/{}?fields=*,*.*,translations.*", self.base_url, collection, id)) + let response = self.reqwest_client.get(format!("{}/items/{}/{}?fields=*,*.*,translations.*&filter[status][_eq]=published", self.base_url, collection, id)) .header("Authorization", format!("Bearer {}", self.access_token)) .send().await?; let json = &response.json::().await?; @@ -42,7 +42,7 @@ impl DirectusClient { } pub async fn get_item Deserialize<'a>>(&self, locale: &str, collection: &str, id: &str) -> Result { - let response = self.reqwest_client.get(format!("{}/items/{}/{}?fields=*,*.*,translations.*", self.base_url, collection, id)) + let response = self.reqwest_client.get(format!("{}/items/{}/{}?fields=*,*.*,translations.*&filter[status][_eq]=published", self.base_url, collection, id)) .header("Authorization", format!("Bearer {}", self.access_token)) .send().await?; let json = &response.json::().await?; @@ -58,7 +58,7 @@ impl DirectusClient { } pub async fn get_all_items_in_collection Deserialize<'a>>(&self, locale: &str, collection: &str) -> Result> { - let response = self.reqwest_client.get(format!("{}/items/{}?fields=*,*.*,translations.*&sort=-date_created", self.base_url, collection)) + let response = self.reqwest_client.get(format!("{}/items/{}?fields=*,*.*,translations.*&sort=-date_created&filter[status][_eq]=published", self.base_url, collection)) .header("Authorization", format!("Bearer {}", self.access_token)) .send().await?; let json = &response.json::().await?;