use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct WebhookPackageUpdatedPackage {
#[serde(rename = "created_at")]
pub created_at: String,
#[serde(rename = "description", deserialize_with = "Option::deserialize")]
pub description: Option<String>,
#[serde(rename = "ecosystem")]
pub ecosystem: String,
#[serde(rename = "html_url")]
pub html_url: String,
#[serde(rename = "id")]
pub id: i32,
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "namespace")]
pub namespace: String,
#[serde(rename = "owner", deserialize_with = "Option::deserialize")]
pub owner: Option<Box<models::User>>,
#[serde(rename = "package_type")]
pub package_type: String,
#[serde(rename = "package_version")]
pub package_version: Box<models::WebhookPackageUpdatedPackagePackageVersion>,
#[serde(rename = "registry", deserialize_with = "Option::deserialize")]
pub registry: Option<Box<models::WebhookPackagePublishedPackageRegistry>>,
#[serde(rename = "updated_at")]
pub updated_at: String,
}
impl WebhookPackageUpdatedPackage {
pub fn new(created_at: String, description: Option<String>, ecosystem: String, html_url: String, id: i32, name: String, namespace: String, owner: Option<models::User>, package_type: String, package_version: models::WebhookPackageUpdatedPackagePackageVersion, registry: Option<models::WebhookPackagePublishedPackageRegistry>, updated_at: String) -> WebhookPackageUpdatedPackage {
WebhookPackageUpdatedPackage {
created_at,
description,
ecosystem,
html_url,
id,
name,
namespace,
owner: owner.map(Box::new),
package_type,
package_version: Box::new(package_version),
registry: registry.map(Box::new),
updated_at,
}
}
}