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