use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct WebhooksUserMannequin {
#[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 WebhooksUserMannequin {
pub fn new(id: i32, login: String) -> WebhooksUserMannequin {
WebhooksUserMannequin {
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,
#[serde(rename = "Mannequin")]
Mannequin,
}
impl Default for Type {
fn default() -> Type {
Self::Bot
}
}