Skip to main content

gitbundle_sdk/models/
repo_content_info.rs

1/*
2 * GitBundle API
3 *
4 * GitBundle API documentation.
5 *
6 * The version of the OpenAPI document: 3.4.1
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11use 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}