pub mod activity_subscription;
pub mod add_members;
pub mod create;
pub mod delete;
pub mod get;
pub mod list;
pub mod models;
pub mod patch;
pub mod remove_members;
pub mod tasks;
pub mod update;
use openlark_core::config::Config;
use std::sync::Arc;
#[derive(Clone)]
pub struct Tasklist {
config: Arc<Config>,
}
impl Tasklist {
pub fn new(config: Arc<Config>) -> Self {
Self { config }
}
pub fn create(&self) -> create::CreateTasklistRequest {
create::CreateTasklistRequest::new(self.config.clone())
}
pub fn get(&self, tasklist_guid: impl Into<String>) -> get::GetTasklistRequest {
get::GetTasklistRequest::new(self.config.clone(), tasklist_guid.into())
}
pub fn update(&self, tasklist_guid: impl Into<String>) -> update::UpdateTasklistRequest {
update::UpdateTasklistRequest::new(self.config.clone(), tasklist_guid.into())
}
pub fn delete(&self, tasklist_guid: impl Into<String>) -> delete::DeleteTasklistRequest {
delete::DeleteTasklistRequest::new(self.config.clone(), tasklist_guid.into())
}
pub fn list(&self) -> list::ListTasklistsRequest {
list::ListTasklistsRequest::new(self.config.clone())
}
pub fn activity_subscription(
&self,
tasklist_guid: impl Into<String>,
) -> activity_subscription::ActivitySubscriptionResource {
activity_subscription::ActivitySubscriptionResource::new(
self.config.clone(),
tasklist_guid.into(),
)
}
pub fn tasks(&self, tasklist_guid: impl Into<String>) -> tasks::GetTasklistTasksRequest {
tasks::GetTasklistTasksRequest::new(self.config.clone(), tasklist_guid.into())
}
pub fn add_members(
&self,
tasklist_guid: impl Into<String>,
) -> add_members::AddTasklistMembersRequest {
add_members::AddTasklistMembersRequest::new(self.config.clone(), tasklist_guid.into())
}
pub fn remove_members(
&self,
tasklist_guid: impl Into<String>,
) -> remove_members::RemoveTasklistMembersRequest {
remove_members::RemoveTasklistMembersRequest::new(self.config.clone(), tasklist_guid.into())
}
}
pub use add_members::AddTasklistMembersRequest;
pub use create::CreateTasklistRequest;
pub use delete::DeleteTasklistRequest;
pub use get::GetTasklistRequest;
pub use list::ListTasklistsRequest;
pub use patch::UpdateTasklistRequest;
pub use remove_members::RemoveTasklistMembersRequest;
pub use tasks::GetTasklistTasksRequest;
pub use add_members::{AddTasklistMembersBody, AddTasklistMembersResponse, TasklistMember};
pub use models::{
CreateTasklistBody, CreateTasklistResponse, DeleteTasklistResponse, GetTasklistResponse,
ListTasklistsResponse, TasklistIcon, TasklistItem, UpdateTasklistBody, UpdateTasklistResponse,
};
pub use remove_members::{RemoveTasklistMembersBody, RemoveTasklistMembersResponse};
#[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_tasklist_new() {
let config = create_test_config();
let _tasklist = Tasklist::new(config);
}
#[test]
fn test_tasklist_create() {
let config = create_test_config();
let tasklist = Tasklist::new(config);
let _request = tasklist.create();
}
#[test]
fn test_tasklist_get() {
let config = create_test_config();
let tasklist = Tasklist::new(config);
let _request = tasklist.get("tasklist_guid_123");
}
#[test]
fn test_tasklist_update() {
let config = create_test_config();
let tasklist = Tasklist::new(config);
let _request = tasklist.update("tasklist_guid_123");
}
#[test]
fn test_tasklist_delete() {
let config = create_test_config();
let tasklist = Tasklist::new(config);
let _request = tasklist.delete("tasklist_guid_123");
}
#[test]
fn test_tasklist_list() {
let config = create_test_config();
let tasklist = Tasklist::new(config);
let _request = tasklist.list();
}
#[test]
fn test_tasklist_activity_subscription() {
let config = create_test_config();
let tasklist = Tasklist::new(config);
let _resource = tasklist.activity_subscription("tasklist_guid_123");
}
#[test]
fn test_tasklist_tasks() {
let config = create_test_config();
let tasklist = Tasklist::new(config);
let _request = tasklist.tasks("tasklist_guid_123");
}
#[test]
fn test_tasklist_add_members() {
let config = create_test_config();
let tasklist = Tasklist::new(config);
let _request = tasklist.add_members("tasklist_guid_123");
}
#[test]
fn test_tasklist_remove_members() {
let config = create_test_config();
let tasklist = Tasklist::new(config);
let _request = tasklist.remove_members("tasklist_guid_123");
}
}