openapi_github/models/
dependency.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct Dependency {
16 #[serde(rename = "package_url", skip_serializing_if = "Option::is_none")]
18 pub package_url: Option<String>,
19 #[serde(rename = "metadata", skip_serializing_if = "Option::is_none")]
21 pub metadata: Option<std::collections::HashMap<String, models::MetadataValue>>,
22 #[serde(rename = "relationship", skip_serializing_if = "Option::is_none")]
24 pub relationship: Option<Relationship>,
25 #[serde(rename = "scope", skip_serializing_if = "Option::is_none")]
27 pub scope: Option<Scope>,
28 #[serde(rename = "dependencies", skip_serializing_if = "Option::is_none")]
30 pub dependencies: Option<Vec<String>>,
31}
32
33impl Dependency {
34 pub fn new() -> Dependency {
35 Dependency {
36 package_url: None,
37 metadata: None,
38 relationship: None,
39 scope: None,
40 dependencies: None,
41 }
42 }
43}
44#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
46pub enum Relationship {
47 #[serde(rename = "direct")]
48 Direct,
49 #[serde(rename = "indirect")]
50 Indirect,
51}
52
53impl Default for Relationship {
54 fn default() -> Relationship {
55 Self::Direct
56 }
57}
58#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
60pub enum Scope {
61 #[serde(rename = "runtime")]
62 Runtime,
63 #[serde(rename = "development")]
64 Development,
65}
66
67impl Default for Scope {
68 fn default() -> Scope {
69 Self::Runtime
70 }
71}
72