use async_trait::async_trait;
use wx_rust_common::error::WxErrorException;
use crate::bean::WxOpenMaEmbeddedListResult;
#[async_trait]
pub trait WxOpenMaEmbeddedService: Send + Sync {
async fn add_embedded(
&self,
embedded_app_id: &str,
apply_reason: &str,
) -> Result<(), WxErrorException>;
async fn delete_embedded(&self, embedded_app_id: &str) -> Result<(), WxErrorException>;
async fn get_embedded_list(&self) -> Result<WxOpenMaEmbeddedListResult, WxErrorException>;
async fn delete_authorized_embedded(
&self,
embedded_app_id: &str,
) -> Result<(), WxErrorException>;
async fn get_own_list(&self) -> Result<WxOpenMaEmbeddedListResult, WxErrorException>;
async fn get_own_list_with(
&self,
start: Option<i32>,
num: Option<i32>,
) -> Result<WxOpenMaEmbeddedListResult, WxErrorException>;
async fn set_authorized_embedded(&self, flag: i32) -> Result<(), WxErrorException>;
}