mattermost-client 0.2.0

A sane Rust interface to the Mattermost API
Documentation
/*
 * Mattermost API Reference
 *
 * There is also a work-in-progress [Postman API reference](https://documenter.getpostman.com/view/4508214/RW8FERUn).
 *
 * The version of the OpenAPI document: 4.0.0
 * Contact: feedback@mattermost.com
 * Generated by: https://openapi-generator.tech
 */

#[derive(Clone, Debug, PartialEq, Default, serde::Serialize, serde::Deserialize)]
pub struct ItemSetStateRequest {
    /// The new state of the item.
    #[serde(rename = "new_state")]
    pub new_state: NewState,
}

impl ItemSetStateRequest {
    pub fn new(new_state: NewState) -> ItemSetStateRequest {
        ItemSetStateRequest { new_state }
    }
}

/// The new state of the item.
#[derive(
    Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, serde::Serialize, serde::Deserialize,
)]
pub enum NewState {
    #[serde(rename = "")]
    Empty,
    #[serde(rename = "in_progress")]
    InProgress,
    #[serde(rename = "closed")]
    Closed,
}

impl Default for NewState {
    fn default() -> NewState {
        Self::Empty
    }
}