use crate::{Client, Error, execute_wrapper, models};
use typesense_codegen::apis::analytics_api;
pub struct Rule<'a> {
pub(super) client: &'a Client,
pub(super) rule_name: &'a str,
}
impl<'a> Rule<'a> {
#[inline]
pub(super) fn new(client: &'a Client, rule_name: &'a str) -> Self {
Self { client, rule_name }
}
pub async fn retrieve(
&self,
) -> Result<models::AnalyticsRule, Error<analytics_api::RetrieveAnalyticsRuleError>> {
let params = analytics_api::RetrieveAnalyticsRuleParams {
rule_name: self.rule_name.into(),
};
execute_wrapper!(self, analytics_api::retrieve_analytics_rule, params)
}
pub async fn delete(
&self,
) -> Result<models::AnalyticsRule, Error<analytics_api::DeleteAnalyticsRuleError>> {
let params = analytics_api::DeleteAnalyticsRuleParams {
rule_name: self.rule_name.into(),
};
execute_wrapper!(self, analytics_api::delete_analytics_rule, params)
}
}