openapi_github/models/
package_version_metadata.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct PackageVersionMetadata {
16 #[serde(rename = "package_type")]
17 pub package_type: PackageType,
18 #[serde(rename = "container", skip_serializing_if = "Option::is_none")]
19 pub container: Option<Box<models::ContainerMetadata>>,
20 #[serde(rename = "docker", skip_serializing_if = "Option::is_none")]
21 pub docker: Option<Box<models::DockerMetadata>>,
22}
23
24impl PackageVersionMetadata {
25 pub fn new(package_type: PackageType) -> PackageVersionMetadata {
26 PackageVersionMetadata {
27 package_type,
28 container: None,
29 docker: None,
30 }
31 }
32}
33#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
35pub enum PackageType {
36 #[serde(rename = "npm")]
37 Npm,
38 #[serde(rename = "maven")]
39 Maven,
40 #[serde(rename = "rubygems")]
41 Rubygems,
42 #[serde(rename = "docker")]
43 Docker,
44 #[serde(rename = "nuget")]
45 Nuget,
46 #[serde(rename = "container")]
47 Container,
48}
49
50impl Default for PackageType {
51 fn default() -> PackageType {
52 Self::Npm
53 }
54}
55