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