use std::collections::BTreeMap; use cuddle_lazy::LazyResolve; use serde::{Deserialize, Serialize}; #[derive(Default)] pub struct ExecutableActions { pub actions: Vec, } pub struct ExecutableAction { pub name: String, pub description: String, pub flags: BTreeMap, pub call_fn: LazyResolve, } impl ExecutableAction { pub async fn call(&self) -> anyhow::Result<()> { self.call_fn.call().await?; Ok(()) } } #[derive(Debug, Serialize, Deserialize)] pub enum ExecutableActionFlag { String, Bool, }