mod client;
mod knowledge;
mod models;
pub mod storage;
pub use client::StakpakApiClient;
pub use knowledge::KnowledgeApiError;
pub use models::*;
#[derive(Clone, Debug)]
pub struct StakpakApiConfig {
pub api_key: String,
pub api_endpoint: String,
}
impl StakpakApiConfig {
pub fn new(api_key: impl Into<String>) -> Self {
Self {
api_key: api_key.into(),
api_endpoint: "https://apiv2.stakpak.dev".to_string(),
}
}
pub fn with_endpoint(mut self, endpoint: impl Into<String>) -> Self {
self.api_endpoint = endpoint.into();
self
}
}
impl Default for StakpakApiConfig {
fn default() -> Self {
Self::new(std::env::var("STAKPAK_API_KEY").unwrap_or_default())
}
}