openlark_workflow/v2/tasklist/
mod.rs1pub mod activity_subscription;
2pub mod add_members;
3pub mod create;
4pub mod delete;
5pub mod get;
6pub mod list;
7pub mod models;
8pub mod patch;
9pub mod remove_members;
10pub mod tasks;
11pub mod update;
12
13use openlark_core::config::Config;
14use std::sync::Arc;
15
16#[derive(Clone)]
18pub struct Tasklist {
19 config: Arc<Config>,
20}
21
22impl Tasklist {
23 pub fn new(config: Arc<Config>) -> Self {
24 Self { config }
25 }
26
27 pub fn create(&self) -> create::CreateTasklistRequest {
28 create::CreateTasklistRequest::new(self.config.clone())
29 }
30
31 pub fn get(&self, tasklist_guid: impl Into<String>) -> get::GetTasklistRequest {
32 get::GetTasklistRequest::new(self.config.clone(), tasklist_guid.into())
33 }
34
35 pub fn update(&self, tasklist_guid: impl Into<String>) -> update::UpdateTasklistRequest {
36 update::UpdateTasklistRequest::new(self.config.clone(), tasklist_guid.into())
37 }
38
39 pub fn delete(&self, tasklist_guid: impl Into<String>) -> delete::DeleteTasklistRequest {
40 delete::DeleteTasklistRequest::new(self.config.clone(), tasklist_guid.into())
41 }
42
43 pub fn list(&self) -> list::ListTasklistsRequest {
44 list::ListTasklistsRequest::new(self.config.clone())
45 }
46
47 pub fn activity_subscription(
49 &self,
50 tasklist_guid: impl Into<String>,
51 ) -> activity_subscription::ActivitySubscriptionResource {
52 activity_subscription::ActivitySubscriptionResource::new(
53 self.config.clone(),
54 tasklist_guid.into(),
55 )
56 }
57
58 pub fn tasks(&self, tasklist_guid: impl Into<String>) -> tasks::GetTasklistTasksRequest {
60 tasks::GetTasklistTasksRequest::new(self.config.clone(), tasklist_guid.into())
61 }
62
63 pub fn add_members(
65 &self,
66 tasklist_guid: impl Into<String>,
67 ) -> add_members::AddTasklistMembersRequest {
68 add_members::AddTasklistMembersRequest::new(self.config.clone(), tasklist_guid.into())
69 }
70
71 pub fn remove_members(
73 &self,
74 tasklist_guid: impl Into<String>,
75 ) -> remove_members::RemoveTasklistMembersRequest {
76 remove_members::RemoveTasklistMembersRequest::new(self.config.clone(), tasklist_guid.into())
77 }
78}
79
80pub use add_members::AddTasklistMembersRequest;
82pub use create::CreateTasklistRequest;
83pub use delete::DeleteTasklistRequest;
84pub use get::GetTasklistRequest;
85pub use list::ListTasklistsRequest;
86pub use patch::UpdateTasklistRequest;
87pub use remove_members::RemoveTasklistMembersRequest;
88pub use tasks::GetTasklistTasksRequest;
89
90pub use add_members::{AddTasklistMembersBody, AddTasklistMembersResponse, TasklistMember};
92pub use models::{
93 CreateTasklistBody, CreateTasklistResponse, DeleteTasklistResponse, GetTasklistResponse,
94 ListTasklistsResponse, TasklistIcon, TasklistItem, UpdateTasklistBody, UpdateTasklistResponse,
95};
96pub use remove_members::{RemoveTasklistMembersBody, RemoveTasklistMembersResponse};
97
98#[cfg(test)]
99#[allow(unused_imports)]
100mod tests {
101 use super::*;
102 use std::sync::Arc;
103
104 fn create_test_config() -> Arc<Config> {
105 Arc::new(
106 Config::builder()
107 .app_id("test_app")
108 .app_secret("test_secret")
109 .build(),
110 )
111 }
112
113 #[test]
114 fn test_tasklist_new() {
115 let config = create_test_config();
116 let _tasklist = Tasklist::new(config);
117 }
118
119 #[test]
120 fn test_tasklist_create() {
121 let config = create_test_config();
122 let tasklist = Tasklist::new(config);
123 let _request = tasklist.create();
124 }
125
126 #[test]
127 fn test_tasklist_get() {
128 let config = create_test_config();
129 let tasklist = Tasklist::new(config);
130 let _request = tasklist.get("tasklist_guid_123");
131 }
132
133 #[test]
134 fn test_tasklist_update() {
135 let config = create_test_config();
136 let tasklist = Tasklist::new(config);
137 let _request = tasklist.update("tasklist_guid_123");
138 }
139
140 #[test]
141 fn test_tasklist_delete() {
142 let config = create_test_config();
143 let tasklist = Tasklist::new(config);
144 let _request = tasklist.delete("tasklist_guid_123");
145 }
146
147 #[test]
148 fn test_tasklist_list() {
149 let config = create_test_config();
150 let tasklist = Tasklist::new(config);
151 let _request = tasklist.list();
152 }
153
154 #[test]
155 fn test_tasklist_activity_subscription() {
156 let config = create_test_config();
157 let tasklist = Tasklist::new(config);
158 let _resource = tasklist.activity_subscription("tasklist_guid_123");
159 }
160
161 #[test]
162 fn test_tasklist_tasks() {
163 let config = create_test_config();
164 let tasklist = Tasklist::new(config);
165 let _request = tasklist.tasks("tasklist_guid_123");
166 }
167
168 #[test]
169 fn test_tasklist_add_members() {
170 let config = create_test_config();
171 let tasklist = Tasklist::new(config);
172 let _request = tasklist.add_members("tasklist_guid_123");
173 }
174
175 #[test]
176 fn test_tasklist_remove_members() {
177 let config = create_test_config();
178 let tasklist = Tasklist::new(config);
179 let _request = tasklist.remove_members("tasklist_guid_123");
180 }
181}