use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct IntegrationInstallationRequestAccount {
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "email", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub email: Option<Option<String>>,
#[serde(rename = "login")]
pub login: String,
#[serde(rename = "id")]
pub id: i32,
#[serde(rename = "node_id")]
pub node_id: String,
#[serde(rename = "avatar_url")]
pub avatar_url: String,
#[serde(rename = "gravatar_id", deserialize_with = "Option::deserialize")]
pub gravatar_id: Option<String>,
#[serde(rename = "url")]
pub url: String,
#[serde(rename = "html_url")]
pub html_url: String,
#[serde(rename = "followers_url")]
pub followers_url: String,
#[serde(rename = "following_url")]
pub following_url: String,
#[serde(rename = "gists_url")]
pub gists_url: String,
#[serde(rename = "starred_url")]
pub starred_url: String,
#[serde(rename = "subscriptions_url")]
pub subscriptions_url: String,
#[serde(rename = "organizations_url")]
pub organizations_url: String,
#[serde(rename = "repos_url")]
pub repos_url: String,
#[serde(rename = "events_url")]
pub events_url: String,
#[serde(rename = "received_events_url")]
pub received_events_url: String,
#[serde(rename = "type")]
pub r#type: String,
#[serde(rename = "site_admin")]
pub site_admin: bool,
#[serde(rename = "starred_at", skip_serializing_if = "Option::is_none")]
pub starred_at: Option<String>,
#[serde(rename = "description", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub description: Option<Option<String>>,
#[serde(rename = "website_url", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub website_url: Option<Option<String>>,
#[serde(rename = "slug")]
pub slug: String,
#[serde(rename = "created_at", deserialize_with = "Option::deserialize")]
pub created_at: Option<String>,
#[serde(rename = "updated_at", deserialize_with = "Option::deserialize")]
pub updated_at: Option<String>,
}
impl IntegrationInstallationRequestAccount {
pub fn new(name: String, login: String, id: i32, node_id: String, avatar_url: String, gravatar_id: Option<String>, url: String, html_url: String, followers_url: String, following_url: String, gists_url: String, starred_url: String, subscriptions_url: String, organizations_url: String, repos_url: String, events_url: String, received_events_url: String, r#type: String, site_admin: bool, slug: String, created_at: Option<String>, updated_at: Option<String>) -> IntegrationInstallationRequestAccount {
IntegrationInstallationRequestAccount {
name,
email: None,
login,
id,
node_id,
avatar_url,
gravatar_id,
url,
html_url,
followers_url,
following_url,
gists_url,
starred_url,
subscriptions_url,
organizations_url,
repos_url,
events_url,
received_events_url,
r#type,
site_admin,
starred_at: None,
description: None,
website_url: None,
slug,
created_at,
updated_at,
}
}
}