DroneStore

Trait DroneStore 

Source
pub trait DroneStore {
    // Required methods
    fn drone_list(&self) -> Result<Vec<DroneDefinition>, StoreError>;
    fn drone_get(&self, id: &str) -> Result<Option<DroneDefinition>, StoreError>;
    fn drone_upsert(&self, wf: &DroneDefinition) -> Result<(), StoreError>;
    fn drone_delete(&self, id: &str) -> Result<bool, StoreError>;
    fn drone_run_insert(&self, run: &DroneRun) -> Result<(), StoreError>;
    fn drone_run_update(&self, run: &DroneRun) -> Result<usize, StoreError>;
    fn drone_runs_for(
        &self,
        drone_id: &str,
        limit: i64,
    ) -> Result<Vec<DroneRun>, StoreError>;
}

Required Methods§

Source

fn drone_list(&self) -> Result<Vec<DroneDefinition>, StoreError>

Source

fn drone_get(&self, id: &str) -> Result<Option<DroneDefinition>, StoreError>

Source

fn drone_upsert(&self, wf: &DroneDefinition) -> Result<(), StoreError>

Source

fn drone_delete(&self, id: &str) -> Result<bool, StoreError>

Source

fn drone_run_insert(&self, run: &DroneRun) -> Result<(), StoreError>

Source

fn drone_run_update(&self, run: &DroneRun) -> Result<usize, StoreError>

Update an existing run row in place. Returns rows affected (0 if no row matched run.id). Used to flip a placeholder running row into its terminal state once the drain task completes, so the row exists from the moment the RPC returns.

Source

fn drone_runs_for( &self, drone_id: &str, limit: i64, ) -> Result<Vec<DroneRun>, StoreError>

Implementors§