marlowe_client 0.0.5

HTTP client for the Marlowe Runtime REST API
Documentation
/*
 * Marlowe Runtime REST API
 *
 * REST API for Marlowe Runtime
 *
 * The version of the OpenAPI document: 0.0.5.1
 *
 * Generated by: https://openapi-generator.tech
 */

/// LabelledObject : A bundle of labelled Marlowe objects in define-before-use order.

#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct LabelledObject {
    /// An arbitrary text identifier for an object in a Marlowe object bundle.
    #[serde(rename = "label")]
    pub label: String,
    #[serde(rename = "type")]
    pub r#type: Type,
    #[serde(rename = "value")]
    pub value: Box<crate::models::LabelledObjectValue>,
}

impl LabelledObject {
    /// A bundle of labelled Marlowe objects in define-before-use order.
    pub fn new(
        label: String,
        r#type: Type,
        value: crate::models::LabelledObjectValue,
    ) -> LabelledObject {
        LabelledObject {
            label,
            r#type,
            value: Box::new(value),
        }
    }
}

///
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Type {
    #[serde(rename = "value")]
    Value,
    #[serde(rename = "observation")]
    Observation,
    #[serde(rename = "contract")]
    Contract,
    #[serde(rename = "party")]
    Party,
    #[serde(rename = "token")]
    Token,
    #[serde(rename = "action")]
    Action,
}

impl Default for Type {
    fn default() -> Type {
        Self::Value
    }
}