Skip to main content

CommandStoreOps

Trait CommandStoreOps 

Source
pub trait CommandStoreOps: Send + Sync {
    // Required methods
    fn resolve_task_id<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        repo: &'life1 str,
        task_id: &'life2 str,
    ) -> Pin<Box<dyn Future<Output = Result<Option<i64>>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
    fn set_block_reason<'life0, 'life1, 'async_trait>(
        &'life0 self,
        id: i64,
        reason: Option<&'life1 str>,
    ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn reset_counters<'life0, 'async_trait>(
        &'life0 self,
        id: i64,
    ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn status<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        repo: &'life1 str,
        task_id: &'life2 str,
    ) -> Pin<Box<dyn Future<Output = Result<Option<TaskStatus>>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
}
Expand description

Minimal store interface required by command execution.

Exists so tests can inject a mock that simulates DB failures without coupling the test harness to a real SQLite pool.

Required Methods§

Source

fn resolve_task_id<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, repo: &'life1 str, task_id: &'life2 str, ) -> Pin<Box<dyn Future<Output = Result<Option<i64>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Source

fn set_block_reason<'life0, 'life1, 'async_trait>( &'life0 self, id: i64, reason: Option<&'life1 str>, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source

fn reset_counters<'life0, 'async_trait>( &'life0 self, id: i64, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Reset all per-attempt counters for a task. Fire-and-forget — failures are logged but not propagated (same semantics as store::store_reset_counters).

Source

fn status<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, repo: &'life1 str, task_id: &'life2 str, ) -> Pin<Box<dyn Future<Output = Result<Option<TaskStatus>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Current status of a task, or None when the store has no such task.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§