openlark_workflow/v2/task/
mod.rs1pub mod add_dependencies;
12pub mod add_members;
14pub mod add_reminders;
16pub mod add_tasklist;
18pub mod complete;
20pub mod create;
22pub mod delete;
24pub mod get;
26pub mod list;
28pub mod models;
30pub mod patch;
32pub mod remove_dependencies;
34pub mod remove_members;
36pub mod remove_reminders;
38pub mod remove_tasklist;
40#[path = "../../task/task/v2/task/search.rs"]
41pub mod search;
42#[path = "../../task/task/v2/task/set_ancestor_task.rs"]
44pub mod set_ancestor_task;
45pub mod subtask;
47pub mod tasklists;
49pub mod uncomplete;
51pub mod update;
53
54use openlark_core::config::Config;
55use std::sync::Arc;
56
57#[derive(Clone)]
59pub struct Task {
60 config: Arc<Config>,
61}
62
63impl Task {
64 pub fn new(config: Arc<Config>) -> Self {
66 Self { config }
67 }
68
69 pub fn create(&self) -> create::CreateTaskRequest {
71 create::CreateTaskRequest::new(self.config.clone())
72 }
73
74 pub fn update(&self, task_guid: impl Into<String>) -> update::UpdateTaskRequest {
76 update::UpdateTaskRequest::new(self.config.clone(), task_guid.into())
77 }
78
79 pub fn delete(&self, task_guid: impl Into<String>) -> delete::DeleteTaskRequest {
81 delete::DeleteTaskRequest::new(self.config.clone(), task_guid.into())
82 }
83
84 pub fn get(&self, task_guid: impl Into<String>) -> get::GetTaskRequest {
86 get::GetTaskRequest::new(self.config.clone(), task_guid.into())
87 }
88
89 pub fn list(&self) -> list::ListTasksRequest {
91 list::ListTasksRequest::new(self.config.clone())
92 }
93
94 pub fn complete(&self, task_guid: impl Into<String>) -> complete::CompleteTaskRequest {
96 complete::CompleteTaskRequest::new(self.config.clone(), task_guid.into())
97 }
98
99 pub fn uncomplete(&self, task_guid: impl Into<String>) -> uncomplete::UncompleteTaskRequest {
101 uncomplete::UncompleteTaskRequest::new(self.config.clone(), task_guid.into())
102 }
103
104 pub fn subtask(&self, task_guid: impl Into<String>) -> subtask::Subtask {
106 subtask::Subtask::new(self.config.clone(), task_guid.into())
107 }
108
109 pub fn add_tasklist(&self, task_guid: impl Into<String>) -> add_tasklist::AddTasklistRequest {
111 add_tasklist::AddTasklistRequest::new(self.config.clone(), task_guid.into())
112 }
113
114 pub fn remove_tasklist(
116 &self,
117 task_guid: impl Into<String>,
118 ) -> remove_tasklist::RemoveTasklistRequest {
119 remove_tasklist::RemoveTasklistRequest::new(self.config.clone(), task_guid.into())
120 }
121
122 pub fn tasklists(&self, task_guid: impl Into<String>) -> tasklists::GetTaskTasklistsRequest {
124 tasklists::GetTaskTasklistsRequest::new(self.config.clone(), task_guid.into())
125 }
126
127 pub fn add_members(&self, task_guid: impl Into<String>) -> add_members::AddMembersRequest {
129 add_members::AddMembersRequest::new(self.config.clone(), task_guid.into())
130 }
131
132 pub fn remove_members(
134 &self,
135 task_guid: impl Into<String>,
136 ) -> remove_members::RemoveMembersRequest {
137 remove_members::RemoveMembersRequest::new(self.config.clone(), task_guid.into())
138 }
139
140 pub fn add_reminders(
142 &self,
143 task_guid: impl Into<String>,
144 ) -> add_reminders::AddRemindersRequest {
145 add_reminders::AddRemindersRequest::new(self.config.clone(), task_guid.into())
146 }
147
148 pub fn remove_reminders(
150 &self,
151 task_guid: impl Into<String>,
152 ) -> remove_reminders::RemoveRemindersRequest {
153 remove_reminders::RemoveRemindersRequest::new(self.config.clone(), task_guid.into())
154 }
155
156 pub fn add_dependencies(
158 &self,
159 task_guid: impl Into<String>,
160 ) -> add_dependencies::AddDependenciesRequest {
161 add_dependencies::AddDependenciesRequest::new(self.config.clone(), task_guid.into())
162 }
163
164 pub fn remove_dependencies(
166 &self,
167 task_guid: impl Into<String>,
168 ) -> remove_dependencies::RemoveDependenciesRequest {
169 remove_dependencies::RemoveDependenciesRequest::new(self.config.clone(), task_guid.into())
170 }
171
172 pub fn set_ancestor_task(
174 &self,
175 task_guid: impl Into<String>,
176 ) -> set_ancestor_task::SetAncestorTaskRequest {
177 set_ancestor_task::SetAncestorTaskRequest::new(self.config.clone(), task_guid.into())
178 }
179 pub fn search(&self) -> search::SearchTaskRequest {
181 search::SearchTaskRequest::new(self.config.clone())
182 }
183}
184
185pub use add_dependencies::AddDependenciesRequest;
187pub use add_members::AddMembersRequest;
188pub use add_reminders::AddRemindersRequest;
189pub use add_tasklist::AddTasklistRequest;
190pub use complete::CompleteTaskRequest;
191pub use create::CreateTaskRequest;
192pub use delete::DeleteTaskRequest;
193pub use get::GetTaskRequest;
194pub use list::ListTasksRequest;
195pub use patch::UpdateTaskRequest;
196pub use remove_dependencies::RemoveDependenciesRequest;
197pub use remove_members::RemoveMembersRequest;
198pub use remove_reminders::RemoveRemindersRequest;
199pub use remove_tasklist::RemoveTasklistRequest;
200pub use set_ancestor_task::SetAncestorTaskRequest;
201pub use tasklists::GetTaskTasklistsRequest;
202pub use uncomplete::UncompleteTaskRequest;
203
204pub use add_dependencies::{AddDependenciesResponse, TaskDependency};
206pub use add_members::{AddMembersResponse, TaskMember};
207pub use add_reminders::{AddRemindersResponse, TaskReminder};
208pub use add_tasklist::{AddTasklistBody, AddTasklistResponse};
209pub use models::{
210 CompleteTaskResponse, CreateTaskBody, CreateTaskResponse, DeleteTaskResponse, GetTaskResponse,
211 ListTasksResponse, TaskItem, UncompleteTaskResponse, UpdateTaskBody, UpdateTaskResponse,
212};
213pub use remove_dependencies::{RemoveDependenciesBody, RemoveDependenciesResponse};
214pub use remove_members::{RemoveMembersBody, RemoveMembersResponse};
215pub use remove_reminders::{RemoveRemindersBody, RemoveRemindersResponse};
216pub use remove_tasklist::{RemoveTasklistBody, RemoveTasklistResponse};
217pub use set_ancestor_task::{SetAncestorTaskBody, SetAncestorTaskResponse};
218pub use tasklists::{GetTaskTasklistsResponse, TaskTasklistItem};
219
220pub use search::SearchTaskRequest;
221#[cfg(test)]
222#[allow(unused_variables)]
223#[allow(unused_imports)]
224mod tests {
225 use super::*;
226 use std::sync::Arc;
227
228 fn create_test_config() -> Arc<Config> {
229 Arc::new(
230 Config::builder()
231 .app_id("test_app")
232 .app_secret("test_secret")
233 .build(),
234 )
235 }
236
237 #[test]
238 fn test_task_v2_new() {
239 let config = create_test_config();
240 let _ = Task::new(config);
241 }
242
243 #[test]
244 fn test_task_v2_create() {
245 let config = create_test_config();
246 let task = Task::new(config);
247 let _ = task.create();
248 }
249
250 #[test]
251 fn test_task_v2_update() {
252 let config = create_test_config();
253 let task = Task::new(config);
254 let _ = task.update("task_guid_123");
255 }
256
257 #[test]
258 fn test_task_v2_delete() {
259 let config = create_test_config();
260 let task = Task::new(config);
261 let _ = task.delete("task_guid_123");
262 }
263
264 #[test]
265 fn test_task_v2_get() {
266 let config = create_test_config();
267 let task = Task::new(config);
268 let _ = task.get("task_guid_123");
269 }
270
271 #[test]
272 fn test_task_v2_list() {
273 let config = create_test_config();
274 let task = Task::new(config);
275 let _ = task.list();
276 }
277
278 #[test]
279 fn test_task_v2_complete() {
280 let config = create_test_config();
281 let task = Task::new(config);
282 let _ = task.complete("task_guid_123");
283 }
284
285 #[test]
286 fn test_task_v2_uncomplete() {
287 let config = create_test_config();
288 let task = Task::new(config);
289 let _ = task.uncomplete("task_guid_123");
290 }
291
292 #[test]
293 fn test_task_v2_subtask() {
294 let config = create_test_config();
295 let task = Task::new(config);
296 let _ = task.subtask("task_guid_123");
297 }
298
299 #[test]
300 fn test_task_v2_add_tasklist() {
301 let config = create_test_config();
302 let task = Task::new(config);
303 let _ = task.add_tasklist("task_guid_123");
304 }
305
306 #[test]
307 fn test_task_v2_remove_tasklist() {
308 let config = create_test_config();
309 let task = Task::new(config);
310 let _ = task.remove_tasklist("task_guid_123");
311 }
312
313 #[test]
314 fn test_task_v2_tasklists() {
315 let config = create_test_config();
316 let task = Task::new(config);
317 let _ = task.tasklists("task_guid_123");
318 }
319
320 #[test]
321 fn test_task_v2_add_members() {
322 let config = create_test_config();
323 let task = Task::new(config);
324 let _ = task.add_members("task_guid_123");
325 }
326
327 #[test]
328 fn test_task_v2_remove_members() {
329 let config = create_test_config();
330 let task = Task::new(config);
331 let _ = task.remove_members("task_guid_123");
332 }
333
334 #[test]
335 fn test_task_v2_add_reminders() {
336 let config = create_test_config();
337 let task = Task::new(config);
338 let _ = task.add_reminders("task_guid_123");
339 }
340
341 #[test]
342 fn test_task_v2_remove_reminders() {
343 let config = create_test_config();
344 let task = Task::new(config);
345 let _ = task.remove_reminders("task_guid_123");
346 }
347
348 #[test]
349 fn test_task_v2_add_dependencies() {
350 let config = create_test_config();
351 let task = Task::new(config);
352 let _ = task.add_dependencies("task_guid_123");
353 }
354
355 #[test]
356 fn test_task_v2_remove_dependencies() {
357 let config = create_test_config();
358 let task = Task::new(config);
359 let _ = task.remove_dependencies("task_guid_123");
360 }
361}