openlark_analytics/
service.rs1use crate::AnalyticsConfig;
6use std::sync::Arc;
7
8#[derive(Debug, Clone)]
12pub struct AnalyticsService {
13 config: Arc<AnalyticsConfig>,
15}
16
17impl AnalyticsService {
18 pub fn new(config: AnalyticsConfig) -> Self {
23 Self {
24 config: Arc::new(config),
25 }
26 }
27
28 pub fn config(&self) -> Arc<AnalyticsConfig> {
30 self.config.clone()
31 }
32}
33
34#[cfg(test)]
35#[allow(unused_imports)]
36mod tests {
37 use super::*;
38
39 #[test]
40 fn test_service_creation() {
41 let config = AnalyticsConfig::builder()
42 .app_id("test_app_id")
43 .app_secret("test_app_secret")
44 .build();
45
46 let service = AnalyticsService::new(config);
47 assert_eq!(service.config().app_id(), "test_app_id");
48 }
49}