zlayer_types/api/
projects.rs1use serde::{Deserialize, Serialize};
4
5use crate::storage::BuildKind;
6
7#[derive(Debug, Serialize, Deserialize, utoipa::ToSchema)]
9pub struct CreateProjectRequest {
10 pub name: String,
12 #[serde(default)]
14 pub description: Option<String>,
15 #[serde(default)]
17 pub git_url: Option<String>,
18 #[serde(default)]
20 pub git_branch: Option<String>,
21 #[serde(default)]
23 pub git_credential_id: Option<String>,
24 #[serde(default)]
26 pub build_kind: Option<BuildKind>,
27 #[serde(default)]
29 pub build_path: Option<String>,
30 #[serde(default)]
33 pub deploy_spec_path: Option<String>,
34 #[serde(default)]
36 pub registry_credential_id: Option<String>,
37 #[serde(default)]
39 pub default_environment_id: Option<String>,
40 #[serde(default)]
42 pub auto_deploy: Option<bool>,
43 #[serde(default)]
45 pub poll_interval_secs: Option<u64>,
46}
47
48#[derive(Debug, Serialize, Deserialize, utoipa::ToSchema)]
50pub struct UpdateProjectRequest {
51 #[serde(default)]
53 pub name: Option<String>,
54 #[serde(default)]
56 pub description: Option<String>,
57 #[serde(default)]
59 pub git_url: Option<String>,
60 #[serde(default)]
62 pub git_branch: Option<String>,
63 #[serde(default)]
65 pub git_credential_id: Option<String>,
66 #[serde(default)]
68 pub build_kind: Option<BuildKind>,
69 #[serde(default)]
71 pub build_path: Option<String>,
72 #[serde(default)]
75 pub deploy_spec_path: Option<String>,
76 #[serde(default)]
78 pub registry_credential_id: Option<String>,
79 #[serde(default)]
81 pub default_environment_id: Option<String>,
82 #[serde(default)]
84 pub auto_deploy: Option<bool>,
85 #[serde(default)]
87 pub poll_interval_secs: Option<Option<u64>>,
88}
89
90#[derive(Debug, Serialize, Deserialize, utoipa::ToSchema)]
92pub struct LinkDeploymentRequest {
93 pub deployment_name: String,
95}
96
97#[derive(Debug, Serialize, utoipa::ToSchema)]
99pub struct ProjectPullResponse {
100 pub project_id: String,
102 pub git_url: String,
104 pub branch: String,
106 pub sha: String,
108 pub path: String,
110}