use alloc::string::String;
use alloc::vec::Vec;
#[cfg_attr(feature = "fmt", derive(Debug))]
#[cfg_attr(feature = "serde",
derive(serde::Serialize, serde::Deserialize),
serde(rename_all = "camelCase")
)]
pub struct Action {
pub action_type: String,
pub action_id: String,
pub action_description: Option<String>,
pub blocking_type: BlockingType,
pub action_parameters: Vec<ActionParameter>
}
#[cfg_attr(feature = "fmt", derive(Debug))]
#[cfg_attr(feature = "serde",
derive(serde::Serialize, serde::Deserialize),
serde(rename_all = "SCREAMING_SNAKE_CASE")
)]
pub enum BlockingType {
None,
Soft,
Hard
}
#[cfg_attr(feature = "fmt", derive(Debug))]
#[cfg_attr(feature = "serde",
derive(serde::Serialize, serde::Deserialize),
serde(rename_all = "camelCase")
)]
pub struct ActionParameter {
pub key: String,
pub value: String }