use openlark_core::{
SDKResult, api::ApiRequest, config::Config, http::Transport, req_option::RequestOption,
};
use std::sync::Arc;
#[derive(Debug, Clone)]
pub struct UserSubscriptionStatusRequest {
config: Arc<Config>,
}
impl UserSubscriptionStatusRequest {
pub fn new(config: Arc<Config>) -> Self {
Self { config }
}
pub async fn execute(self) -> SDKResult<serde_json::Value> {
self.execute_with_options(RequestOption::default()).await
}
pub async fn execute_with_options(self, option: RequestOption) -> SDKResult<serde_json::Value> {
let path = "/open-apis/drive/v1/user/subscription_status".to_string();
let req: ApiRequest<serde_json::Value> = ApiRequest::get(path);
let resp = Transport::request(req, &self.config, Some(option)).await?;
resp.data.ok_or_else(|| {
openlark_core::error::validation_error("查询用户云文档事件订阅状态", "响应数据为空")
})
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn builder_initializes() {
let config = Arc::new(Config::default());
let _request = UserSubscriptionStatusRequest::new(config);
}
}