1use serde::{Deserialize, Serialize};
2use crate::utils::deserialize_string_or_int;
3
4#[derive(Debug, Clone, Deserialize, Serialize)]
5pub struct FileContent {
6 pub name: String,
7 pub path: String,
8 #[serde(deserialize_with = "deserialize_string_or_int")]
9 pub sha: String, pub size: Option<i32>,
11 #[serde(default)]
12 pub url: String,
13 #[serde(default)]
14 pub html_url: String,
15 #[serde(default)]
16 pub git_url: String,
17 #[serde(default)]
18 pub download_url: String,
19 #[serde(rename = "type")]
20 pub file_type: String, pub content: Option<String>,
22 #[serde(default)]
23 pub encoding: Option<String>,
24}
25
26#[derive(Debug, Clone, Deserialize, Serialize)]
27pub struct RepoFile {
28 pub name: String,
29 pub path: String,
30 #[serde(deserialize_with = "deserialize_string_or_int")]
31 pub sha: String, pub size: Option<i32>,
33 #[serde(default)]
34 pub url: String,
35 #[serde(default)]
36 pub html_url: String,
37 #[serde(default)]
38 pub git_url: String,
39 #[serde(default)]
40 pub download_url: String,
41 #[serde(rename = "type")]
42 pub file_type: String, }