openlark_application/
service.rs1use openlark_core::config::Config;
2use std::sync::Arc;
3
4#[derive(Clone)]
8pub struct ApplicationService {
9 _config: Arc<Config>,
11}
12
13impl ApplicationService {
14 pub fn new(config: Config) -> Self {
16 Self {
17 _config: Arc::new(config),
18 }
19 }
20
21 #[cfg(feature = "v1")]
23 pub fn v1(&self) -> crate::application::application::v1::ApplicationV1 {
24 crate::application::application::v1::ApplicationV1::new(self._config.clone())
25 }
26
27 #[cfg(feature = "v5")]
29 pub fn v5(&self) -> crate::application::application::v5::ApplicationV5 {
30 crate::application::application::v5::ApplicationV5::new(self._config.clone())
31 }
32
33 #[cfg(feature = "v6")]
35 pub fn v6(&self) -> crate::application::application::v6::ApplicationV6 {
36 crate::application::application::v6::ApplicationV6::new(self._config.clone())
37 }
38
39 #[cfg(feature = "v7")]
41 pub fn v7(&self) -> crate::application::application::v7::ApplicationV7 {
42 crate::application::application::v7::ApplicationV7::new(self._config.clone())
43 }
44
45 #[cfg(feature = "workplace")]
47 pub fn workplace(&self) -> crate::workplace::workplace::v1::WorkplaceV1 {
48 crate::workplace::workplace::v1::WorkplaceV1::new(self._config.clone())
49 }
50}