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