diff --git a/Cargo.lock b/Cargo.lock index 7b18e75..ab85184 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -519,7 +519,7 @@ dependencies = [ [[package]] name = "pxserv" -version = "1.0.0" +version = "1.0.1" dependencies = [ "reqwest", "serde_json", diff --git a/Cargo.toml b/Cargo.toml index e78f999..821e780 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pxserv" -version = "1.0.0" +version = "1.0.1" description = "PxServ Library for Rust" edition = "2021" authors = ["mustafa 'pxsty' kok "] diff --git a/README.md b/README.md index a262c22..8749969 100644 --- a/README.md +++ b/README.md @@ -21,26 +21,29 @@ use pxserv::PxServ; fn main() { // PxServ örneği oluşturma - let client = PxServ::new("API_KEY".to_string()); + let client = PxServ::new("API_KEY"); // Veri kaydetme - let status = client.setdata("temperature".to_string(), "22.5°C".to_string()); - println!("Durum: {}, Mesaj: {}", status.status, status.message); + let set_response = client.setdata("temperature", "22.5°C"); + println!( + "Durum: {}, Mesaj: {}", + set_response.status, set_response.message + ); // Veri çekme - let response = client.getdata("temperature".to_string()); - if let Some(data) = response.data { - println!("Veri: {}", data); - } + let get_response = client.getdata("temperature"); + println!( + "Durum: {}, Mesaj: {}, Veri : {:?}", + get_response.status, get_response.message, get_response.data + ); // Veri silme - let delete_status = client.removedata("temperature".to_string()); + let remove_response = client.removedata("temperature"); println!( "Silme Durumu: {}, Mesaj: {}", - delete_status.status, delete_status.message + remove_response.status, remove_response.message ); } - ``` ### Katkıda Bulunma diff --git a/src/lib.rs b/src/lib.rs index 88645a2..7a1d99f 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -12,10 +12,13 @@ pub struct PxServStatus { } impl PxServ { - pub fn new(apikey: String) -> PxServ { - PxServ { apikey } + pub fn new(apikey: &str) -> PxServ { + PxServ { + apikey: apikey.to_string(), + } } - pub fn setdata(&self, key: String, value: String) -> PxServStatus { + + pub fn setdata(&self, key: &str, value: &str) -> PxServStatus { let client = Client::new(); let request_body = json!({ @@ -25,7 +28,7 @@ impl PxServ { let request = client .post("https://api.pxserv.net/database/setData") - .header("apikey", self.apikey.to_string()) + .header("apikey", &self.apikey) .json(&request_body) .send(); @@ -34,8 +37,16 @@ impl PxServ { let response_text = response.text().unwrap(); let json_response: Value = serde_json::from_str(&response_text).unwrap(); - let status = json_response.get("status").unwrap().to_string(); - let message = json_response.get("message").unwrap().to_string(); + let status = json_response + .get("status") + .and_then(|s| s.as_i64()) + .expect("PxServ API ERROR") + .to_string(); + let message = json_response + .get("message") + .and_then(|s| s.as_str()) + .expect("PxServ API ERROR") + .to_string(); return PxServStatus { status, @@ -52,7 +63,8 @@ impl PxServ { } } } - pub fn getdata(&self, key: String) -> PxServStatus { + + pub fn getdata(&self, key: &str) -> PxServStatus { let client = Client::new(); let request_body = json!({ @@ -61,7 +73,7 @@ impl PxServ { let request = client .post("https://api.pxserv.net/database/getData") - .header("apikey", self.apikey.to_string()) + .header("apikey", &self.apikey) .json(&request_body) .send(); @@ -70,15 +82,24 @@ impl PxServ { let response_text = response.text().unwrap(); let json_response: Value = serde_json::from_str(&response_text).unwrap(); - let status = json_response.get("status").unwrap().to_string(); - let message = json_response.get("message").unwrap().to_string(); + let status = json_response + .get("status") + .and_then(|s| s.as_i64()) + .expect("PxServ API ERROR") + .to_string(); + let message = json_response + .get("message") + .and_then(|s| s.as_str()) + .expect("PxServ API ERROR") + .to_string(); let data = if status == "200" { Some( json_response .get("data") .and_then(|f| f.get("value")) - .unwrap() + .and_then(|s| s.as_str()) + .expect("PxServ API ERROR") .to_string(), ) } else { @@ -100,7 +121,8 @@ impl PxServ { } } } - pub fn removedata(&self, key: String) -> PxServStatus { + + pub fn removedata(&self, key: &str) -> PxServStatus { let client = Client::new(); let request_body = json!({ @@ -109,7 +131,7 @@ impl PxServ { let request = client .post("https://api.pxserv.net/database/removeData") - .header("apikey", self.apikey.to_string()) + .header("apikey", &self.apikey) .json(&request_body) .send(); @@ -118,8 +140,16 @@ impl PxServ { let response_text = response.text().unwrap(); let json_response: Value = serde_json::from_str(&response_text).unwrap(); - let status = json_response.get("status").unwrap().to_string(); - let message = json_response.get("message").unwrap().to_string(); + let status = json_response + .get("status") + .and_then(|s| s.as_i64()) + .expect("PxServ API ERROR") + .to_string(); + let message = json_response + .get("message") + .and_then(|s| s.as_str()) + .expect("PxServ API ERROR") + .to_string(); return PxServStatus { status,