pub mod add_assignee;
pub mod agree;
pub mod cancel;
pub mod reject;
pub mod transfer;
use openlark_core::config::Config;
#[derive(Debug, Clone)]
pub struct ApprovalTaskService {
config: Config,
}
impl ApprovalTaskService {
pub fn new(config: Config) -> Self {
Self { config }
}
pub fn agree(&self) -> agree::AgreeTaskRequestBuilder {
agree::AgreeTaskRequestBuilder::new(self.config.clone())
}
pub fn reject(&self) -> reject::RejectTaskRequestBuilder {
reject::RejectTaskRequestBuilder::new(self.config.clone())
}
pub fn cancel(&self) -> cancel::CancelTaskRequestBuilder {
cancel::CancelTaskRequestBuilder::new(self.config.clone())
}
pub fn add_assignee(&self) -> add_assignee::AddAssigneeRequestBuilder {
add_assignee::AddAssigneeRequestBuilder::new(self.config.clone())
}
pub fn transfer(
&self,
approval_task_id: impl Into<String>,
transfer_to_user_id: impl Into<String>,
) -> transfer::TransferApprovalTaskRequestBuilder {
transfer::TransferApprovalTaskRequestBuilder::new(
self.config.clone(),
approval_task_id,
transfer_to_user_id,
)
}
}