use super::post_send;
use crate::{wechat::WxApiRequestBuilder, SdkResult};
use serde::{Deserialize, Serialize};
#[derive(Debug, Serialize, Deserialize)]
pub struct GenerateLink {
pub page_url: String,
pub page_title: String,
#[serde(default)]
pub is_permanent: Option<bool>,
}
#[derive(Debug, Serialize, Deserialize)]
pub struct Link {
pub link: String,
}
pub struct ShortLinkModule<'a, T: WxApiRequestBuilder>(pub(crate) &'a T);
impl<'a, T: WxApiRequestBuilder> ShortLinkModule<'a, T> {
pub async fn generate(&self, data: &GenerateLink) -> SdkResult<Link> {
let url = "https://api.weixin.qq.com/wxa/genwxashortlink";
post_send(self.0, url, data).await
}
}