#[derive(Debug, Clone)]
pub struct HighLevelConfig {
pub client_id: String,
pub client_secret: String,
pub api_version: String,
pub base_url: String,
pub redirect_uri: Option<String>,
}
impl Default for HighLevelConfig {
fn default() -> Self {
Self {
client_id: String::new(),
client_secret: String::new(),
api_version: "2021-07-28".to_string(),
base_url: "https://services.leadconnectorhq.com".to_string(),
redirect_uri: None,
}
}
}
impl HighLevelConfig {
pub fn new(client_id: impl Into<String>, client_secret: impl Into<String>) -> Self {
Self {
client_id: client_id.into(),
client_secret: client_secret.into(),
..Default::default()
}
}
pub fn with_redirect_uri(mut self, redirect_uri: impl Into<String>) -> Self {
self.redirect_uri = Some(redirect_uri.into());
self
}
pub fn with_api_version(mut self, version: impl Into<String>) -> Self {
self.api_version = version.into();
self
}
}