use crate::PlatformConfig;
use std::sync::Arc;
#[derive(Debug, Clone)]
pub struct DirectoryService {
config: Arc<PlatformConfig>,
}
impl DirectoryService {
pub fn new(config: Arc<PlatformConfig>) -> Self {
Self { config }
}
pub fn config(&self) -> Arc<PlatformConfig> {
self.config.clone()
}
pub fn v1(&self) -> crate::directory::v1::DirectoryV1 {
crate::directory::v1::DirectoryV1::new(self.config.clone())
}
}
pub mod v1;
#[cfg(test)]
mod tests {
use crate::{PlatformConfig, directory::DirectoryService};
#[test]
fn test_service_creation() {
let config = PlatformConfig::builder()
.app_id("test_app_id")
.app_secret("test_app_secret")
.build();
let service = DirectoryService::new(std::sync::Arc::new(config));
assert_eq!(service.config().app_id(), "test_app_id");
}
}