pub mod create;
pub mod list;
use openlark_core::config::Config;
use std::sync::Arc;
#[derive(Clone)]
pub struct Subtask {
config: Arc<Config>,
task_guid: String,
}
impl Subtask {
pub fn new(config: Arc<Config>, task_guid: impl Into<String>) -> Self {
Self {
config,
task_guid: task_guid.into(),
}
}
pub fn create(&self) -> create::CreateSubtaskRequest {
create::CreateSubtaskRequest::new(self.config.clone(), self.task_guid.clone())
}
pub fn list(&self) -> list::ListSubtasksRequest {
list::ListSubtasksRequest::new(self.config.clone(), self.task_guid.clone())
}
}
pub use create::CreateSubtaskRequest;
pub use list::ListSubtasksRequest;
pub use create::CreateSubtaskResponse;
pub use list::ListSubtasksResponse;
#[cfg(test)]
#[allow(unused_imports)]
mod tests {
use super::*;
use std::sync::Arc;
fn create_test_config() -> Arc<Config> {
Arc::new(
Config::builder()
.app_id("test_app")
.app_secret("test_secret")
.build(),
)
}
#[test]
fn test_subtask_new() {
let config = create_test_config();
let subtask = Subtask::new(config, "task_guid_123");
assert_eq!(subtask.task_guid, "task_guid_123");
}
#[test]
fn test_subtask_create() {
let config = create_test_config();
let subtask = Subtask::new(config, "task_guid_123");
let _request = subtask.create();
}
#[test]
fn test_subtask_list() {
let config = create_test_config();
let subtask = Subtask::new(config, "task_guid_123");
let _request = subtask.list();
}
}