gitbundle_sdk/models/
repo_content_info.rs1use serde::{Deserialize, Serialize};
12
13use crate::models;
14
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct RepoContentInfo {
17 #[serde(
18 rename = "commit_url",
19 default,
20 with = "::serde_with::rust::double_option",
21 skip_serializing_if = "Option::is_none"
22 )]
23 pub commit_url: Option<Option<String>>,
24 #[serde(
25 rename = "latest_commit",
26 default,
27 with = "::serde_with::rust::double_option",
28 skip_serializing_if = "Option::is_none"
29 )]
30 pub latest_commit: Option<Option<Box<models::Commit>>>,
31 #[serde(rename = "name")]
32 pub name: String,
33 #[serde(rename = "path")]
34 pub path: String,
35 #[serde(
36 rename = "repo_url",
37 default,
38 with = "::serde_with::rust::double_option",
39 skip_serializing_if = "Option::is_none"
40 )]
41 pub repo_url: Option<Option<String>>,
42 #[serde(rename = "sha")]
43 pub sha: String,
44 #[serde(rename = "type")]
45 pub r#type: models::RepoContentType,
46}
47
48impl RepoContentInfo {
49 pub fn new(
50 name: String,
51 path: String,
52 sha: String,
53 r#type: models::RepoContentType,
54 ) -> RepoContentInfo {
55 RepoContentInfo {
56 commit_url: None,
57 latest_commit: None,
58 name,
59 path,
60 repo_url: None,
61 sha,
62 r#type,
63 }
64 }
65}