openlark_helpdesk/
service.rs1use openlark_core::config::Config;
2use std::sync::Arc;
3
4#[derive(Clone)]
6#[allow(dead_code)]
7pub struct HelpdeskService {
8 config: Arc<Config>,
9}
10
11impl HelpdeskService {
12 pub fn new(config: Config) -> Self {
14 Self {
15 config: Arc::new(config),
16 }
17 }
18
19 #[cfg(feature = "v1")]
21 pub fn helpdesk(&self) -> crate::helpdesk::helpdesk::Helpdesk {
22 crate::helpdesk::helpdesk::Helpdesk::new(self.config.clone())
23 }
24
25 #[cfg(feature = "v1")]
27 pub fn ticket(&self) -> crate::helpdesk::helpdesk::v1::ticket::Ticket {
28 crate::helpdesk::helpdesk::v1::ticket::Ticket::new(self.config.clone())
29 }
30}
31
32#[cfg(test)]
33#[allow(unused_imports)]
34mod tests {
35
36 #[test]
37 fn test_serialization_roundtrip() {
38 let json = r#"{"test": "value"}"#;
40 assert!(serde_json::from_str::<serde_json::Value>(json).is_ok());
41 }
42
43 #[test]
44 fn test_deserialization_from_json() {
45 let json = r#"{"field": "data"}"#;
47 let value: serde_json::Value = serde_json::from_str(json).expect("JSON 反序列化失败");
48 assert_eq!(value["field"], "data");
49 }
50}