pub mod create;
pub mod delete;
pub mod get;
pub mod list;
pub mod models;
pub mod patch;
use openlark_core::config::Config;
use std::sync::Arc;
#[derive(Clone)]
pub struct ActivitySubscriptionResource {
config: Arc<Config>,
tasklist_guid: String,
}
impl ActivitySubscriptionResource {
pub fn new(config: Arc<Config>, tasklist_guid: impl Into<String>) -> Self {
Self {
config,
tasklist_guid: tasklist_guid.into(),
}
}
pub fn create(&self) -> create::CreateActivitySubscriptionRequest {
create::CreateActivitySubscriptionRequest::new(
self.config.clone(),
self.tasklist_guid.clone(),
)
}
pub fn get(&self, subscription_guid: impl Into<String>) -> get::GetActivitySubscriptionRequest {
get::GetActivitySubscriptionRequest::new(
self.config.clone(),
self.tasklist_guid.clone(),
subscription_guid.into(),
)
}
pub fn patch(
&self,
subscription_guid: impl Into<String>,
) -> patch::UpdateActivitySubscriptionRequest {
patch::UpdateActivitySubscriptionRequest::new(
self.config.clone(),
self.tasklist_guid.clone(),
subscription_guid.into(),
)
}
pub fn delete(
&self,
subscription_guid: impl Into<String>,
) -> delete::DeleteActivitySubscriptionRequest {
delete::DeleteActivitySubscriptionRequest::new(
self.config.clone(),
self.tasklist_guid.clone(),
subscription_guid.into(),
)
}
pub fn list(&self) -> list::ListActivitySubscriptionsRequest {
list::ListActivitySubscriptionsRequest::new(self.config.clone(), self.tasklist_guid.clone())
}
}
pub use create::CreateActivitySubscriptionRequest;
pub use delete::DeleteActivitySubscriptionRequest;
pub use get::GetActivitySubscriptionRequest;
pub use list::ListActivitySubscriptionsRequest;
pub use patch::UpdateActivitySubscriptionRequest;
pub use models::{
ActivitySubscription, ActivitySubscriptionTargetType, ActivitySubscriptionType,
CreateActivitySubscriptionBody, CreateActivitySubscriptionResponse,
DeleteActivitySubscriptionResponse, GetActivitySubscriptionResponse,
ListActivitySubscriptionsResponse, UpdateActivitySubscriptionBody,
UpdateActivitySubscriptionResponse,
};
#[cfg(test)]
#[allow(unused_imports)]
mod tests {
use super::*;
use std::sync::Arc;
fn create_test_config() -> Arc<Config> {
Arc::new(
Config::builder()
.app_id("test_app")
.app_secret("test_secret")
.build(),
)
}
#[test]
fn test_activity_subscription_resource_new() {
let config = create_test_config();
let resource = ActivitySubscriptionResource::new(config, "tasklist_123");
assert_eq!(resource.tasklist_guid, "tasklist_123");
}
#[test]
fn test_activity_subscription_create() {
let config = create_test_config();
let resource = ActivitySubscriptionResource::new(config, "tasklist_123");
let _request = resource.create();
}
#[test]
fn test_activity_subscription_get() {
let config = create_test_config();
let resource = ActivitySubscriptionResource::new(config, "tasklist_123");
let _request = resource.get("subscription_456");
}
#[test]
fn test_activity_subscription_patch() {
let config = create_test_config();
let resource = ActivitySubscriptionResource::new(config, "tasklist_123");
let _request = resource.patch("subscription_456");
}
#[test]
fn test_activity_subscription_delete() {
let config = create_test_config();
let resource = ActivitySubscriptionResource::new(config, "tasklist_123");
let _request = resource.delete("subscription_456");
}
#[test]
fn test_activity_subscription_list() {
let config = create_test_config();
let resource = ActivitySubscriptionResource::new(config, "tasklist_123");
let _request = resource.list();
}
}