/*
 * Gitea API.
 *
 * This documentation describes the Gitea API.
 *
 * The version of the OpenAPI document: 1.17.3
 * 
 * Generated by: https://openapi-generator.tech
 */

/// Release : Release represents a repository release



#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct Release {
    #[serde(rename = "assets", skip_serializing_if = "Option::is_none")]
    pub assets: Option<Vec<crate::models::Attachment>>,
    #[serde(rename = "author", skip_serializing_if = "Option::is_none")]
    pub author: Option<Box<crate::models::User>>,
    #[serde(rename = "body", skip_serializing_if = "Option::is_none")]
    pub body: Option<String>,
    #[serde(rename = "created_at", skip_serializing_if = "Option::is_none")]
    pub created_at: Option<String>,
    #[serde(rename = "draft", skip_serializing_if = "Option::is_none")]
    pub draft: Option<bool>,
    #[serde(rename = "html_url", skip_serializing_if = "Option::is_none")]
    pub html_url: Option<String>,
    #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
    pub id: Option<i64>,
    #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
    pub name: Option<String>,
    #[serde(rename = "prerelease", skip_serializing_if = "Option::is_none")]
    pub prerelease: Option<bool>,
    #[serde(rename = "published_at", skip_serializing_if = "Option::is_none")]
    pub published_at: Option<String>,
    #[serde(rename = "tag_name", skip_serializing_if = "Option::is_none")]
    pub tag_name: Option<String>,
    #[serde(rename = "tarball_url", skip_serializing_if = "Option::is_none")]
    pub tarball_url: Option<String>,
    #[serde(rename = "target_commitish", skip_serializing_if = "Option::is_none")]
    pub target_commitish: Option<String>,
    #[serde(rename = "url", skip_serializing_if = "Option::is_none")]
    pub url: Option<String>,
    #[serde(rename = "zipball_url", skip_serializing_if = "Option::is_none")]
    pub zipball_url: Option<String>,
}

impl Release {
    /// Release represents a repository release
    pub fn new() -> Release {
        Release {
            assets: None,
            author: None,
            body: None,
            created_at: None,
            draft: None,
            html_url: None,
            id: None,
            name: None,
            prerelease: None,
            published_at: None,
            tag_name: None,
            tarball_url: None,
            target_commitish: None,
            url: None,
            zipball_url: None,
        }
    }
}


