daytona_client/models/
git.rs1use serde::{Deserialize, Serialize};
4
5#[derive(Debug, Clone, Serialize, Deserialize)]
7#[serde(rename_all = "camelCase")]
8pub struct GitCloneRequest {
9 pub url: String,
10 pub path: String,
11 #[serde(skip_serializing_if = "Option::is_none")]
12 pub branch: Option<String>,
13 #[serde(skip_serializing_if = "Option::is_none")]
14 pub depth: Option<u32>,
15 #[serde(skip_serializing_if = "Option::is_none")]
16 pub auth_token: Option<String>,
17 #[serde(skip_serializing_if = "Option::is_none")]
18 pub ssh_key: Option<String>,
19}
20
21#[derive(Debug, Clone, Serialize, Deserialize)]
23#[serde(rename_all = "camelCase")]
24pub struct GitCommitRequest {
25 pub path: String,
26 pub message: String,
27 pub author: String,
28 pub email: String,
29 #[serde(skip_serializing_if = "Option::is_none")]
30 pub allow_empty: Option<bool>,
31}
32
33#[derive(Debug, Clone, Serialize, Deserialize)]
35#[serde(rename_all = "camelCase")]
36pub struct GitPushRequest {
37 #[serde(skip_serializing_if = "Option::is_none")]
38 pub remote: Option<String>,
39 #[serde(skip_serializing_if = "Option::is_none")]
40 pub branch: Option<String>,
41 #[serde(skip_serializing_if = "Option::is_none")]
42 pub force: Option<bool>,
43 #[serde(skip_serializing_if = "Option::is_none")]
44 pub auth_token: Option<String>,
45 #[serde(skip_serializing_if = "Option::is_none")]
46 pub ssh_key: Option<String>,
47}
48
49#[derive(Debug, Clone, Serialize, Deserialize)]
51#[serde(rename_all = "camelCase")]
52pub struct GitPullRequest {
53 #[serde(skip_serializing_if = "Option::is_none")]
54 pub remote: Option<String>,
55 #[serde(skip_serializing_if = "Option::is_none")]
56 pub branch: Option<String>,
57 #[serde(skip_serializing_if = "Option::is_none")]
58 pub rebase: Option<bool>,
59 #[serde(skip_serializing_if = "Option::is_none")]
60 pub auth_token: Option<String>,
61 #[serde(skip_serializing_if = "Option::is_none")]
62 pub ssh_key: Option<String>,
63}
64
65#[derive(Debug, Clone, Deserialize)]
67#[serde(rename_all = "camelCase")]
68pub struct GitStatus {
69 pub current_branch: String,
70 pub file_status: Vec<FileStatus>,
71 #[serde(skip_serializing_if = "Option::is_none")]
72 pub ahead: Option<u32>,
73 #[serde(skip_serializing_if = "Option::is_none")]
74 pub behind: Option<u32>,
75 #[serde(skip_serializing_if = "Option::is_none")]
76 pub branch_published: Option<bool>,
77}
78
79#[derive(Debug, Clone, Deserialize)]
81#[serde(rename_all = "camelCase")]
82pub struct FileStatus {
83 pub name: String,
84 pub staging: String,
85 pub worktree: String,
86 pub extra: String,
87}
88
89#[derive(Debug, Clone, Serialize, Deserialize)]
91#[serde(rename_all = "camelCase")]
92pub struct GitCommitInfo {
93 pub hash: String,
94 pub message: String,
95 pub author: String,
96 pub email: String,
97 pub timestamp: String,
98}
99
100pub type GitLogEntry = GitCommitInfo;
102
103#[derive(Debug, Clone, Deserialize)]
105#[serde(rename_all = "camelCase")]
106pub struct ListBranchResponse {
107 pub branches: Vec<String>,
108}