openapi-github 0.1.0

OpenAPI specs from https://github.com/github/rest-api-description with the 'x-octokit' extension required by the Octokit SDKs
Documentation
/*
 * GitHub's official OpenAPI spec + Octokit extension
 *
 * OpenAPI specs from https://github.com/github/rest-api-description with the 'x-octokit' extension required by the Octokit SDKs
 *
 * The version of the OpenAPI document: 16.6.0
 * 
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct User {
    #[serde(rename = "avatar_url", skip_serializing_if = "Option::is_none")]
    pub avatar_url: Option<String>,
    #[serde(rename = "deleted", skip_serializing_if = "Option::is_none")]
    pub deleted: Option<bool>,
    #[serde(rename = "email", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub email: Option<Option<String>>,
    #[serde(rename = "events_url", skip_serializing_if = "Option::is_none")]
    pub events_url: Option<String>,
    #[serde(rename = "followers_url", skip_serializing_if = "Option::is_none")]
    pub followers_url: Option<String>,
    #[serde(rename = "following_url", skip_serializing_if = "Option::is_none")]
    pub following_url: Option<String>,
    #[serde(rename = "gists_url", skip_serializing_if = "Option::is_none")]
    pub gists_url: Option<String>,
    #[serde(rename = "gravatar_id", skip_serializing_if = "Option::is_none")]
    pub gravatar_id: Option<String>,
    #[serde(rename = "html_url", skip_serializing_if = "Option::is_none")]
    pub html_url: Option<String>,
    #[serde(rename = "id")]
    pub id: i32,
    #[serde(rename = "login")]
    pub login: String,
    #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
    pub name: Option<String>,
    #[serde(rename = "node_id", skip_serializing_if = "Option::is_none")]
    pub node_id: Option<String>,
    #[serde(rename = "organizations_url", skip_serializing_if = "Option::is_none")]
    pub organizations_url: Option<String>,
    #[serde(rename = "received_events_url", skip_serializing_if = "Option::is_none")]
    pub received_events_url: Option<String>,
    #[serde(rename = "repos_url", skip_serializing_if = "Option::is_none")]
    pub repos_url: Option<String>,
    #[serde(rename = "site_admin", skip_serializing_if = "Option::is_none")]
    pub site_admin: Option<bool>,
    #[serde(rename = "starred_url", skip_serializing_if = "Option::is_none")]
    pub starred_url: Option<String>,
    #[serde(rename = "subscriptions_url", skip_serializing_if = "Option::is_none")]
    pub subscriptions_url: Option<String>,
    #[serde(rename = "type", skip_serializing_if = "Option::is_none")]
    pub r#type: Option<Type>,
    #[serde(rename = "url", skip_serializing_if = "Option::is_none")]
    pub url: Option<String>,
}

impl User {
    pub fn new(id: i32, login: String) -> User {
        User {
            avatar_url: None,
            deleted: None,
            email: None,
            events_url: None,
            followers_url: None,
            following_url: None,
            gists_url: None,
            gravatar_id: None,
            html_url: None,
            id,
            login,
            name: None,
            node_id: None,
            organizations_url: None,
            received_events_url: None,
            repos_url: None,
            site_admin: None,
            starred_url: None,
            subscriptions_url: None,
            r#type: None,
            url: None,
        }
    }
}
/// 
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Type {
    #[serde(rename = "Bot")]
    Bot,
    #[serde(rename = "User")]
    User,
    #[serde(rename = "Organization")]
    Organization,
}

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