use std::collections::HashMap;
use serde_json::Value;
use crate::error::TombaError;
use crate::tomba::{Tomba, TombaResponse};
impl Tomba {
pub fn list_leads(
&self,
domain: Option<&str>,
) -> Result<TombaResponse, TombaError> {
let mut params = HashMap::new();
if let Some(v) = domain {
params.insert("domain".into(), v.into());
}
self.call("GET", "leads", ¶ms)
}
pub fn get_lead(&self, id: &str) -> Result<TombaResponse, TombaError> {
let path = format!("leads/{}", id);
self.call("GET", &path, &HashMap::new())
}
pub fn create_lead(
&self,
body: &Value,
) -> Result<TombaResponse, TombaError> {
self.call_json("POST", "leads", body)
}
pub fn update_lead(
&self,
id: &str,
body: &Value,
) -> Result<TombaResponse, TombaError> {
let path = format!("leads/{}", id);
self.call_json("PUT", &path, body)
}
pub fn delete_lead(&self, id: &str) -> Result<TombaResponse, TombaError> {
let path = format!("leads/{}", id);
self.call("DELETE", &path, &HashMap::new())
}
}