github.com/treeverse/lakefs@v1.24.1-0.20240520134607-95648127bfb0/clients/rust/src/apis/refs_api.rs (about) 1 /* 2 * lakeFS API 3 * 4 * lakeFS HTTP API 5 * 6 * The version of the OpenAPI document: 1.0.0 7 * Contact: services@treeverse.io 8 * Generated by: https://openapi-generator.tech 9 */ 10 11 12 use reqwest; 13 14 use crate::{apis::ResponseContent, models}; 15 use super::{Error, configuration}; 16 17 18 /// struct for typed errors of method [`diff_refs`] 19 #[derive(Debug, Clone, Serialize, Deserialize)] 20 #[serde(untagged)] 21 pub enum DiffRefsError { 22 Status401(models::Error), 23 Status404(models::Error), 24 Status420(), 25 DefaultResponse(models::Error), 26 UnknownValue(serde_json::Value), 27 } 28 29 /// struct for typed errors of method [`find_merge_base`] 30 #[derive(Debug, Clone, Serialize, Deserialize)] 31 #[serde(untagged)] 32 pub enum FindMergeBaseError { 33 Status400(models::Error), 34 Status401(models::Error), 35 Status404(models::Error), 36 Status420(), 37 DefaultResponse(models::Error), 38 UnknownValue(serde_json::Value), 39 } 40 41 /// struct for typed errors of method [`log_commits`] 42 #[derive(Debug, Clone, Serialize, Deserialize)] 43 #[serde(untagged)] 44 pub enum LogCommitsError { 45 Status401(models::Error), 46 Status404(models::Error), 47 Status420(), 48 DefaultResponse(models::Error), 49 UnknownValue(serde_json::Value), 50 } 51 52 /// struct for typed errors of method [`merge_into_branch`] 53 #[derive(Debug, Clone, Serialize, Deserialize)] 54 #[serde(untagged)] 55 pub enum MergeIntoBranchError { 56 Status400(models::Error), 57 Status401(models::Error), 58 Status403(models::Error), 59 Status404(models::Error), 60 Status409(models::MergeResult), 61 Status412(models::Error), 62 Status420(), 63 DefaultResponse(models::Error), 64 UnknownValue(serde_json::Value), 65 } 66 67 68 pub async fn diff_refs(configuration: &configuration::Configuration, repository: &str, left_ref: &str, right_ref: &str, after: Option<&str>, amount: Option<i32>, prefix: Option<&str>, delimiter: Option<&str>, r#type: Option<&str>) -> Result<models::DiffList, Error<DiffRefsError>> { 69 let local_var_configuration = configuration; 70 71 let local_var_client = &local_var_configuration.client; 72 73 let local_var_uri_str = format!("{}/repositories/{repository}/refs/{leftRef}/diff/{rightRef}", local_var_configuration.base_path, repository=crate::apis::urlencode(repository), leftRef=crate::apis::urlencode(left_ref), rightRef=crate::apis::urlencode(right_ref)); 74 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); 75 76 if let Some(ref local_var_str) = after { 77 local_var_req_builder = local_var_req_builder.query(&[("after", &local_var_str.to_string())]); 78 } 79 if let Some(ref local_var_str) = amount { 80 local_var_req_builder = local_var_req_builder.query(&[("amount", &local_var_str.to_string())]); 81 } 82 if let Some(ref local_var_str) = prefix { 83 local_var_req_builder = local_var_req_builder.query(&[("prefix", &local_var_str.to_string())]); 84 } 85 if let Some(ref local_var_str) = delimiter { 86 local_var_req_builder = local_var_req_builder.query(&[("delimiter", &local_var_str.to_string())]); 87 } 88 if let Some(ref local_var_str) = r#type { 89 local_var_req_builder = local_var_req_builder.query(&[("type", &local_var_str.to_string())]); 90 } 91 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { 92 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); 93 } 94 if let Some(ref local_var_auth_conf) = local_var_configuration.basic_auth { 95 local_var_req_builder = local_var_req_builder.basic_auth(local_var_auth_conf.0.to_owned(), local_var_auth_conf.1.to_owned()); 96 }; 97 if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { 98 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); 99 }; 100 101 let local_var_req = local_var_req_builder.build()?; 102 let local_var_resp = local_var_client.execute(local_var_req).await?; 103 104 let local_var_status = local_var_resp.status(); 105 let local_var_content = local_var_resp.text().await?; 106 107 if !local_var_status.is_client_error() && !local_var_status.is_server_error() { 108 serde_json::from_str(&local_var_content).map_err(Error::from) 109 } else { 110 let local_var_entity: Option<DiffRefsError> = serde_json::from_str(&local_var_content).ok(); 111 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity }; 112 Err(Error::ResponseError(local_var_error)) 113 } 114 } 115 116 pub async fn find_merge_base(configuration: &configuration::Configuration, repository: &str, source_ref: &str, destination_branch: &str) -> Result<models::FindMergeBaseResult, Error<FindMergeBaseError>> { 117 let local_var_configuration = configuration; 118 119 let local_var_client = &local_var_configuration.client; 120 121 let local_var_uri_str = format!("{}/repositories/{repository}/refs/{sourceRef}/merge/{destinationBranch}", local_var_configuration.base_path, repository=crate::apis::urlencode(repository), sourceRef=crate::apis::urlencode(source_ref), destinationBranch=crate::apis::urlencode(destination_branch)); 122 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); 123 124 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { 125 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); 126 } 127 if let Some(ref local_var_auth_conf) = local_var_configuration.basic_auth { 128 local_var_req_builder = local_var_req_builder.basic_auth(local_var_auth_conf.0.to_owned(), local_var_auth_conf.1.to_owned()); 129 }; 130 if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { 131 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); 132 }; 133 134 let local_var_req = local_var_req_builder.build()?; 135 let local_var_resp = local_var_client.execute(local_var_req).await?; 136 137 let local_var_status = local_var_resp.status(); 138 let local_var_content = local_var_resp.text().await?; 139 140 if !local_var_status.is_client_error() && !local_var_status.is_server_error() { 141 serde_json::from_str(&local_var_content).map_err(Error::from) 142 } else { 143 let local_var_entity: Option<FindMergeBaseError> = serde_json::from_str(&local_var_content).ok(); 144 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity }; 145 Err(Error::ResponseError(local_var_error)) 146 } 147 } 148 149 pub async fn log_commits(configuration: &configuration::Configuration, repository: &str, r#ref: &str, after: Option<&str>, amount: Option<i32>, objects: Option<Vec<String>>, prefixes: Option<Vec<String>>, limit: Option<bool>, first_parent: Option<bool>, since: Option<String>, stop_at: Option<&str>) -> Result<models::CommitList, Error<LogCommitsError>> { 150 let local_var_configuration = configuration; 151 152 let local_var_client = &local_var_configuration.client; 153 154 let local_var_uri_str = format!("{}/repositories/{repository}/refs/{ref}/commits", local_var_configuration.base_path, repository=crate::apis::urlencode(repository), ref=crate::apis::urlencode(r#ref)); 155 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); 156 157 if let Some(ref local_var_str) = after { 158 local_var_req_builder = local_var_req_builder.query(&[("after", &local_var_str.to_string())]); 159 } 160 if let Some(ref local_var_str) = amount { 161 local_var_req_builder = local_var_req_builder.query(&[("amount", &local_var_str.to_string())]); 162 } 163 if let Some(ref local_var_str) = objects { 164 local_var_req_builder = match "multi" { 165 "multi" => local_var_req_builder.query(&local_var_str.into_iter().map(|p| ("objects".to_owned(), p.to_string())).collect::<Vec<(std::string::String, std::string::String)>>()), 166 _ => local_var_req_builder.query(&[("objects", &local_var_str.into_iter().map(|p| p.to_string()).collect::<Vec<String>>().join(",").to_string())]), 167 }; 168 } 169 if let Some(ref local_var_str) = prefixes { 170 local_var_req_builder = match "multi" { 171 "multi" => local_var_req_builder.query(&local_var_str.into_iter().map(|p| ("prefixes".to_owned(), p.to_string())).collect::<Vec<(std::string::String, std::string::String)>>()), 172 _ => local_var_req_builder.query(&[("prefixes", &local_var_str.into_iter().map(|p| p.to_string()).collect::<Vec<String>>().join(",").to_string())]), 173 }; 174 } 175 if let Some(ref local_var_str) = limit { 176 local_var_req_builder = local_var_req_builder.query(&[("limit", &local_var_str.to_string())]); 177 } 178 if let Some(ref local_var_str) = first_parent { 179 local_var_req_builder = local_var_req_builder.query(&[("first_parent", &local_var_str.to_string())]); 180 } 181 if let Some(ref local_var_str) = since { 182 local_var_req_builder = local_var_req_builder.query(&[("since", &local_var_str.to_string())]); 183 } 184 if let Some(ref local_var_str) = stop_at { 185 local_var_req_builder = local_var_req_builder.query(&[("stop_at", &local_var_str.to_string())]); 186 } 187 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { 188 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); 189 } 190 if let Some(ref local_var_auth_conf) = local_var_configuration.basic_auth { 191 local_var_req_builder = local_var_req_builder.basic_auth(local_var_auth_conf.0.to_owned(), local_var_auth_conf.1.to_owned()); 192 }; 193 if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { 194 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); 195 }; 196 197 let local_var_req = local_var_req_builder.build()?; 198 let local_var_resp = local_var_client.execute(local_var_req).await?; 199 200 let local_var_status = local_var_resp.status(); 201 let local_var_content = local_var_resp.text().await?; 202 203 if !local_var_status.is_client_error() && !local_var_status.is_server_error() { 204 serde_json::from_str(&local_var_content).map_err(Error::from) 205 } else { 206 let local_var_entity: Option<LogCommitsError> = serde_json::from_str(&local_var_content).ok(); 207 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity }; 208 Err(Error::ResponseError(local_var_error)) 209 } 210 } 211 212 pub async fn merge_into_branch(configuration: &configuration::Configuration, repository: &str, source_ref: &str, destination_branch: &str, merge: Option<models::Merge>) -> Result<models::MergeResult, Error<MergeIntoBranchError>> { 213 let local_var_configuration = configuration; 214 215 let local_var_client = &local_var_configuration.client; 216 217 let local_var_uri_str = format!("{}/repositories/{repository}/refs/{sourceRef}/merge/{destinationBranch}", local_var_configuration.base_path, repository=crate::apis::urlencode(repository), sourceRef=crate::apis::urlencode(source_ref), destinationBranch=crate::apis::urlencode(destination_branch)); 218 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); 219 220 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { 221 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); 222 } 223 if let Some(ref local_var_auth_conf) = local_var_configuration.basic_auth { 224 local_var_req_builder = local_var_req_builder.basic_auth(local_var_auth_conf.0.to_owned(), local_var_auth_conf.1.to_owned()); 225 }; 226 if let Some(ref local_var_token) = local_var_configuration.bearer_access_token { 227 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); 228 }; 229 local_var_req_builder = local_var_req_builder.json(&merge); 230 231 let local_var_req = local_var_req_builder.build()?; 232 let local_var_resp = local_var_client.execute(local_var_req).await?; 233 234 let local_var_status = local_var_resp.status(); 235 let local_var_content = local_var_resp.text().await?; 236 237 if !local_var_status.is_client_error() && !local_var_status.is_server_error() { 238 serde_json::from_str(&local_var_content).map_err(Error::from) 239 } else { 240 let local_var_entity: Option<MergeIntoBranchError> = serde_json::from_str(&local_var_content).ok(); 241 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity }; 242 Err(Error::ResponseError(local_var_error)) 243 } 244 } 245