use super::Service;
use crate::{ApiError, Error, ServiceClient};
use maybe_async::maybe_async;
mod request;
mod response;
pub use request::{BusinessDateRequest, BusinessDurationRequest};
pub use response::{BusinessDateResponse, BusinessDurationResponse};
struct BusinessDateService;
struct BusinessDurationService;
impl Service for BusinessDateService {
const PATH: &'static str = "businessdate";
type Request = BusinessDateRequest;
type Response = BusinessDateResponse;
}
impl Service for BusinessDurationService {
const PATH: &'static str = "businessduration";
type Request = BusinessDurationRequest;
type Response = BusinessDurationResponse;
}
impl ServiceClient {
#[maybe_async]
pub async fn calculate_business_date(
&self,
request: &BusinessDateRequest,
) -> Result<Result<BusinessDateResponse, ApiError>, Error> {
self.call::<BusinessDateService>(request).await
}
#[maybe_async]
pub async fn calculate_business_duration(
&self,
request: &BusinessDurationRequest,
) -> Result<Result<BusinessDurationResponse, ApiError>, Error> {
self.call::<BusinessDurationService>(request).await
}
}