Skip to main content

Crate ironflow_store

Crate ironflow_store 

Source
Expand description

§ironflow-store

Storage abstraction for the ironflow workflow engine. This crate provides the RunStore trait and data entities for persisting workflow runs and steps.

§Implementations

StoreFeatureDescription
InMemoryStorestore-memory (default)In-process, no external dependencies.
PostgresStorestore-postgresProduction-ready with SELECT FOR UPDATE SKIP LOCKED.

§Quick start

use std::collections::HashMap;
use ironflow_store::prelude::*;
use serde_json::json;

let store = InMemoryStore::new();

let run = store.create_run(NewRun {
    workflow_name: "deploy".to_string(),
    trigger: TriggerKind::Manual,
    payload: json!({}),
    max_retries: 3,
    handler_version: None,
    labels: HashMap::new(),
    scheduled_at: None,
}).await?;

println!("Run {} is {:?}", run.id, run.status);

Re-exports§

pub use entities as models;

Modules§

api_key_store
The ApiKeyStore trait – async storage abstraction for API keys.
audit_log_store
The AuditLogStore trait – async storage abstraction for audit log entries.
entities
Store entities — data models split by domain.
error
Storage error types.
memory
In-memory Store implementation for development and testing.
prelude
Convenience re-exports for common usage.
secret_store
The SecretStore trait – async storage abstraction for encrypted secrets.
store
The RunStore trait — async storage abstraction for runs and steps.
user_store
The UserStore trait — async storage abstraction for users.