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