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