revolt_api 0.5.5

Rust typings for the Revolt API.
Documentation
/*
 * Revolt API
 *
 * Open source user-first chat platform.
 *
 * The version of the OpenAPI document: 0.5.5
 * Contact: contact@revolt.chat
 * Generated by: https://openapi-generator.tech
 */

/// EmbedOneOf : Website metadata



#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct EmbedOneOf {
    #[serde(rename = "type")]
    pub _type: Type,
    /// Direct URL to web page
    #[serde(rename = "url", skip_serializing_if = "Option::is_none")]
    pub url: Option<String>,
    /// Original direct URL
    #[serde(rename = "original_url", skip_serializing_if = "Option::is_none")]
    pub original_url: Option<String>,
    /// Remote content
    #[serde(rename = "special", skip_serializing_if = "Option::is_none")]
    pub special: Option<Box<crate::models::Special>>,
    /// Title of website
    #[serde(rename = "title", skip_serializing_if = "Option::is_none")]
    pub title: Option<String>,
    /// Description of website
    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
    pub description: Option<String>,
    /// Embedded image
    #[serde(rename = "image", skip_serializing_if = "Option::is_none")]
    pub image: Option<Box<crate::models::Image>>,
    /// Embedded video
    #[serde(rename = "video", skip_serializing_if = "Option::is_none")]
    pub video: Option<Box<crate::models::Video>>,
    /// Site name
    #[serde(rename = "site_name", skip_serializing_if = "Option::is_none")]
    pub site_name: Option<String>,
    /// URL to site icon
    #[serde(rename = "icon_url", skip_serializing_if = "Option::is_none")]
    pub icon_url: Option<String>,
    /// CSS Colour
    #[serde(rename = "colour", skip_serializing_if = "Option::is_none")]
    pub colour: Option<String>,
}

impl EmbedOneOf {
    /// Website metadata
    pub fn new(_type: Type) -> EmbedOneOf {
        EmbedOneOf {
            _type,
            url: None,
            original_url: None,
            special: None,
            title: None,
            description: None,
            image: None,
            video: None,
            site_name: None,
            icon_url: None,
            colour: None,
        }
    }
}

/// 
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Type {
    #[serde(rename = "Website")]
    Website,
}

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