pub struct RuleStorage { /* private fields */ }Expand description
Stores and retrieves rules from persistent storage
Implementations§
Source§impl RuleStorage
impl RuleStorage
Sourcepub async fn store_rule(&self, rule: Rule) -> Result<String>
pub async fn store_rule(&self, rule: Rule) -> Result<String>
Store a rule to persistent storage
Sourcepub async fn list_rules(&self) -> Result<Vec<Rule>>
pub async fn list_rules(&self) -> Result<Vec<Rule>>
List all rules in storage
Sourcepub async fn filter_by_scope(&self, scope: RuleScope) -> Result<Vec<Rule>>
pub async fn filter_by_scope(&self, scope: RuleScope) -> Result<Vec<Rule>>
Filter rules by scope
Sourcepub async fn delete_rule(&self, rule_id: &str) -> Result<()>
pub async fn delete_rule(&self, rule_id: &str) -> Result<()>
Delete a rule
Sourcepub async fn update_rule(&self, rule: Rule) -> Result<String>
pub async fn update_rule(&self, rule: Rule) -> Result<String>
Update a rule
Sourcepub async fn rule_count(&self) -> Result<usize>
pub async fn rule_count(&self) -> Result<usize>
Get the number of rules in storage
Sourcepub async fn get_rules_by_pattern(&self, pattern: &str) -> Result<Vec<Rule>>
pub async fn get_rules_by_pattern(&self, pattern: &str) -> Result<Vec<Rule>>
Get rules by pattern
Sourcepub async fn get_rules_by_source(&self, source: RuleSource) -> Result<Vec<Rule>>
pub async fn get_rules_by_source(&self, source: RuleSource) -> Result<Vec<Rule>>
Get rules by source
Sourcepub async fn get_rules_by_confidence(
&self,
min_confidence: f32,
) -> Result<Vec<Rule>>
pub async fn get_rules_by_confidence( &self, min_confidence: f32, ) -> Result<Vec<Rule>>
Get rules with confidence above threshold
Sourcepub async fn get_rules_by_usage(&self) -> Result<Vec<Rule>>
pub async fn get_rules_by_usage(&self) -> Result<Vec<Rule>>
Get rules sorted by usage count (descending)
Sourcepub async fn get_rules_by_confidence_sorted(&self) -> Result<Vec<Rule>>
pub async fn get_rules_by_confidence_sorted(&self) -> Result<Vec<Rule>>
Get rules sorted by confidence (descending)
Sourcepub async fn get_rules_by_metadata(
&self,
key: &str,
value: &Value,
) -> Result<Vec<Rule>>
pub async fn get_rules_by_metadata( &self, key: &str, value: &Value, ) -> Result<Vec<Rule>>
Get rules with metadata matching a key-value pair
Sourcepub async fn get_rules_after(
&self,
timestamp: DateTime<Utc>,
) -> Result<Vec<Rule>>
pub async fn get_rules_after( &self, timestamp: DateTime<Utc>, ) -> Result<Vec<Rule>>
Get rules created after a specific timestamp
Sourcepub async fn get_rules_updated_after(
&self,
timestamp: DateTime<Utc>,
) -> Result<Vec<Rule>>
pub async fn get_rules_updated_after( &self, timestamp: DateTime<Utc>, ) -> Result<Vec<Rule>>
Get rules updated after a specific timestamp
Sourcepub async fn get_rules_by_usage_count(
&self,
min_usage: u64,
) -> Result<Vec<Rule>>
pub async fn get_rules_by_usage_count( &self, min_usage: u64, ) -> Result<Vec<Rule>>
Get rules with usage count above threshold
Sourcepub async fn get_rules_by_success_rate(
&self,
min_success_rate: f32,
) -> Result<Vec<Rule>>
pub async fn get_rules_by_success_rate( &self, min_success_rate: f32, ) -> Result<Vec<Rule>>
Get rules with success rate above threshold
Auto Trait Implementations§
impl Freeze for RuleStorage
impl !RefUnwindSafe for RuleStorage
impl Send for RuleStorage
impl Sync for RuleStorage
impl Unpin for RuleStorage
impl !UnwindSafe for RuleStorage
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more