From b22ae2cf8a9e2b6af1a54f79ecdb31ad4d2c31c5 Mon Sep 17 00:00:00 2001 From: Jake Swenson Date: Fri, 14 May 2021 07:20:01 -0700 Subject: clean code --- src/lib.rs | 40 +++++++++++++++++++++++++++------------- 1 file changed, 27 insertions(+), 13 deletions(-) (limited to 'src/lib.rs') diff --git a/src/lib.rs b/src/lib.rs index 7a65f31..53e639f 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,37 +1,45 @@ +use crate::models::search::SearchRequest; use crate::models::{Database, ListResponse}; use std::collections::HashMap; -use crate::models::search::SearchRequest; mod models; struct NotionApi { - token: String + token: String, } impl NotionApi { /// This method is apparently deprecated - pub async fn list_databases(&self) -> Result, Box> { + pub async fn list_databases( + &self, + ) -> Result, Box> { let client = reqwest::ClientBuilder::new().build()?; - let json = client.get("https://api.notion.com/v1/databases") + let json = client + .get("https://api.notion.com/v1/databases") .bearer_auth(self.token.clone()) .send() .await? - .text().await?; + .text() + .await?; dbg!(&json); let result = serde_json::from_str(&json)?; Ok(result) } - - pub async fn search>(&self, query: T) -> Result, Box> { + pub async fn search>( + &self, + query: T, + ) -> Result, Box> { let client = reqwest::ClientBuilder::new().build()?; - let json = client.post("https://api.notion.com/v1/search") + let json = client + .post("https://api.notion.com/v1/search") .bearer_auth(self.token.clone()) .json(&query.into()) .send() .await? - .text().await?; + .text() + .await?; dbg!(serde_json::from_str::(&json)?); let result = serde_json::from_str(&json)?; @@ -42,14 +50,14 @@ impl NotionApi { #[cfg(test)] mod tests { + use crate::models::search::{FilterProperty, FilterValue, NotionSearch}; use crate::NotionApi; - use crate::models::search::{NotionSearch, FilterValue, FilterProperty}; const TEST_TOKEN: &'static str = include_str!(".api_token"); #[tokio::test] async fn list_databases() -> Result<(), Box> { let api = NotionApi { - token: TEST_TOKEN.to_string() + token: TEST_TOKEN.to_string(), }; dbg!(api.list_databases().await?); @@ -60,10 +68,16 @@ mod tests { #[tokio::test] async fn search() -> Result<(), Box> { let api = NotionApi { - token: TEST_TOKEN.to_string() + token: TEST_TOKEN.to_string(), }; - dbg!(api.search(NotionSearch::Filter {value: FilterValue::Database, property: FilterProperty::Object}).await?); + dbg!( + api.search(NotionSearch::Filter { + value: FilterValue::Database, + property: FilterProperty::Object + }) + .await? + ); Ok(()) } -- cgit v1.2.3