use openlark_core::config::Config;
use std::sync::Arc;
#[derive(Clone)]
pub struct ApplicationService {
_config: Arc<Config>,
}
impl ApplicationService {
pub fn new(config: Config) -> Self {
Self {
_config: Arc::new(config),
}
}
#[cfg(feature = "v1")]
pub fn v1(&self) -> crate::application::application::v1::ApplicationV1 {
crate::application::application::v1::ApplicationV1::new(self._config.clone())
}
#[cfg(feature = "v5")]
pub fn v5(&self) -> crate::application::application::v5::ApplicationV5 {
crate::application::application::v5::ApplicationV5::new(self._config.clone())
}
#[cfg(feature = "v6")]
pub fn v6(&self) -> crate::application::application::v6::ApplicationV6 {
crate::application::application::v6::ApplicationV6::new(self._config.clone())
}
#[cfg(feature = "v7")]
pub fn v7(&self) -> crate::application::application::v7::ApplicationV7 {
crate::application::application::v7::ApplicationV7::new(self._config.clone())
}
#[cfg(feature = "workplace")]
pub fn workplace(&self) -> crate::workplace::workplace::v1::WorkplaceV1 {
crate::workplace::workplace::v1::WorkplaceV1::new(self._config.clone())
}
}