All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.dominodatalab.api.rest.GitApi Maven / Gradle / Ivy

/*
 * Domino Data Lab API v4
 * This API is going to provide access to all the Domino functions available in the user interface. To authenticate your requests, include your API Key (which you can find on your account page) with the header X-Domino-Api-Key. 
 *
 * The version of the OpenAPI document: 4.0.0
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

package com.dominodatalab.api.rest;

import com.dominodatalab.api.invoker.ApiClient;
import com.dominodatalab.api.invoker.ApiException;
import com.dominodatalab.api.invoker.ApiResponse;
import com.dominodatalab.api.invoker.Pair;

import com.dominodatalab.api.model.DominoApiErrorResponse;
import com.dominodatalab.api.model.DominoExecutorApiCheckoutBranchRequest;
import com.dominodatalab.api.model.DominoExecutorApiCheckoutBranchResponseDto;
import com.dominodatalab.api.model.DominoExecutorApiListBranchesRequest;
import com.dominodatalab.api.model.DominoExecutorApiListBranchesResponseDto;
import com.dominodatalab.api.model.DominoGitprovidersApiGetRepoTypeCapabilitiesApiResponse;
import com.dominodatalab.api.model.DominoGitprovidersApiGetReposApiResponse;
import com.dominodatalab.api.model.DominoProjectsApiRepositoriesReferenceDTO;
import com.dominodatalab.api.model.DominoProjectsApiRepositoriesResponsesGetBranchesApiResponse;
import com.dominodatalab.api.model.DominoProjectsApiRepositoriesResponsesGetCommitsApiResponse;
import com.dominodatalab.api.model.DominoProjectsApiRepositoriesResponsesGetRepoBrowseApiResponse;
import com.dominodatalab.api.model.DominoProjectsApiRepositoriesResponsesGitApiResponseWrapper;
import com.dominodatalab.api.model.DominoWorkspaceApiGitCancelMergeConflictResolutionRequest;
import com.dominodatalab.api.model.DominoWorkspaceApiGitCommitAndPushReposResponseDto;
import com.dominodatalab.api.model.DominoWorkspaceApiGitCommitAndPushRequest;
import com.dominodatalab.api.model.DominoWorkspaceApiGitCommitReposResponseDto;
import com.dominodatalab.api.model.DominoWorkspaceApiGitCommitRequest;
import com.dominodatalab.api.model.DominoWorkspaceApiGitContinueMergeConflictResolutionRequest;
import com.dominodatalab.api.model.DominoWorkspaceApiGitContinueMergeConflictResolutionResponseDto;
import com.dominodatalab.api.model.DominoWorkspaceApiGitForcePushResolutionRequest;
import com.dominodatalab.api.model.DominoWorkspaceApiGitHardResetResolutionRequest;
import com.dominodatalab.api.model.DominoWorkspaceApiGitMergeConflictResolutionResponseDto;
import com.dominodatalab.api.model.DominoWorkspaceApiGitPullReposRequest;
import com.dominodatalab.api.model.DominoWorkspaceApiGitPullReposResponseDto;
import com.dominodatalab.api.model.DominoWorkspaceApiGitStageCurrentLocalFileRequest;
import com.dominodatalab.api.model.DominoWorkspaceApiGitStageFileResponseDto;
import com.dominodatalab.api.model.DominoWorkspaceApiGitStageLocalCommitFileRequest;
import com.dominodatalab.api.model.DominoWorkspaceApiGitStageRemoteCommitFileRequest;

import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;

import org.apache.http.HttpEntity;
import org.apache.http.NameValuePair;
import org.apache.http.entity.mime.MultipartEntityBuilder;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.client.entity.UrlEncodedFormEntity;

import java.io.InputStream;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import java.io.OutputStream;
import java.net.http.HttpRequest;
import java.nio.channels.Channels;
import java.nio.channels.Pipe;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.time.Duration;

import java.util.ArrayList;
import java.util.StringJoiner;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.function.Consumer;

@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2023-10-17T15:20:46.682098100-04:00[America/New_York]")
public class GitApi {
  private final HttpClient memberVarHttpClient;
  private final ObjectMapper memberVarObjectMapper;
  private final String memberVarBaseUri;
  private final Consumer memberVarInterceptor;
  private final Duration memberVarReadTimeout;
  private final Consumer> memberVarResponseInterceptor;
  private final Consumer> memberVarAsyncResponseInterceptor;

  public GitApi() {
    this(new ApiClient());
  }

  public GitApi(ApiClient apiClient) {
    memberVarHttpClient = apiClient.getHttpClient();
    memberVarObjectMapper = apiClient.getObjectMapper();
    memberVarBaseUri = apiClient.getBaseUri();
    memberVarInterceptor = apiClient.getRequestInterceptor();
    memberVarReadTimeout = apiClient.getReadTimeout();
    memberVarResponseInterceptor = apiClient.getResponseInterceptor();
    memberVarAsyncResponseInterceptor = apiClient.getAsyncResponseInterceptor();
  }

  protected ApiException getApiException(String operationId, HttpResponse response) throws IOException {
    String body = response.body() == null ? null : new String(response.body().readAllBytes());
    String message = formatExceptionMessage(operationId, response.statusCode(), body);
    return new ApiException(response.statusCode(), message, response.headers(), body);
  }

  private String formatExceptionMessage(String operationId, int statusCode, String body) {
    if (body == null || body.isEmpty()) {
      body = "[no body]";
    }
    return operationId + " call failed with: " + statusCode + " - " + body;
  }

  /**
   * Cancel an existing merge conflict
   * 
   * @param workspaceId Id of the Workspace (required)
   * @param dominoWorkspaceApiGitCancelMergeConflictResolutionRequest list of repositories that are in conflict (required)
   * @return DominoWorkspaceApiGitMergeConflictResolutionResponseDto
   * @throws ApiException if fails to make API call
   */
  public DominoWorkspaceApiGitMergeConflictResolutionResponseDto cancelMergeConflictResolution(String workspaceId, DominoWorkspaceApiGitCancelMergeConflictResolutionRequest dominoWorkspaceApiGitCancelMergeConflictResolutionRequest) throws ApiException {
    ApiResponse localVarResponse = cancelMergeConflictResolutionWithHttpInfo(workspaceId, dominoWorkspaceApiGitCancelMergeConflictResolutionRequest);
    return localVarResponse.getData();
  }

  /**
   * Cancel an existing merge conflict
   * 
   * @param workspaceId Id of the Workspace (required)
   * @param dominoWorkspaceApiGitCancelMergeConflictResolutionRequest list of repositories that are in conflict (required)
   * @return ApiResponse<DominoWorkspaceApiGitMergeConflictResolutionResponseDto>
   * @throws ApiException if fails to make API call
   */
  public ApiResponse cancelMergeConflictResolutionWithHttpInfo(String workspaceId, DominoWorkspaceApiGitCancelMergeConflictResolutionRequest dominoWorkspaceApiGitCancelMergeConflictResolutionRequest) throws ApiException {
    HttpRequest.Builder localVarRequestBuilder = cancelMergeConflictResolutionRequestBuilder(workspaceId, dominoWorkspaceApiGitCancelMergeConflictResolutionRequest);
    try {
      HttpResponse localVarResponse = memberVarHttpClient.send(
          localVarRequestBuilder.build(),
          HttpResponse.BodyHandlers.ofInputStream());
      if (memberVarResponseInterceptor != null) {
        memberVarResponseInterceptor.accept(localVarResponse);
      }
      try {
        if (localVarResponse.statusCode()/ 100 != 2) {
          throw getApiException("cancelMergeConflictResolution", localVarResponse);
        }
        return new ApiResponse(
          localVarResponse.statusCode(),
          localVarResponse.headers().map(),
          localVarResponse.body() == null ? null : memberVarObjectMapper.readValue(localVarResponse.body(), new TypeReference() {}) // closes the InputStream
        );
      } finally {
      }
    } catch (IOException e) {
      throw new ApiException(e);
    }
    catch (InterruptedException e) {
      Thread.currentThread().interrupt();
      throw new ApiException(e);
    }
  }

  private HttpRequest.Builder cancelMergeConflictResolutionRequestBuilder(String workspaceId, DominoWorkspaceApiGitCancelMergeConflictResolutionRequest dominoWorkspaceApiGitCancelMergeConflictResolutionRequest) throws ApiException {
    // verify the required parameter 'workspaceId' is set
    if (workspaceId == null) {
      throw new ApiException(400, "Missing the required parameter 'workspaceId' when calling cancelMergeConflictResolution");
    }
    // verify the required parameter 'dominoWorkspaceApiGitCancelMergeConflictResolutionRequest' is set
    if (dominoWorkspaceApiGitCancelMergeConflictResolutionRequest == null) {
      throw new ApiException(400, "Missing the required parameter 'dominoWorkspaceApiGitCancelMergeConflictResolutionRequest' when calling cancelMergeConflictResolution");
    }

    HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder();

    String localVarPath = "/workspace/{workspaceId}/cancelMergeResolution"
        .replace("{workspaceId}", ApiClient.urlEncode(workspaceId.toString()));

    localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath));

    localVarRequestBuilder.header("Content-Type", "application/json");
    localVarRequestBuilder.header("Accept", "application/json");

    try {
      byte[] localVarPostBody = memberVarObjectMapper.writeValueAsBytes(dominoWorkspaceApiGitCancelMergeConflictResolutionRequest);
      localVarRequestBuilder.method("POST", HttpRequest.BodyPublishers.ofByteArray(localVarPostBody));
    } catch (IOException e) {
      throw new ApiException(e);
    }
    if (memberVarReadTimeout != null) {
      localVarRequestBuilder.timeout(memberVarReadTimeout);
    }
    if (memberVarInterceptor != null) {
      memberVarInterceptor.accept(localVarRequestBuilder);
    }
    return localVarRequestBuilder;
  }
  /**
   * checkout branch of a git repository
   * 
   * @param workspaceId Id of the Workspace (required)
   * @param dominoExecutorApiCheckoutBranchRequest repository and which branch to checkout to (required)
   * @return DominoExecutorApiCheckoutBranchResponseDto
   * @throws ApiException if fails to make API call
   */
  public DominoExecutorApiCheckoutBranchResponseDto checkoutBranch(String workspaceId, DominoExecutorApiCheckoutBranchRequest dominoExecutorApiCheckoutBranchRequest) throws ApiException {
    ApiResponse localVarResponse = checkoutBranchWithHttpInfo(workspaceId, dominoExecutorApiCheckoutBranchRequest);
    return localVarResponse.getData();
  }

  /**
   * checkout branch of a git repository
   * 
   * @param workspaceId Id of the Workspace (required)
   * @param dominoExecutorApiCheckoutBranchRequest repository and which branch to checkout to (required)
   * @return ApiResponse<DominoExecutorApiCheckoutBranchResponseDto>
   * @throws ApiException if fails to make API call
   */
  public ApiResponse checkoutBranchWithHttpInfo(String workspaceId, DominoExecutorApiCheckoutBranchRequest dominoExecutorApiCheckoutBranchRequest) throws ApiException {
    HttpRequest.Builder localVarRequestBuilder = checkoutBranchRequestBuilder(workspaceId, dominoExecutorApiCheckoutBranchRequest);
    try {
      HttpResponse localVarResponse = memberVarHttpClient.send(
          localVarRequestBuilder.build(),
          HttpResponse.BodyHandlers.ofInputStream());
      if (memberVarResponseInterceptor != null) {
        memberVarResponseInterceptor.accept(localVarResponse);
      }
      try {
        if (localVarResponse.statusCode()/ 100 != 2) {
          throw getApiException("checkoutBranch", localVarResponse);
        }
        return new ApiResponse(
          localVarResponse.statusCode(),
          localVarResponse.headers().map(),
          localVarResponse.body() == null ? null : memberVarObjectMapper.readValue(localVarResponse.body(), new TypeReference() {}) // closes the InputStream
        );
      } finally {
      }
    } catch (IOException e) {
      throw new ApiException(e);
    }
    catch (InterruptedException e) {
      Thread.currentThread().interrupt();
      throw new ApiException(e);
    }
  }

  private HttpRequest.Builder checkoutBranchRequestBuilder(String workspaceId, DominoExecutorApiCheckoutBranchRequest dominoExecutorApiCheckoutBranchRequest) throws ApiException {
    // verify the required parameter 'workspaceId' is set
    if (workspaceId == null) {
      throw new ApiException(400, "Missing the required parameter 'workspaceId' when calling checkoutBranch");
    }
    // verify the required parameter 'dominoExecutorApiCheckoutBranchRequest' is set
    if (dominoExecutorApiCheckoutBranchRequest == null) {
      throw new ApiException(400, "Missing the required parameter 'dominoExecutorApiCheckoutBranchRequest' when calling checkoutBranch");
    }

    HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder();

    String localVarPath = "/workspace/{workspaceId}/checkoutBranch"
        .replace("{workspaceId}", ApiClient.urlEncode(workspaceId.toString()));

    localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath));

    localVarRequestBuilder.header("Content-Type", "application/json");
    localVarRequestBuilder.header("Accept", "application/json");

    try {
      byte[] localVarPostBody = memberVarObjectMapper.writeValueAsBytes(dominoExecutorApiCheckoutBranchRequest);
      localVarRequestBuilder.method("POST", HttpRequest.BodyPublishers.ofByteArray(localVarPostBody));
    } catch (IOException e) {
      throw new ApiException(e);
    }
    if (memberVarReadTimeout != null) {
      localVarRequestBuilder.timeout(memberVarReadTimeout);
    }
    if (memberVarInterceptor != null) {
      memberVarInterceptor.accept(localVarRequestBuilder);
    }
    return localVarRequestBuilder;
  }
  /**
   * Commit and Push for enhanced merge conflicts
   * 
   * @param workspaceId Id of the Workspace (required)
   * @param dominoWorkspaceApiGitCommitAndPushRequest list of repositories that should be committed and pushed (required)
   * @return DominoWorkspaceApiGitCommitAndPushReposResponseDto
   * @throws ApiException if fails to make API call
   */
  public DominoWorkspaceApiGitCommitAndPushReposResponseDto commitAndPushReposEnhanced(String workspaceId, DominoWorkspaceApiGitCommitAndPushRequest dominoWorkspaceApiGitCommitAndPushRequest) throws ApiException {
    ApiResponse localVarResponse = commitAndPushReposEnhancedWithHttpInfo(workspaceId, dominoWorkspaceApiGitCommitAndPushRequest);
    return localVarResponse.getData();
  }

  /**
   * Commit and Push for enhanced merge conflicts
   * 
   * @param workspaceId Id of the Workspace (required)
   * @param dominoWorkspaceApiGitCommitAndPushRequest list of repositories that should be committed and pushed (required)
   * @return ApiResponse<DominoWorkspaceApiGitCommitAndPushReposResponseDto>
   * @throws ApiException if fails to make API call
   */
  public ApiResponse commitAndPushReposEnhancedWithHttpInfo(String workspaceId, DominoWorkspaceApiGitCommitAndPushRequest dominoWorkspaceApiGitCommitAndPushRequest) throws ApiException {
    HttpRequest.Builder localVarRequestBuilder = commitAndPushReposEnhancedRequestBuilder(workspaceId, dominoWorkspaceApiGitCommitAndPushRequest);
    try {
      HttpResponse localVarResponse = memberVarHttpClient.send(
          localVarRequestBuilder.build(),
          HttpResponse.BodyHandlers.ofInputStream());
      if (memberVarResponseInterceptor != null) {
        memberVarResponseInterceptor.accept(localVarResponse);
      }
      try {
        if (localVarResponse.statusCode()/ 100 != 2) {
          throw getApiException("commitAndPushReposEnhanced", localVarResponse);
        }
        return new ApiResponse(
          localVarResponse.statusCode(),
          localVarResponse.headers().map(),
          localVarResponse.body() == null ? null : memberVarObjectMapper.readValue(localVarResponse.body(), new TypeReference() {}) // closes the InputStream
        );
      } finally {
      }
    } catch (IOException e) {
      throw new ApiException(e);
    }
    catch (InterruptedException e) {
      Thread.currentThread().interrupt();
      throw new ApiException(e);
    }
  }

  private HttpRequest.Builder commitAndPushReposEnhancedRequestBuilder(String workspaceId, DominoWorkspaceApiGitCommitAndPushRequest dominoWorkspaceApiGitCommitAndPushRequest) throws ApiException {
    // verify the required parameter 'workspaceId' is set
    if (workspaceId == null) {
      throw new ApiException(400, "Missing the required parameter 'workspaceId' when calling commitAndPushReposEnhanced");
    }
    // verify the required parameter 'dominoWorkspaceApiGitCommitAndPushRequest' is set
    if (dominoWorkspaceApiGitCommitAndPushRequest == null) {
      throw new ApiException(400, "Missing the required parameter 'dominoWorkspaceApiGitCommitAndPushRequest' when calling commitAndPushReposEnhanced");
    }

    HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder();

    String localVarPath = "/workspace/{workspaceId}/commitAndPushReposEnhanced"
        .replace("{workspaceId}", ApiClient.urlEncode(workspaceId.toString()));

    localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath));

    localVarRequestBuilder.header("Content-Type", "application/json");
    localVarRequestBuilder.header("Accept", "application/json");

    try {
      byte[] localVarPostBody = memberVarObjectMapper.writeValueAsBytes(dominoWorkspaceApiGitCommitAndPushRequest);
      localVarRequestBuilder.method("POST", HttpRequest.BodyPublishers.ofByteArray(localVarPostBody));
    } catch (IOException e) {
      throw new ApiException(e);
    }
    if (memberVarReadTimeout != null) {
      localVarRequestBuilder.timeout(memberVarReadTimeout);
    }
    if (memberVarInterceptor != null) {
      memberVarInterceptor.accept(localVarRequestBuilder);
    }
    return localVarRequestBuilder;
  }
  /**
   * Commit repos
   * 
   * @param workspaceId Id of the Workspace (required)
   * @param dominoWorkspaceApiGitCommitRequest list of repositories that should be committed (required)
   * @return DominoWorkspaceApiGitCommitReposResponseDto
   * @throws ApiException if fails to make API call
   */
  public DominoWorkspaceApiGitCommitReposResponseDto commitRepos(String workspaceId, DominoWorkspaceApiGitCommitRequest dominoWorkspaceApiGitCommitRequest) throws ApiException {
    ApiResponse localVarResponse = commitReposWithHttpInfo(workspaceId, dominoWorkspaceApiGitCommitRequest);
    return localVarResponse.getData();
  }

  /**
   * Commit repos
   * 
   * @param workspaceId Id of the Workspace (required)
   * @param dominoWorkspaceApiGitCommitRequest list of repositories that should be committed (required)
   * @return ApiResponse<DominoWorkspaceApiGitCommitReposResponseDto>
   * @throws ApiException if fails to make API call
   */
  public ApiResponse commitReposWithHttpInfo(String workspaceId, DominoWorkspaceApiGitCommitRequest dominoWorkspaceApiGitCommitRequest) throws ApiException {
    HttpRequest.Builder localVarRequestBuilder = commitReposRequestBuilder(workspaceId, dominoWorkspaceApiGitCommitRequest);
    try {
      HttpResponse localVarResponse = memberVarHttpClient.send(
          localVarRequestBuilder.build(),
          HttpResponse.BodyHandlers.ofInputStream());
      if (memberVarResponseInterceptor != null) {
        memberVarResponseInterceptor.accept(localVarResponse);
      }
      try {
        if (localVarResponse.statusCode()/ 100 != 2) {
          throw getApiException("commitRepos", localVarResponse);
        }
        return new ApiResponse(
          localVarResponse.statusCode(),
          localVarResponse.headers().map(),
          localVarResponse.body() == null ? null : memberVarObjectMapper.readValue(localVarResponse.body(), new TypeReference() {}) // closes the InputStream
        );
      } finally {
      }
    } catch (IOException e) {
      throw new ApiException(e);
    }
    catch (InterruptedException e) {
      Thread.currentThread().interrupt();
      throw new ApiException(e);
    }
  }

  private HttpRequest.Builder commitReposRequestBuilder(String workspaceId, DominoWorkspaceApiGitCommitRequest dominoWorkspaceApiGitCommitRequest) throws ApiException {
    // verify the required parameter 'workspaceId' is set
    if (workspaceId == null) {
      throw new ApiException(400, "Missing the required parameter 'workspaceId' when calling commitRepos");
    }
    // verify the required parameter 'dominoWorkspaceApiGitCommitRequest' is set
    if (dominoWorkspaceApiGitCommitRequest == null) {
      throw new ApiException(400, "Missing the required parameter 'dominoWorkspaceApiGitCommitRequest' when calling commitRepos");
    }

    HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder();

    String localVarPath = "/workspace/{workspaceId}/commitRepos"
        .replace("{workspaceId}", ApiClient.urlEncode(workspaceId.toString()));

    localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath));

    localVarRequestBuilder.header("Content-Type", "application/json");
    localVarRequestBuilder.header("Accept", "application/json");

    try {
      byte[] localVarPostBody = memberVarObjectMapper.writeValueAsBytes(dominoWorkspaceApiGitCommitRequest);
      localVarRequestBuilder.method("POST", HttpRequest.BodyPublishers.ofByteArray(localVarPostBody));
    } catch (IOException e) {
      throw new ApiException(e);
    }
    if (memberVarReadTimeout != null) {
      localVarRequestBuilder.timeout(memberVarReadTimeout);
    }
    if (memberVarInterceptor != null) {
      memberVarInterceptor.accept(localVarRequestBuilder);
    }
    return localVarRequestBuilder;
  }
  /**
   * Continue merge conflict resolution
   * 
   * @param workspaceId Id of the Workspace (required)
   * @param dominoWorkspaceApiGitContinueMergeConflictResolutionRequest Repository to continue rebase for along with a commit message (required)
   * @return DominoWorkspaceApiGitContinueMergeConflictResolutionResponseDto
   * @throws ApiException if fails to make API call
   */
  public DominoWorkspaceApiGitContinueMergeConflictResolutionResponseDto continueMergeConflictResolution(String workspaceId, DominoWorkspaceApiGitContinueMergeConflictResolutionRequest dominoWorkspaceApiGitContinueMergeConflictResolutionRequest) throws ApiException {
    ApiResponse localVarResponse = continueMergeConflictResolutionWithHttpInfo(workspaceId, dominoWorkspaceApiGitContinueMergeConflictResolutionRequest);
    return localVarResponse.getData();
  }

  /**
   * Continue merge conflict resolution
   * 
   * @param workspaceId Id of the Workspace (required)
   * @param dominoWorkspaceApiGitContinueMergeConflictResolutionRequest Repository to continue rebase for along with a commit message (required)
   * @return ApiResponse<DominoWorkspaceApiGitContinueMergeConflictResolutionResponseDto>
   * @throws ApiException if fails to make API call
   */
  public ApiResponse continueMergeConflictResolutionWithHttpInfo(String workspaceId, DominoWorkspaceApiGitContinueMergeConflictResolutionRequest dominoWorkspaceApiGitContinueMergeConflictResolutionRequest) throws ApiException {
    HttpRequest.Builder localVarRequestBuilder = continueMergeConflictResolutionRequestBuilder(workspaceId, dominoWorkspaceApiGitContinueMergeConflictResolutionRequest);
    try {
      HttpResponse localVarResponse = memberVarHttpClient.send(
          localVarRequestBuilder.build(),
          HttpResponse.BodyHandlers.ofInputStream());
      if (memberVarResponseInterceptor != null) {
        memberVarResponseInterceptor.accept(localVarResponse);
      }
      try {
        if (localVarResponse.statusCode()/ 100 != 2) {
          throw getApiException("continueMergeConflictResolution", localVarResponse);
        }
        return new ApiResponse(
          localVarResponse.statusCode(),
          localVarResponse.headers().map(),
          localVarResponse.body() == null ? null : memberVarObjectMapper.readValue(localVarResponse.body(), new TypeReference() {}) // closes the InputStream
        );
      } finally {
      }
    } catch (IOException e) {
      throw new ApiException(e);
    }
    catch (InterruptedException e) {
      Thread.currentThread().interrupt();
      throw new ApiException(e);
    }
  }

  private HttpRequest.Builder continueMergeConflictResolutionRequestBuilder(String workspaceId, DominoWorkspaceApiGitContinueMergeConflictResolutionRequest dominoWorkspaceApiGitContinueMergeConflictResolutionRequest) throws ApiException {
    // verify the required parameter 'workspaceId' is set
    if (workspaceId == null) {
      throw new ApiException(400, "Missing the required parameter 'workspaceId' when calling continueMergeConflictResolution");
    }
    // verify the required parameter 'dominoWorkspaceApiGitContinueMergeConflictResolutionRequest' is set
    if (dominoWorkspaceApiGitContinueMergeConflictResolutionRequest == null) {
      throw new ApiException(400, "Missing the required parameter 'dominoWorkspaceApiGitContinueMergeConflictResolutionRequest' when calling continueMergeConflictResolution");
    }

    HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder();

    String localVarPath = "/workspace/{workspaceId}/continueMergeResolution"
        .replace("{workspaceId}", ApiClient.urlEncode(workspaceId.toString()));

    localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath));

    localVarRequestBuilder.header("Content-Type", "application/json");
    localVarRequestBuilder.header("Accept", "application/json");

    try {
      byte[] localVarPostBody = memberVarObjectMapper.writeValueAsBytes(dominoWorkspaceApiGitContinueMergeConflictResolutionRequest);
      localVarRequestBuilder.method("POST", HttpRequest.BodyPublishers.ofByteArray(localVarPostBody));
    } catch (IOException e) {
      throw new ApiException(e);
    }
    if (memberVarReadTimeout != null) {
      localVarRequestBuilder.timeout(memberVarReadTimeout);
    }
    if (memberVarInterceptor != null) {
      memberVarInterceptor.accept(localVarRequestBuilder);
    }
    return localVarRequestBuilder;
  }
  /**
   * Force push branch to resolve merge conflict
   * 
   * @param workspaceId Id of the Workspace (required)
   * @param dominoWorkspaceApiGitForcePushResolutionRequest list of repositories that are in conflict (required)
   * @return DominoWorkspaceApiGitMergeConflictResolutionResponseDto
   * @throws ApiException if fails to make API call
   */
  public DominoWorkspaceApiGitMergeConflictResolutionResponseDto forcePushResolution(String workspaceId, DominoWorkspaceApiGitForcePushResolutionRequest dominoWorkspaceApiGitForcePushResolutionRequest) throws ApiException {
    ApiResponse localVarResponse = forcePushResolutionWithHttpInfo(workspaceId, dominoWorkspaceApiGitForcePushResolutionRequest);
    return localVarResponse.getData();
  }

  /**
   * Force push branch to resolve merge conflict
   * 
   * @param workspaceId Id of the Workspace (required)
   * @param dominoWorkspaceApiGitForcePushResolutionRequest list of repositories that are in conflict (required)
   * @return ApiResponse<DominoWorkspaceApiGitMergeConflictResolutionResponseDto>
   * @throws ApiException if fails to make API call
   */
  public ApiResponse forcePushResolutionWithHttpInfo(String workspaceId, DominoWorkspaceApiGitForcePushResolutionRequest dominoWorkspaceApiGitForcePushResolutionRequest) throws ApiException {
    HttpRequest.Builder localVarRequestBuilder = forcePushResolutionRequestBuilder(workspaceId, dominoWorkspaceApiGitForcePushResolutionRequest);
    try {
      HttpResponse localVarResponse = memberVarHttpClient.send(
          localVarRequestBuilder.build(),
          HttpResponse.BodyHandlers.ofInputStream());
      if (memberVarResponseInterceptor != null) {
        memberVarResponseInterceptor.accept(localVarResponse);
      }
      try {
        if (localVarResponse.statusCode()/ 100 != 2) {
          throw getApiException("forcePushResolution", localVarResponse);
        }
        return new ApiResponse(
          localVarResponse.statusCode(),
          localVarResponse.headers().map(),
          localVarResponse.body() == null ? null : memberVarObjectMapper.readValue(localVarResponse.body(), new TypeReference() {}) // closes the InputStream
        );
      } finally {
      }
    } catch (IOException e) {
      throw new ApiException(e);
    }
    catch (InterruptedException e) {
      Thread.currentThread().interrupt();
      throw new ApiException(e);
    }
  }

  private HttpRequest.Builder forcePushResolutionRequestBuilder(String workspaceId, DominoWorkspaceApiGitForcePushResolutionRequest dominoWorkspaceApiGitForcePushResolutionRequest) throws ApiException {
    // verify the required parameter 'workspaceId' is set
    if (workspaceId == null) {
      throw new ApiException(400, "Missing the required parameter 'workspaceId' when calling forcePushResolution");
    }
    // verify the required parameter 'dominoWorkspaceApiGitForcePushResolutionRequest' is set
    if (dominoWorkspaceApiGitForcePushResolutionRequest == null) {
      throw new ApiException(400, "Missing the required parameter 'dominoWorkspaceApiGitForcePushResolutionRequest' when calling forcePushResolution");
    }

    HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder();

    String localVarPath = "/workspace/{workspaceId}/forcePushResolution"
        .replace("{workspaceId}", ApiClient.urlEncode(workspaceId.toString()));

    localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath));

    localVarRequestBuilder.header("Content-Type", "application/json");
    localVarRequestBuilder.header("Accept", "application/json");

    try {
      byte[] localVarPostBody = memberVarObjectMapper.writeValueAsBytes(dominoWorkspaceApiGitForcePushResolutionRequest);
      localVarRequestBuilder.method("POST", HttpRequest.BodyPublishers.ofByteArray(localVarPostBody));
    } catch (IOException e) {
      throw new ApiException(e);
    }
    if (memberVarReadTimeout != null) {
      localVarRequestBuilder.timeout(memberVarReadTimeout);
    }
    if (memberVarInterceptor != null) {
      memberVarInterceptor.accept(localVarRequestBuilder);
    }
    return localVarRequestBuilder;
  }
  /**
   * retrieves list of a repository's branches
   * 
   * @param projectId Id of the project to get the repository from. (required)
   * @param repositoryId Id of the repository being queried. You can use \"_\" to refer to the project's mainRepository. (required)
   * @param startIndex Index of the first result desired by the client (1-indexed) (optional, default to 1)
   * @param count Desired number of results per page (optional, default to 20)
   * @param sort Field name to sort results on. (optional, default to name)
   * @param sortDirection Direction to sort results in. Default value depends on sort field. Ignored if 'sort' is empty. (optional)
   * @param searchPattern Optional search parameter to filter by. (optional)
   * @return DominoProjectsApiRepositoriesResponsesGetBranchesApiResponse
   * @throws ApiException if fails to make API call
   */
  public DominoProjectsApiRepositoriesResponsesGetBranchesApiResponse getBranches(String projectId, String repositoryId, Integer startIndex, Integer count, String sort, String sortDirection, String searchPattern) throws ApiException {
    ApiResponse localVarResponse = getBranchesWithHttpInfo(projectId, repositoryId, startIndex, count, sort, sortDirection, searchPattern);
    return localVarResponse.getData();
  }

  /**
   * retrieves list of a repository's branches
   * 
   * @param projectId Id of the project to get the repository from. (required)
   * @param repositoryId Id of the repository being queried. You can use \"_\" to refer to the project's mainRepository. (required)
   * @param startIndex Index of the first result desired by the client (1-indexed) (optional, default to 1)
   * @param count Desired number of results per page (optional, default to 20)
   * @param sort Field name to sort results on. (optional, default to name)
   * @param sortDirection Direction to sort results in. Default value depends on sort field. Ignored if 'sort' is empty. (optional)
   * @param searchPattern Optional search parameter to filter by. (optional)
   * @return ApiResponse<DominoProjectsApiRepositoriesResponsesGetBranchesApiResponse>
   * @throws ApiException if fails to make API call
   */
  public ApiResponse getBranchesWithHttpInfo(String projectId, String repositoryId, Integer startIndex, Integer count, String sort, String sortDirection, String searchPattern) throws ApiException {
    HttpRequest.Builder localVarRequestBuilder = getBranchesRequestBuilder(projectId, repositoryId, startIndex, count, sort, sortDirection, searchPattern);
    try {
      HttpResponse localVarResponse = memberVarHttpClient.send(
          localVarRequestBuilder.build(),
          HttpResponse.BodyHandlers.ofInputStream());
      if (memberVarResponseInterceptor != null) {
        memberVarResponseInterceptor.accept(localVarResponse);
      }
      try {
        if (localVarResponse.statusCode()/ 100 != 2) {
          throw getApiException("getBranches", localVarResponse);
        }
        return new ApiResponse(
          localVarResponse.statusCode(),
          localVarResponse.headers().map(),
          localVarResponse.body() == null ? null : memberVarObjectMapper.readValue(localVarResponse.body(), new TypeReference() {}) // closes the InputStream
        );
      } finally {
      }
    } catch (IOException e) {
      throw new ApiException(e);
    }
    catch (InterruptedException e) {
      Thread.currentThread().interrupt();
      throw new ApiException(e);
    }
  }

  private HttpRequest.Builder getBranchesRequestBuilder(String projectId, String repositoryId, Integer startIndex, Integer count, String sort, String sortDirection, String searchPattern) throws ApiException {
    // verify the required parameter 'projectId' is set
    if (projectId == null) {
      throw new ApiException(400, "Missing the required parameter 'projectId' when calling getBranches");
    }
    // verify the required parameter 'repositoryId' is set
    if (repositoryId == null) {
      throw new ApiException(400, "Missing the required parameter 'repositoryId' when calling getBranches");
    }

    HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder();

    String localVarPath = "/projects/{projectId}/gitRepositories/{repositoryId}/git/branches"
        .replace("{projectId}", ApiClient.urlEncode(projectId.toString()))
        .replace("{repositoryId}", ApiClient.urlEncode(repositoryId.toString()));

    List localVarQueryParams = new ArrayList<>();
    StringJoiner localVarQueryStringJoiner = new StringJoiner("&");
    String localVarQueryParameterBaseName;
    localVarQueryParameterBaseName = "startIndex";
    localVarQueryParams.addAll(ApiClient.parameterToPairs("startIndex", startIndex));
    localVarQueryParameterBaseName = "count";
    localVarQueryParams.addAll(ApiClient.parameterToPairs("count", count));
    localVarQueryParameterBaseName = "sort";
    localVarQueryParams.addAll(ApiClient.parameterToPairs("sort", sort));
    localVarQueryParameterBaseName = "sortDirection";
    localVarQueryParams.addAll(ApiClient.parameterToPairs("sortDirection", sortDirection));
    localVarQueryParameterBaseName = "searchPattern";
    localVarQueryParams.addAll(ApiClient.parameterToPairs("searchPattern", searchPattern));

    if (!localVarQueryParams.isEmpty() || localVarQueryStringJoiner.length() != 0) {
      StringJoiner queryJoiner = new StringJoiner("&");
      localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue()));
      if (localVarQueryStringJoiner.length() != 0) {
        queryJoiner.add(localVarQueryStringJoiner.toString());
      }
      localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString()));
    } else {
      localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath));
    }

    localVarRequestBuilder.header("Accept", "application/json");

    localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody());
    if (memberVarReadTimeout != null) {
      localVarRequestBuilder.timeout(memberVarReadTimeout);
    }
    if (memberVarInterceptor != null) {
      memberVarInterceptor.accept(localVarRequestBuilder);
    }
    return localVarRequestBuilder;
  }
  /**
   * gets a list of a repository's files and directories
   * 
   * @param projectId Id of the project to get the repository from. (required)
   * @param repositoryId Id of the repository being queried. You can use \"_\" to refer to the project's mainRepository. (required)
   * @param directory The path to browse the repository at. (optional)
   * @param branchName A branch name to browse the repository at. Defaults to the default set by the domino project, or if one doesn't exist, the repository's default. This parameter will be ignored if `commit` is provided.  (optional)
   * @param commit A commit SHA to browse the repository at. This parameter will take priority over `branchName`.  (optional)
   * @return DominoProjectsApiRepositoriesResponsesGetRepoBrowseApiResponse
   * @throws ApiException if fails to make API call
   */
  public DominoProjectsApiRepositoriesResponsesGetRepoBrowseApiResponse getBrowseFiles(String projectId, String repositoryId, String directory, String branchName, String commit) throws ApiException {
    ApiResponse localVarResponse = getBrowseFilesWithHttpInfo(projectId, repositoryId, directory, branchName, commit);
    return localVarResponse.getData();
  }

  /**
   * gets a list of a repository's files and directories
   * 
   * @param projectId Id of the project to get the repository from. (required)
   * @param repositoryId Id of the repository being queried. You can use \"_\" to refer to the project's mainRepository. (required)
   * @param directory The path to browse the repository at. (optional)
   * @param branchName A branch name to browse the repository at. Defaults to the default set by the domino project, or if one doesn't exist, the repository's default. This parameter will be ignored if `commit` is provided.  (optional)
   * @param commit A commit SHA to browse the repository at. This parameter will take priority over `branchName`.  (optional)
   * @return ApiResponse<DominoProjectsApiRepositoriesResponsesGetRepoBrowseApiResponse>
   * @throws ApiException if fails to make API call
   */
  public ApiResponse getBrowseFilesWithHttpInfo(String projectId, String repositoryId, String directory, String branchName, String commit) throws ApiException {
    HttpRequest.Builder localVarRequestBuilder = getBrowseFilesRequestBuilder(projectId, repositoryId, directory, branchName, commit);
    try {
      HttpResponse localVarResponse = memberVarHttpClient.send(
          localVarRequestBuilder.build(),
          HttpResponse.BodyHandlers.ofInputStream());
      if (memberVarResponseInterceptor != null) {
        memberVarResponseInterceptor.accept(localVarResponse);
      }
      try {
        if (localVarResponse.statusCode()/ 100 != 2) {
          throw getApiException("getBrowseFiles", localVarResponse);
        }
        return new ApiResponse(
          localVarResponse.statusCode(),
          localVarResponse.headers().map(),
          localVarResponse.body() == null ? null : memberVarObjectMapper.readValue(localVarResponse.body(), new TypeReference() {}) // closes the InputStream
        );
      } finally {
      }
    } catch (IOException e) {
      throw new ApiException(e);
    }
    catch (InterruptedException e) {
      Thread.currentThread().interrupt();
      throw new ApiException(e);
    }
  }

  private HttpRequest.Builder getBrowseFilesRequestBuilder(String projectId, String repositoryId, String directory, String branchName, String commit) throws ApiException {
    // verify the required parameter 'projectId' is set
    if (projectId == null) {
      throw new ApiException(400, "Missing the required parameter 'projectId' when calling getBrowseFiles");
    }
    // verify the required parameter 'repositoryId' is set
    if (repositoryId == null) {
      throw new ApiException(400, "Missing the required parameter 'repositoryId' when calling getBrowseFiles");
    }

    HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder();

    String localVarPath = "/projects/{projectId}/gitRepositories/{repositoryId}/git/browse"
        .replace("{projectId}", ApiClient.urlEncode(projectId.toString()))
        .replace("{repositoryId}", ApiClient.urlEncode(repositoryId.toString()));

    List localVarQueryParams = new ArrayList<>();
    StringJoiner localVarQueryStringJoiner = new StringJoiner("&");
    String localVarQueryParameterBaseName;
    localVarQueryParameterBaseName = "directory";
    localVarQueryParams.addAll(ApiClient.parameterToPairs("directory", directory));
    localVarQueryParameterBaseName = "branchName";
    localVarQueryParams.addAll(ApiClient.parameterToPairs("branchName", branchName));
    localVarQueryParameterBaseName = "commit";
    localVarQueryParams.addAll(ApiClient.parameterToPairs("commit", commit));

    if (!localVarQueryParams.isEmpty() || localVarQueryStringJoiner.length() != 0) {
      StringJoiner queryJoiner = new StringJoiner("&");
      localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue()));
      if (localVarQueryStringJoiner.length() != 0) {
        queryJoiner.add(localVarQueryStringJoiner.toString());
      }
      localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString()));
    } else {
      localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath));
    }

    localVarRequestBuilder.header("Accept", "application/json");

    localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody());
    if (memberVarReadTimeout != null) {
      localVarRequestBuilder.timeout(memberVarReadTimeout);
    }
    if (memberVarInterceptor != null) {
      memberVarInterceptor.accept(localVarRequestBuilder);
    }
    return localVarRequestBuilder;
  }
  /**
   * retrieves list of a repository's commits
   * 
   * @param projectId Id of the project to get the repository from. (required)
   * @param repositoryId Id of the repository being queried. You can use \"_\" to refer to the project's mainRepository. (required)
   * @param branch Optional Name of a branch to start the history from. (optional)
   * @return DominoProjectsApiRepositoriesResponsesGetCommitsApiResponse
   * @throws ApiException if fails to make API call
   */
  public DominoProjectsApiRepositoriesResponsesGetCommitsApiResponse getCommits(String projectId, String repositoryId, String branch) throws ApiException {
    ApiResponse localVarResponse = getCommitsWithHttpInfo(projectId, repositoryId, branch);
    return localVarResponse.getData();
  }

  /**
   * retrieves list of a repository's commits
   * 
   * @param projectId Id of the project to get the repository from. (required)
   * @param repositoryId Id of the repository being queried. You can use \"_\" to refer to the project's mainRepository. (required)
   * @param branch Optional Name of a branch to start the history from. (optional)
   * @return ApiResponse<DominoProjectsApiRepositoriesResponsesGetCommitsApiResponse>
   * @throws ApiException if fails to make API call
   */
  public ApiResponse getCommitsWithHttpInfo(String projectId, String repositoryId, String branch) throws ApiException {
    HttpRequest.Builder localVarRequestBuilder = getCommitsRequestBuilder(projectId, repositoryId, branch);
    try {
      HttpResponse localVarResponse = memberVarHttpClient.send(
          localVarRequestBuilder.build(),
          HttpResponse.BodyHandlers.ofInputStream());
      if (memberVarResponseInterceptor != null) {
        memberVarResponseInterceptor.accept(localVarResponse);
      }
      try {
        if (localVarResponse.statusCode()/ 100 != 2) {
          throw getApiException("getCommits", localVarResponse);
        }
        return new ApiResponse(
          localVarResponse.statusCode(),
          localVarResponse.headers().map(),
          localVarResponse.body() == null ? null : memberVarObjectMapper.readValue(localVarResponse.body(), new TypeReference() {}) // closes the InputStream
        );
      } finally {
      }
    } catch (IOException e) {
      throw new ApiException(e);
    }
    catch (InterruptedException e) {
      Thread.currentThread().interrupt();
      throw new ApiException(e);
    }
  }

  private HttpRequest.Builder getCommitsRequestBuilder(String projectId, String repositoryId, String branch) throws ApiException {
    // verify the required parameter 'projectId' is set
    if (projectId == null) {
      throw new ApiException(400, "Missing the required parameter 'projectId' when calling getCommits");
    }
    // verify the required parameter 'repositoryId' is set
    if (repositoryId == null) {
      throw new ApiException(400, "Missing the required parameter 'repositoryId' when calling getCommits");
    }

    HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder();

    String localVarPath = "/projects/{projectId}/gitRepositories/{repositoryId}/git/commits"
        .replace("{projectId}", ApiClient.urlEncode(projectId.toString()))
        .replace("{repositoryId}", ApiClient.urlEncode(repositoryId.toString()));

    List localVarQueryParams = new ArrayList<>();
    StringJoiner localVarQueryStringJoiner = new StringJoiner("&");
    String localVarQueryParameterBaseName;
    localVarQueryParameterBaseName = "branch";
    localVarQueryParams.addAll(ApiClient.parameterToPairs("branch", branch));

    if (!localVarQueryParams.isEmpty() || localVarQueryStringJoiner.length() != 0) {
      StringJoiner queryJoiner = new StringJoiner("&");
      localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue()));
      if (localVarQueryStringJoiner.length() != 0) {
        queryJoiner.add(localVarQueryStringJoiner.toString());
      }
      localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString()));
    } else {
      localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath));
    }

    localVarRequestBuilder.header("Accept", "application/json");

    localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody());
    if (memberVarReadTimeout != null) {
      localVarRequestBuilder.timeout(memberVarReadTimeout);
    }
    if (memberVarInterceptor != null) {
      memberVarInterceptor.accept(localVarRequestBuilder);
    }
    return localVarRequestBuilder;
  }
  /**
   * gets a repository's default readme filename
   * 
   * @param projectId Id of the project to get the repository from. (required)
   * @param repositoryId Id of the repository being queried. You can use \"_\" to refer to the project's mainRepository. (required)
   * @param directory The path to browse the repository at. (optional)
   * @param branchName A branch name to browse the repository at. Defaults to the default set by the domino project, or if one doesn't exist, the repository's default. This parameter will be ignored if `commit` is provided.  (optional)
   * @param commit A commit SHA to browse the repository at. This parameter will take priority over `branchName`.  (optional)
   * @return String
   * @throws ApiException if fails to make API call
   */
  public String getGBPReadmeFileName(String projectId, String repositoryId, String directory, String branchName, String commit) throws ApiException {
    ApiResponse localVarResponse = getGBPReadmeFileNameWithHttpInfo(projectId, repositoryId, directory, branchName, commit);
    return localVarResponse.getData();
  }

  /**
   * gets a repository's default readme filename
   * 
   * @param projectId Id of the project to get the repository from. (required)
   * @param repositoryId Id of the repository being queried. You can use \"_\" to refer to the project's mainRepository. (required)
   * @param directory The path to browse the repository at. (optional)
   * @param branchName A branch name to browse the repository at. Defaults to the default set by the domino project, or if one doesn't exist, the repository's default. This parameter will be ignored if `commit` is provided.  (optional)
   * @param commit A commit SHA to browse the repository at. This parameter will take priority over `branchName`.  (optional)
   * @return ApiResponse<String>
   * @throws ApiException if fails to make API call
   */
  public ApiResponse getGBPReadmeFileNameWithHttpInfo(String projectId, String repositoryId, String directory, String branchName, String commit) throws ApiException {
    HttpRequest.Builder localVarRequestBuilder = getGBPReadmeFileNameRequestBuilder(projectId, repositoryId, directory, branchName, commit);
    try {
      HttpResponse localVarResponse = memberVarHttpClient.send(
          localVarRequestBuilder.build(),
          HttpResponse.BodyHandlers.ofInputStream());
      if (memberVarResponseInterceptor != null) {
        memberVarResponseInterceptor.accept(localVarResponse);
      }
      try {
        if (localVarResponse.statusCode()/ 100 != 2) {
          throw getApiException("getGBPReadmeFileName", localVarResponse);
        }
        return new ApiResponse(
          localVarResponse.statusCode(),
          localVarResponse.headers().map(),
          localVarResponse.body() == null ? null : memberVarObjectMapper.readValue(localVarResponse.body(), new TypeReference() {}) // closes the InputStream
        );
      } finally {
      }
    } catch (IOException e) {
      throw new ApiException(e);
    }
    catch (InterruptedException e) {
      Thread.currentThread().interrupt();
      throw new ApiException(e);
    }
  }

  private HttpRequest.Builder getGBPReadmeFileNameRequestBuilder(String projectId, String repositoryId, String directory, String branchName, String commit) throws ApiException {
    // verify the required parameter 'projectId' is set
    if (projectId == null) {
      throw new ApiException(400, "Missing the required parameter 'projectId' when calling getGBPReadmeFileName");
    }
    // verify the required parameter 'repositoryId' is set
    if (repositoryId == null) {
      throw new ApiException(400, "Missing the required parameter 'repositoryId' when calling getGBPReadmeFileName");
    }

    HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder();

    String localVarPath = "/projects/{projectId}/gitRepositories/{repositoryId}/git/readme"
        .replace("{projectId}", ApiClient.urlEncode(projectId.toString()))
        .replace("{repositoryId}", ApiClient.urlEncode(repositoryId.toString()));

    List localVarQueryParams = new ArrayList<>();
    StringJoiner localVarQueryStringJoiner = new StringJoiner("&");
    String localVarQueryParameterBaseName;
    localVarQueryParameterBaseName = "directory";
    localVarQueryParams.addAll(ApiClient.parameterToPairs("directory", directory));
    localVarQueryParameterBaseName = "branchName";
    localVarQueryParams.addAll(ApiClient.parameterToPairs("branchName", branchName));
    localVarQueryParameterBaseName = "commit";
    localVarQueryParams.addAll(ApiClient.parameterToPairs("commit", commit));

    if (!localVarQueryParams.isEmpty() || localVarQueryStringJoiner.length() != 0) {
      StringJoiner queryJoiner = new StringJoiner("&");
      localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue()));
      if (localVarQueryStringJoiner.length() != 0) {
        queryJoiner.add(localVarQueryStringJoiner.toString());
      }
      localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString()));
    } else {
      localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath));
    }

    localVarRequestBuilder.header("Accept", "application/json");

    localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody());
    if (memberVarReadTimeout != null) {
      localVarRequestBuilder.timeout(memberVarReadTimeout);
    }
    if (memberVarInterceptor != null) {
      memberVarInterceptor.accept(localVarRequestBuilder);
    }
    return localVarRequestBuilder;
  }
  /**
   * retrieves potential owners for a given git service provider and credential id
   * 
   * @param serviceProvider git service provider to retrieve owners for (required)
   * @param credentialId id of credential to retrieve owners for (required)
   * @return DominoProjectsApiRepositoriesResponsesGitApiResponseWrapper
   * @throws ApiException if fails to make API call
   */
  public DominoProjectsApiRepositoriesResponsesGitApiResponseWrapper getPotentialRepoOwners(String serviceProvider, String credentialId) throws ApiException {
    ApiResponse localVarResponse = getPotentialRepoOwnersWithHttpInfo(serviceProvider, credentialId);
    return localVarResponse.getData();
  }

  /**
   * retrieves potential owners for a given git service provider and credential id
   * 
   * @param serviceProvider git service provider to retrieve owners for (required)
   * @param credentialId id of credential to retrieve owners for (required)
   * @return ApiResponse<DominoProjectsApiRepositoriesResponsesGitApiResponseWrapper>
   * @throws ApiException if fails to make API call
   */
  public ApiResponse getPotentialRepoOwnersWithHttpInfo(String serviceProvider, String credentialId) throws ApiException {
    HttpRequest.Builder localVarRequestBuilder = getPotentialRepoOwnersRequestBuilder(serviceProvider, credentialId);
    try {
      HttpResponse localVarResponse = memberVarHttpClient.send(
          localVarRequestBuilder.build(),
          HttpResponse.BodyHandlers.ofInputStream());
      if (memberVarResponseInterceptor != null) {
        memberVarResponseInterceptor.accept(localVarResponse);
      }
      try {
        if (localVarResponse.statusCode()/ 100 != 2) {
          throw getApiException("getPotentialRepoOwners", localVarResponse);
        }
        return new ApiResponse(
          localVarResponse.statusCode(),
          localVarResponse.headers().map(),
          localVarResponse.body() == null ? null : memberVarObjectMapper.readValue(localVarResponse.body(), new TypeReference() {}) // closes the InputStream
        );
      } finally {
      }
    } catch (IOException e) {
      throw new ApiException(e);
    }
    catch (InterruptedException e) {
      Thread.currentThread().interrupt();
      throw new ApiException(e);
    }
  }

  private HttpRequest.Builder getPotentialRepoOwnersRequestBuilder(String serviceProvider, String credentialId) throws ApiException {
    // verify the required parameter 'serviceProvider' is set
    if (serviceProvider == null) {
      throw new ApiException(400, "Missing the required parameter 'serviceProvider' when calling getPotentialRepoOwners");
    }
    // verify the required parameter 'credentialId' is set
    if (credentialId == null) {
      throw new ApiException(400, "Missing the required parameter 'credentialId' when calling getPotentialRepoOwners");
    }

    HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder();

    String localVarPath = "/gitProviders/metadata/owners";

    List localVarQueryParams = new ArrayList<>();
    StringJoiner localVarQueryStringJoiner = new StringJoiner("&");
    String localVarQueryParameterBaseName;
    localVarQueryParameterBaseName = "serviceProvider";
    localVarQueryParams.addAll(ApiClient.parameterToPairs("serviceProvider", serviceProvider));
    localVarQueryParameterBaseName = "credentialId";
    localVarQueryParams.addAll(ApiClient.parameterToPairs("credentialId", credentialId));

    if (!localVarQueryParams.isEmpty() || localVarQueryStringJoiner.length() != 0) {
      StringJoiner queryJoiner = new StringJoiner("&");
      localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue()));
      if (localVarQueryStringJoiner.length() != 0) {
        queryJoiner.add(localVarQueryStringJoiner.toString());
      }
      localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString()));
    } else {
      localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath));
    }

    localVarRequestBuilder.header("Accept", "application/json");

    localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody());
    if (memberVarReadTimeout != null) {
      localVarRequestBuilder.timeout(memberVarReadTimeout);
    }
    if (memberVarInterceptor != null) {
      memberVarInterceptor.accept(localVarRequestBuilder);
    }
    return localVarRequestBuilder;
  }
  /**
   * retrieves potential repos for a given git service provider, credential id, owner, and name query
   * 
   * @param serviceProvider git service provider to retrieve repos for (required)
   * @param credentialId id of credential to retrieve repos for (required)
   * @param nameQuery search query to retrieve repos for (required)
   * @param userOwner user to retrieve repos for (optional)
   * @param orgOwner organization to retrieve repos for (optional)
   * @return DominoGitprovidersApiGetReposApiResponse
   * @throws ApiException if fails to make API call
   */
  public DominoGitprovidersApiGetReposApiResponse getPotentialReposForOwner(String serviceProvider, String credentialId, String nameQuery, String userOwner, String orgOwner) throws ApiException {
    ApiResponse localVarResponse = getPotentialReposForOwnerWithHttpInfo(serviceProvider, credentialId, nameQuery, userOwner, orgOwner);
    return localVarResponse.getData();
  }

  /**
   * retrieves potential repos for a given git service provider, credential id, owner, and name query
   * 
   * @param serviceProvider git service provider to retrieve repos for (required)
   * @param credentialId id of credential to retrieve repos for (required)
   * @param nameQuery search query to retrieve repos for (required)
   * @param userOwner user to retrieve repos for (optional)
   * @param orgOwner organization to retrieve repos for (optional)
   * @return ApiResponse<DominoGitprovidersApiGetReposApiResponse>
   * @throws ApiException if fails to make API call
   */
  public ApiResponse getPotentialReposForOwnerWithHttpInfo(String serviceProvider, String credentialId, String nameQuery, String userOwner, String orgOwner) throws ApiException {
    HttpRequest.Builder localVarRequestBuilder = getPotentialReposForOwnerRequestBuilder(serviceProvider, credentialId, nameQuery, userOwner, orgOwner);
    try {
      HttpResponse localVarResponse = memberVarHttpClient.send(
          localVarRequestBuilder.build(),
          HttpResponse.BodyHandlers.ofInputStream());
      if (memberVarResponseInterceptor != null) {
        memberVarResponseInterceptor.accept(localVarResponse);
      }
      try {
        if (localVarResponse.statusCode()/ 100 != 2) {
          throw getApiException("getPotentialReposForOwner", localVarResponse);
        }
        return new ApiResponse(
          localVarResponse.statusCode(),
          localVarResponse.headers().map(),
          localVarResponse.body() == null ? null : memberVarObjectMapper.readValue(localVarResponse.body(), new TypeReference() {}) // closes the InputStream
        );
      } finally {
      }
    } catch (IOException e) {
      throw new ApiException(e);
    }
    catch (InterruptedException e) {
      Thread.currentThread().interrupt();
      throw new ApiException(e);
    }
  }

  private HttpRequest.Builder getPotentialReposForOwnerRequestBuilder(String serviceProvider, String credentialId, String nameQuery, String userOwner, String orgOwner) throws ApiException {
    // verify the required parameter 'serviceProvider' is set
    if (serviceProvider == null) {
      throw new ApiException(400, "Missing the required parameter 'serviceProvider' when calling getPotentialReposForOwner");
    }
    // verify the required parameter 'credentialId' is set
    if (credentialId == null) {
      throw new ApiException(400, "Missing the required parameter 'credentialId' when calling getPotentialReposForOwner");
    }
    // verify the required parameter 'nameQuery' is set
    if (nameQuery == null) {
      throw new ApiException(400, "Missing the required parameter 'nameQuery' when calling getPotentialReposForOwner");
    }

    HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder();

    String localVarPath = "/gitProviders/metadata/repositories";

    List localVarQueryParams = new ArrayList<>();
    StringJoiner localVarQueryStringJoiner = new StringJoiner("&");
    String localVarQueryParameterBaseName;
    localVarQueryParameterBaseName = "serviceProvider";
    localVarQueryParams.addAll(ApiClient.parameterToPairs("serviceProvider", serviceProvider));
    localVarQueryParameterBaseName = "credentialId";
    localVarQueryParams.addAll(ApiClient.parameterToPairs("credentialId", credentialId));
    localVarQueryParameterBaseName = "userOwner";
    localVarQueryParams.addAll(ApiClient.parameterToPairs("userOwner", userOwner));
    localVarQueryParameterBaseName = "orgOwner";
    localVarQueryParams.addAll(ApiClient.parameterToPairs("orgOwner", orgOwner));
    localVarQueryParameterBaseName = "nameQuery";
    localVarQueryParams.addAll(ApiClient.parameterToPairs("nameQuery", nameQuery));

    if (!localVarQueryParams.isEmpty() || localVarQueryStringJoiner.length() != 0) {
      StringJoiner queryJoiner = new StringJoiner("&");
      localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue()));
      if (localVarQueryStringJoiner.length() != 0) {
        queryJoiner.add(localVarQueryStringJoiner.toString());
      }
      localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString()));
    } else {
      localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath));
    }

    localVarRequestBuilder.header("Accept", "application/json");

    localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody());
    if (memberVarReadTimeout != null) {
      localVarRequestBuilder.timeout(memberVarReadTimeout);
    }
    if (memberVarInterceptor != null) {
      memberVarInterceptor.accept(localVarRequestBuilder);
    }
    return localVarRequestBuilder;
  }
  /**
   * gets a file from a repository
   * 
   * @param projectId Id of the project to get the file from (required)
   * @param repositoryId Id of the repository being queried. You can use \"_\" to refer to the project's mainRepository. (required)
   * @param fileName The full path to the file to retrieve (required)
   * @param branchName A branch name to retrieve the file for. Defaults to the default set by the domino project, or if one doesn't exist, the repository's default. This parameter will be ignored if `commit` is provided.  (optional)
   * @param commit A commit SHA to retrieve the file for. This parameter will take priority over `branchName`.  (optional)
   * @throws ApiException if fails to make API call
   */
  public void getRepoFile(String projectId, String repositoryId, String fileName, String branchName, String commit) throws ApiException {
    getRepoFileWithHttpInfo(projectId, repositoryId, fileName, branchName, commit);
  }

  /**
   * gets a file from a repository
   * 
   * @param projectId Id of the project to get the file from (required)
   * @param repositoryId Id of the repository being queried. You can use \"_\" to refer to the project's mainRepository. (required)
   * @param fileName The full path to the file to retrieve (required)
   * @param branchName A branch name to retrieve the file for. Defaults to the default set by the domino project, or if one doesn't exist, the repository's default. This parameter will be ignored if `commit` is provided.  (optional)
   * @param commit A commit SHA to retrieve the file for. This parameter will take priority over `branchName`.  (optional)
   * @return ApiResponse<Void>
   * @throws ApiException if fails to make API call
   */
  public ApiResponse getRepoFileWithHttpInfo(String projectId, String repositoryId, String fileName, String branchName, String commit) throws ApiException {
    HttpRequest.Builder localVarRequestBuilder = getRepoFileRequestBuilder(projectId, repositoryId, fileName, branchName, commit);
    try {
      HttpResponse localVarResponse = memberVarHttpClient.send(
          localVarRequestBuilder.build(),
          HttpResponse.BodyHandlers.ofInputStream());
      if (memberVarResponseInterceptor != null) {
        memberVarResponseInterceptor.accept(localVarResponse);
      }
      try {
        if (localVarResponse.statusCode()/ 100 != 2) {
          throw getApiException("getRepoFile", localVarResponse);
        }
        return new ApiResponse(
          localVarResponse.statusCode(),
          localVarResponse.headers().map(),
          null
        );
      } finally {
        // Drain the InputStream
        while (localVarResponse.body().read() != -1) {
            // Ignore
        }
        localVarResponse.body().close();
      }
    } catch (IOException e) {
      throw new ApiException(e);
    }
    catch (InterruptedException e) {
      Thread.currentThread().interrupt();
      throw new ApiException(e);
    }
  }

  private HttpRequest.Builder getRepoFileRequestBuilder(String projectId, String repositoryId, String fileName, String branchName, String commit) throws ApiException {
    // verify the required parameter 'projectId' is set
    if (projectId == null) {
      throw new ApiException(400, "Missing the required parameter 'projectId' when calling getRepoFile");
    }
    // verify the required parameter 'repositoryId' is set
    if (repositoryId == null) {
      throw new ApiException(400, "Missing the required parameter 'repositoryId' when calling getRepoFile");
    }
    // verify the required parameter 'fileName' is set
    if (fileName == null) {
      throw new ApiException(400, "Missing the required parameter 'fileName' when calling getRepoFile");
    }

    HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder();

    String localVarPath = "/projects/{projectId}/gitRepositories/{repositoryId}/git/raw"
        .replace("{projectId}", ApiClient.urlEncode(projectId.toString()))
        .replace("{repositoryId}", ApiClient.urlEncode(repositoryId.toString()));

    List localVarQueryParams = new ArrayList<>();
    StringJoiner localVarQueryStringJoiner = new StringJoiner("&");
    String localVarQueryParameterBaseName;
    localVarQueryParameterBaseName = "fileName";
    localVarQueryParams.addAll(ApiClient.parameterToPairs("fileName", fileName));
    localVarQueryParameterBaseName = "branchName";
    localVarQueryParams.addAll(ApiClient.parameterToPairs("branchName", branchName));
    localVarQueryParameterBaseName = "commit";
    localVarQueryParams.addAll(ApiClient.parameterToPairs("commit", commit));

    if (!localVarQueryParams.isEmpty() || localVarQueryStringJoiner.length() != 0) {
      StringJoiner queryJoiner = new StringJoiner("&");
      localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue()));
      if (localVarQueryStringJoiner.length() != 0) {
        queryJoiner.add(localVarQueryStringJoiner.toString());
      }
      localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString()));
    } else {
      localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath));
    }

    localVarRequestBuilder.header("Accept", "application/json");

    localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody());
    if (memberVarReadTimeout != null) {
      localVarRequestBuilder.timeout(memberVarReadTimeout);
    }
    if (memberVarInterceptor != null) {
      memberVarInterceptor.accept(localVarRequestBuilder);
    }
    return localVarRequestBuilder;
  }
  /**
   * retrieves repository capabilities
   * 
   * @param serviceProvider git service provider to retrieve capabilities for (required)
   * @param repoUri uri of repository to retrieve capabilities for (required)
   * @param credentialId id of credential being used to access the repository or none if not using credentials (optional)
   * @return DominoGitprovidersApiGetRepoTypeCapabilitiesApiResponse
   * @throws ApiException if fails to make API call
   */
  public DominoGitprovidersApiGetRepoTypeCapabilitiesApiResponse getRepoTypeCapabilities(String serviceProvider, String repoUri, String credentialId) throws ApiException {
    ApiResponse localVarResponse = getRepoTypeCapabilitiesWithHttpInfo(serviceProvider, repoUri, credentialId);
    return localVarResponse.getData();
  }

  /**
   * retrieves repository capabilities
   * 
   * @param serviceProvider git service provider to retrieve capabilities for (required)
   * @param repoUri uri of repository to retrieve capabilities for (required)
   * @param credentialId id of credential being used to access the repository or none if not using credentials (optional)
   * @return ApiResponse<DominoGitprovidersApiGetRepoTypeCapabilitiesApiResponse>
   * @throws ApiException if fails to make API call
   */
  public ApiResponse getRepoTypeCapabilitiesWithHttpInfo(String serviceProvider, String repoUri, String credentialId) throws ApiException {
    HttpRequest.Builder localVarRequestBuilder = getRepoTypeCapabilitiesRequestBuilder(serviceProvider, repoUri, credentialId);
    try {
      HttpResponse localVarResponse = memberVarHttpClient.send(
          localVarRequestBuilder.build(),
          HttpResponse.BodyHandlers.ofInputStream());
      if (memberVarResponseInterceptor != null) {
        memberVarResponseInterceptor.accept(localVarResponse);
      }
      try {
        if (localVarResponse.statusCode()/ 100 != 2) {
          throw getApiException("getRepoTypeCapabilities", localVarResponse);
        }
        return new ApiResponse(
          localVarResponse.statusCode(),
          localVarResponse.headers().map(),
          localVarResponse.body() == null ? null : memberVarObjectMapper.readValue(localVarResponse.body(), new TypeReference() {}) // closes the InputStream
        );
      } finally {
      }
    } catch (IOException e) {
      throw new ApiException(e);
    }
    catch (InterruptedException e) {
      Thread.currentThread().interrupt();
      throw new ApiException(e);
    }
  }

  private HttpRequest.Builder getRepoTypeCapabilitiesRequestBuilder(String serviceProvider, String repoUri, String credentialId) throws ApiException {
    // verify the required parameter 'serviceProvider' is set
    if (serviceProvider == null) {
      throw new ApiException(400, "Missing the required parameter 'serviceProvider' when calling getRepoTypeCapabilities");
    }
    // verify the required parameter 'repoUri' is set
    if (repoUri == null) {
      throw new ApiException(400, "Missing the required parameter 'repoUri' when calling getRepoTypeCapabilities");
    }

    HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder();

    String localVarPath = "/gitProviders/metadata/capabilities";

    List localVarQueryParams = new ArrayList<>();
    StringJoiner localVarQueryStringJoiner = new StringJoiner("&");
    String localVarQueryParameterBaseName;
    localVarQueryParameterBaseName = "serviceProvider";
    localVarQueryParams.addAll(ApiClient.parameterToPairs("serviceProvider", serviceProvider));
    localVarQueryParameterBaseName = "repoUri";
    localVarQueryParams.addAll(ApiClient.parameterToPairs("repoUri", repoUri));
    localVarQueryParameterBaseName = "credentialId";
    localVarQueryParams.addAll(ApiClient.parameterToPairs("credentialId", credentialId));

    if (!localVarQueryParams.isEmpty() || localVarQueryStringJoiner.length() != 0) {
      StringJoiner queryJoiner = new StringJoiner("&");
      localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue()));
      if (localVarQueryStringJoiner.length() != 0) {
        queryJoiner.add(localVarQueryStringJoiner.toString());
      }
      localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString()));
    } else {
      localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath));
    }

    localVarRequestBuilder.header("Accept", "application/json");

    localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody());
    if (memberVarReadTimeout != null) {
      localVarRequestBuilder.timeout(memberVarReadTimeout);
    }
    if (memberVarInterceptor != null) {
      memberVarInterceptor.accept(localVarRequestBuilder);
    }
    return localVarRequestBuilder;
  }
  /**
   * Hard reset to remote tracking branch to resolve merge conflict
   * 
   * @param workspaceId Id of the Workspace (required)
   * @param dominoWorkspaceApiGitHardResetResolutionRequest list of repositories that are in conflict (required)
   * @return DominoWorkspaceApiGitMergeConflictResolutionResponseDto
   * @throws ApiException if fails to make API call
   */
  public DominoWorkspaceApiGitMergeConflictResolutionResponseDto hardResetResolution(String workspaceId, DominoWorkspaceApiGitHardResetResolutionRequest dominoWorkspaceApiGitHardResetResolutionRequest) throws ApiException {
    ApiResponse localVarResponse = hardResetResolutionWithHttpInfo(workspaceId, dominoWorkspaceApiGitHardResetResolutionRequest);
    return localVarResponse.getData();
  }

  /**
   * Hard reset to remote tracking branch to resolve merge conflict
   * 
   * @param workspaceId Id of the Workspace (required)
   * @param dominoWorkspaceApiGitHardResetResolutionRequest list of repositories that are in conflict (required)
   * @return ApiResponse<DominoWorkspaceApiGitMergeConflictResolutionResponseDto>
   * @throws ApiException if fails to make API call
   */
  public ApiResponse hardResetResolutionWithHttpInfo(String workspaceId, DominoWorkspaceApiGitHardResetResolutionRequest dominoWorkspaceApiGitHardResetResolutionRequest) throws ApiException {
    HttpRequest.Builder localVarRequestBuilder = hardResetResolutionRequestBuilder(workspaceId, dominoWorkspaceApiGitHardResetResolutionRequest);
    try {
      HttpResponse localVarResponse = memberVarHttpClient.send(
          localVarRequestBuilder.build(),
          HttpResponse.BodyHandlers.ofInputStream());
      if (memberVarResponseInterceptor != null) {
        memberVarResponseInterceptor.accept(localVarResponse);
      }
      try {
        if (localVarResponse.statusCode()/ 100 != 2) {
          throw getApiException("hardResetResolution", localVarResponse);
        }
        return new ApiResponse(
          localVarResponse.statusCode(),
          localVarResponse.headers().map(),
          localVarResponse.body() == null ? null : memberVarObjectMapper.readValue(localVarResponse.body(), new TypeReference() {}) // closes the InputStream
        );
      } finally {
      }
    } catch (IOException e) {
      throw new ApiException(e);
    }
    catch (InterruptedException e) {
      Thread.currentThread().interrupt();
      throw new ApiException(e);
    }
  }

  private HttpRequest.Builder hardResetResolutionRequestBuilder(String workspaceId, DominoWorkspaceApiGitHardResetResolutionRequest dominoWorkspaceApiGitHardResetResolutionRequest) throws ApiException {
    // verify the required parameter 'workspaceId' is set
    if (workspaceId == null) {
      throw new ApiException(400, "Missing the required parameter 'workspaceId' when calling hardResetResolution");
    }
    // verify the required parameter 'dominoWorkspaceApiGitHardResetResolutionRequest' is set
    if (dominoWorkspaceApiGitHardResetResolutionRequest == null) {
      throw new ApiException(400, "Missing the required parameter 'dominoWorkspaceApiGitHardResetResolutionRequest' when calling hardResetResolution");
    }

    HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder();

    String localVarPath = "/workspace/{workspaceId}/hardResetResolution"
        .replace("{workspaceId}", ApiClient.urlEncode(workspaceId.toString()));

    localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath));

    localVarRequestBuilder.header("Content-Type", "application/json");
    localVarRequestBuilder.header("Accept", "application/json");

    try {
      byte[] localVarPostBody = memberVarObjectMapper.writeValueAsBytes(dominoWorkspaceApiGitHardResetResolutionRequest);
      localVarRequestBuilder.method("POST", HttpRequest.BodyPublishers.ofByteArray(localVarPostBody));
    } catch (IOException e) {
      throw new ApiException(e);
    }
    if (memberVarReadTimeout != null) {
      localVarRequestBuilder.timeout(memberVarReadTimeout);
    }
    if (memberVarInterceptor != null) {
      memberVarInterceptor.accept(localVarRequestBuilder);
    }
    return localVarRequestBuilder;
  }
  /**
   * List branches of a git repository
   * 
   * @param workspaceId Id of the Workspace (required)
   * @param dominoExecutorApiListBranchesRequest query to filter the list of branches by (required)
   * @return DominoExecutorApiListBranchesResponseDto
   * @throws ApiException if fails to make API call
   */
  public DominoExecutorApiListBranchesResponseDto listBranches(String workspaceId, DominoExecutorApiListBranchesRequest dominoExecutorApiListBranchesRequest) throws ApiException {
    ApiResponse localVarResponse = listBranchesWithHttpInfo(workspaceId, dominoExecutorApiListBranchesRequest);
    return localVarResponse.getData();
  }

  /**
   * List branches of a git repository
   * 
   * @param workspaceId Id of the Workspace (required)
   * @param dominoExecutorApiListBranchesRequest query to filter the list of branches by (required)
   * @return ApiResponse<DominoExecutorApiListBranchesResponseDto>
   * @throws ApiException if fails to make API call
   */
  public ApiResponse listBranchesWithHttpInfo(String workspaceId, DominoExecutorApiListBranchesRequest dominoExecutorApiListBranchesRequest) throws ApiException {
    HttpRequest.Builder localVarRequestBuilder = listBranchesRequestBuilder(workspaceId, dominoExecutorApiListBranchesRequest);
    try {
      HttpResponse localVarResponse = memberVarHttpClient.send(
          localVarRequestBuilder.build(),
          HttpResponse.BodyHandlers.ofInputStream());
      if (memberVarResponseInterceptor != null) {
        memberVarResponseInterceptor.accept(localVarResponse);
      }
      try {
        if (localVarResponse.statusCode()/ 100 != 2) {
          throw getApiException("listBranches", localVarResponse);
        }
        return new ApiResponse(
          localVarResponse.statusCode(),
          localVarResponse.headers().map(),
          localVarResponse.body() == null ? null : memberVarObjectMapper.readValue(localVarResponse.body(), new TypeReference() {}) // closes the InputStream
        );
      } finally {
      }
    } catch (IOException e) {
      throw new ApiException(e);
    }
    catch (InterruptedException e) {
      Thread.currentThread().interrupt();
      throw new ApiException(e);
    }
  }

  private HttpRequest.Builder listBranchesRequestBuilder(String workspaceId, DominoExecutorApiListBranchesRequest dominoExecutorApiListBranchesRequest) throws ApiException {
    // verify the required parameter 'workspaceId' is set
    if (workspaceId == null) {
      throw new ApiException(400, "Missing the required parameter 'workspaceId' when calling listBranches");
    }
    // verify the required parameter 'dominoExecutorApiListBranchesRequest' is set
    if (dominoExecutorApiListBranchesRequest == null) {
      throw new ApiException(400, "Missing the required parameter 'dominoExecutorApiListBranchesRequest' when calling listBranches");
    }

    HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder();

    String localVarPath = "/workspace/{workspaceId}/listBranches"
        .replace("{workspaceId}", ApiClient.urlEncode(workspaceId.toString()));

    localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath));

    localVarRequestBuilder.header("Content-Type", "application/json");
    localVarRequestBuilder.header("Accept", "application/json");

    try {
      byte[] localVarPostBody = memberVarObjectMapper.writeValueAsBytes(dominoExecutorApiListBranchesRequest);
      localVarRequestBuilder.method("POST", HttpRequest.BodyPublishers.ofByteArray(localVarPostBody));
    } catch (IOException e) {
      throw new ApiException(e);
    }
    if (memberVarReadTimeout != null) {
      localVarRequestBuilder.timeout(memberVarReadTimeout);
    }
    if (memberVarInterceptor != null) {
      memberVarInterceptor.accept(localVarRequestBuilder);
    }
    return localVarRequestBuilder;
  }
  /**
   * Pull repos with enhanced merge conflict resolution
   * 
   * @param workspaceId Id of the Workspace (required)
   * @param dominoWorkspaceApiGitPullReposRequest list of repositories that should be pulled (required)
   * @return DominoWorkspaceApiGitPullReposResponseDto
   * @throws ApiException if fails to make API call
   */
  public DominoWorkspaceApiGitPullReposResponseDto pullReposEnhanced(String workspaceId, DominoWorkspaceApiGitPullReposRequest dominoWorkspaceApiGitPullReposRequest) throws ApiException {
    ApiResponse localVarResponse = pullReposEnhancedWithHttpInfo(workspaceId, dominoWorkspaceApiGitPullReposRequest);
    return localVarResponse.getData();
  }

  /**
   * Pull repos with enhanced merge conflict resolution
   * 
   * @param workspaceId Id of the Workspace (required)
   * @param dominoWorkspaceApiGitPullReposRequest list of repositories that should be pulled (required)
   * @return ApiResponse<DominoWorkspaceApiGitPullReposResponseDto>
   * @throws ApiException if fails to make API call
   */
  public ApiResponse pullReposEnhancedWithHttpInfo(String workspaceId, DominoWorkspaceApiGitPullReposRequest dominoWorkspaceApiGitPullReposRequest) throws ApiException {
    HttpRequest.Builder localVarRequestBuilder = pullReposEnhancedRequestBuilder(workspaceId, dominoWorkspaceApiGitPullReposRequest);
    try {
      HttpResponse localVarResponse = memberVarHttpClient.send(
          localVarRequestBuilder.build(),
          HttpResponse.BodyHandlers.ofInputStream());
      if (memberVarResponseInterceptor != null) {
        memberVarResponseInterceptor.accept(localVarResponse);
      }
      try {
        if (localVarResponse.statusCode()/ 100 != 2) {
          throw getApiException("pullReposEnhanced", localVarResponse);
        }
        return new ApiResponse(
          localVarResponse.statusCode(),
          localVarResponse.headers().map(),
          localVarResponse.body() == null ? null : memberVarObjectMapper.readValue(localVarResponse.body(), new TypeReference() {}) // closes the InputStream
        );
      } finally {
      }
    } catch (IOException e) {
      throw new ApiException(e);
    }
    catch (InterruptedException e) {
      Thread.currentThread().interrupt();
      throw new ApiException(e);
    }
  }

  private HttpRequest.Builder pullReposEnhancedRequestBuilder(String workspaceId, DominoWorkspaceApiGitPullReposRequest dominoWorkspaceApiGitPullReposRequest) throws ApiException {
    // verify the required parameter 'workspaceId' is set
    if (workspaceId == null) {
      throw new ApiException(400, "Missing the required parameter 'workspaceId' when calling pullReposEnhanced");
    }
    // verify the required parameter 'dominoWorkspaceApiGitPullReposRequest' is set
    if (dominoWorkspaceApiGitPullReposRequest == null) {
      throw new ApiException(400, "Missing the required parameter 'dominoWorkspaceApiGitPullReposRequest' when calling pullReposEnhanced");
    }

    HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder();

    String localVarPath = "/workspace/{workspaceId}/pullReposEnhanced"
        .replace("{workspaceId}", ApiClient.urlEncode(workspaceId.toString()));

    localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath));

    localVarRequestBuilder.header("Content-Type", "application/json");
    localVarRequestBuilder.header("Accept", "application/json");

    try {
      byte[] localVarPostBody = memberVarObjectMapper.writeValueAsBytes(dominoWorkspaceApiGitPullReposRequest);
      localVarRequestBuilder.method("POST", HttpRequest.BodyPublishers.ofByteArray(localVarPostBody));
    } catch (IOException e) {
      throw new ApiException(e);
    }
    if (memberVarReadTimeout != null) {
      localVarRequestBuilder.timeout(memberVarReadTimeout);
    }
    if (memberVarInterceptor != null) {
      memberVarInterceptor.accept(localVarRequestBuilder);
    }
    return localVarRequestBuilder;
  }
  /**
   * Git add (stage) a file using the current local version during merge conflict resolution
   * 
   * @param workspaceId Id of the Workspace (required)
   * @param dominoWorkspaceApiGitStageCurrentLocalFileRequest repo and file path of file to stage (required)
   * @return DominoWorkspaceApiGitStageFileResponseDto
   * @throws ApiException if fails to make API call
   */
  public DominoWorkspaceApiGitStageFileResponseDto stageFileBasedOnCurrentLocalState(String workspaceId, DominoWorkspaceApiGitStageCurrentLocalFileRequest dominoWorkspaceApiGitStageCurrentLocalFileRequest) throws ApiException {
    ApiResponse localVarResponse = stageFileBasedOnCurrentLocalStateWithHttpInfo(workspaceId, dominoWorkspaceApiGitStageCurrentLocalFileRequest);
    return localVarResponse.getData();
  }

  /**
   * Git add (stage) a file using the current local version during merge conflict resolution
   * 
   * @param workspaceId Id of the Workspace (required)
   * @param dominoWorkspaceApiGitStageCurrentLocalFileRequest repo and file path of file to stage (required)
   * @return ApiResponse<DominoWorkspaceApiGitStageFileResponseDto>
   * @throws ApiException if fails to make API call
   */
  public ApiResponse stageFileBasedOnCurrentLocalStateWithHttpInfo(String workspaceId, DominoWorkspaceApiGitStageCurrentLocalFileRequest dominoWorkspaceApiGitStageCurrentLocalFileRequest) throws ApiException {
    HttpRequest.Builder localVarRequestBuilder = stageFileBasedOnCurrentLocalStateRequestBuilder(workspaceId, dominoWorkspaceApiGitStageCurrentLocalFileRequest);
    try {
      HttpResponse localVarResponse = memberVarHttpClient.send(
          localVarRequestBuilder.build(),
          HttpResponse.BodyHandlers.ofInputStream());
      if (memberVarResponseInterceptor != null) {
        memberVarResponseInterceptor.accept(localVarResponse);
      }
      try {
        if (localVarResponse.statusCode()/ 100 != 2) {
          throw getApiException("stageFileBasedOnCurrentLocalState", localVarResponse);
        }
        return new ApiResponse(
          localVarResponse.statusCode(),
          localVarResponse.headers().map(),
          localVarResponse.body() == null ? null : memberVarObjectMapper.readValue(localVarResponse.body(), new TypeReference() {}) // closes the InputStream
        );
      } finally {
      }
    } catch (IOException e) {
      throw new ApiException(e);
    }
    catch (InterruptedException e) {
      Thread.currentThread().interrupt();
      throw new ApiException(e);
    }
  }

  private HttpRequest.Builder stageFileBasedOnCurrentLocalStateRequestBuilder(String workspaceId, DominoWorkspaceApiGitStageCurrentLocalFileRequest dominoWorkspaceApiGitStageCurrentLocalFileRequest) throws ApiException {
    // verify the required parameter 'workspaceId' is set
    if (workspaceId == null) {
      throw new ApiException(400, "Missing the required parameter 'workspaceId' when calling stageFileBasedOnCurrentLocalState");
    }
    // verify the required parameter 'dominoWorkspaceApiGitStageCurrentLocalFileRequest' is set
    if (dominoWorkspaceApiGitStageCurrentLocalFileRequest == null) {
      throw new ApiException(400, "Missing the required parameter 'dominoWorkspaceApiGitStageCurrentLocalFileRequest' when calling stageFileBasedOnCurrentLocalState");
    }

    HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder();

    String localVarPath = "/workspace/{workspaceId}/stageFileBasedOnCurrentLocalState"
        .replace("{workspaceId}", ApiClient.urlEncode(workspaceId.toString()));

    localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath));

    localVarRequestBuilder.header("Content-Type", "application/json");
    localVarRequestBuilder.header("Accept", "application/json");

    try {
      byte[] localVarPostBody = memberVarObjectMapper.writeValueAsBytes(dominoWorkspaceApiGitStageCurrentLocalFileRequest);
      localVarRequestBuilder.method("POST", HttpRequest.BodyPublishers.ofByteArray(localVarPostBody));
    } catch (IOException e) {
      throw new ApiException(e);
    }
    if (memberVarReadTimeout != null) {
      localVarRequestBuilder.timeout(memberVarReadTimeout);
    }
    if (memberVarInterceptor != null) {
      memberVarInterceptor.accept(localVarRequestBuilder);
    }
    return localVarRequestBuilder;
  }
  /**
   * Git add (stage) a file using the last local commit during merge conflict resolution
   * 
   * @param workspaceId Id of the Workspace (required)
   * @param dominoWorkspaceApiGitStageLocalCommitFileRequest repo and file path of file to stage (required)
   * @return DominoWorkspaceApiGitStageFileResponseDto
   * @throws ApiException if fails to make API call
   */
  public DominoWorkspaceApiGitStageFileResponseDto stageFileBasedOnLocalCommit(String workspaceId, DominoWorkspaceApiGitStageLocalCommitFileRequest dominoWorkspaceApiGitStageLocalCommitFileRequest) throws ApiException {
    ApiResponse localVarResponse = stageFileBasedOnLocalCommitWithHttpInfo(workspaceId, dominoWorkspaceApiGitStageLocalCommitFileRequest);
    return localVarResponse.getData();
  }

  /**
   * Git add (stage) a file using the last local commit during merge conflict resolution
   * 
   * @param workspaceId Id of the Workspace (required)
   * @param dominoWorkspaceApiGitStageLocalCommitFileRequest repo and file path of file to stage (required)
   * @return ApiResponse<DominoWorkspaceApiGitStageFileResponseDto>
   * @throws ApiException if fails to make API call
   */
  public ApiResponse stageFileBasedOnLocalCommitWithHttpInfo(String workspaceId, DominoWorkspaceApiGitStageLocalCommitFileRequest dominoWorkspaceApiGitStageLocalCommitFileRequest) throws ApiException {
    HttpRequest.Builder localVarRequestBuilder = stageFileBasedOnLocalCommitRequestBuilder(workspaceId, dominoWorkspaceApiGitStageLocalCommitFileRequest);
    try {
      HttpResponse localVarResponse = memberVarHttpClient.send(
          localVarRequestBuilder.build(),
          HttpResponse.BodyHandlers.ofInputStream());
      if (memberVarResponseInterceptor != null) {
        memberVarResponseInterceptor.accept(localVarResponse);
      }
      try {
        if (localVarResponse.statusCode()/ 100 != 2) {
          throw getApiException("stageFileBasedOnLocalCommit", localVarResponse);
        }
        return new ApiResponse(
          localVarResponse.statusCode(),
          localVarResponse.headers().map(),
          localVarResponse.body() == null ? null : memberVarObjectMapper.readValue(localVarResponse.body(), new TypeReference() {}) // closes the InputStream
        );
      } finally {
      }
    } catch (IOException e) {
      throw new ApiException(e);
    }
    catch (InterruptedException e) {
      Thread.currentThread().interrupt();
      throw new ApiException(e);
    }
  }

  private HttpRequest.Builder stageFileBasedOnLocalCommitRequestBuilder(String workspaceId, DominoWorkspaceApiGitStageLocalCommitFileRequest dominoWorkspaceApiGitStageLocalCommitFileRequest) throws ApiException {
    // verify the required parameter 'workspaceId' is set
    if (workspaceId == null) {
      throw new ApiException(400, "Missing the required parameter 'workspaceId' when calling stageFileBasedOnLocalCommit");
    }
    // verify the required parameter 'dominoWorkspaceApiGitStageLocalCommitFileRequest' is set
    if (dominoWorkspaceApiGitStageLocalCommitFileRequest == null) {
      throw new ApiException(400, "Missing the required parameter 'dominoWorkspaceApiGitStageLocalCommitFileRequest' when calling stageFileBasedOnLocalCommit");
    }

    HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder();

    String localVarPath = "/workspace/{workspaceId}/stageFileBasedOnLocalCommit"
        .replace("{workspaceId}", ApiClient.urlEncode(workspaceId.toString()));

    localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath));

    localVarRequestBuilder.header("Content-Type", "application/json");
    localVarRequestBuilder.header("Accept", "application/json");

    try {
      byte[] localVarPostBody = memberVarObjectMapper.writeValueAsBytes(dominoWorkspaceApiGitStageLocalCommitFileRequest);
      localVarRequestBuilder.method("POST", HttpRequest.BodyPublishers.ofByteArray(localVarPostBody));
    } catch (IOException e) {
      throw new ApiException(e);
    }
    if (memberVarReadTimeout != null) {
      localVarRequestBuilder.timeout(memberVarReadTimeout);
    }
    if (memberVarInterceptor != null) {
      memberVarInterceptor.accept(localVarRequestBuilder);
    }
    return localVarRequestBuilder;
  }
  /**
   * Git add (stage) a file using the last remote commit during merge conflict resolution
   * 
   * @param workspaceId Id of the Workspace (required)
   * @param dominoWorkspaceApiGitStageRemoteCommitFileRequest repo and file path of file to stage (required)
   * @return DominoWorkspaceApiGitStageFileResponseDto
   * @throws ApiException if fails to make API call
   */
  public DominoWorkspaceApiGitStageFileResponseDto stageFileBasedOnRemoteCommit(String workspaceId, DominoWorkspaceApiGitStageRemoteCommitFileRequest dominoWorkspaceApiGitStageRemoteCommitFileRequest) throws ApiException {
    ApiResponse localVarResponse = stageFileBasedOnRemoteCommitWithHttpInfo(workspaceId, dominoWorkspaceApiGitStageRemoteCommitFileRequest);
    return localVarResponse.getData();
  }

  /**
   * Git add (stage) a file using the last remote commit during merge conflict resolution
   * 
   * @param workspaceId Id of the Workspace (required)
   * @param dominoWorkspaceApiGitStageRemoteCommitFileRequest repo and file path of file to stage (required)
   * @return ApiResponse<DominoWorkspaceApiGitStageFileResponseDto>
   * @throws ApiException if fails to make API call
   */
  public ApiResponse stageFileBasedOnRemoteCommitWithHttpInfo(String workspaceId, DominoWorkspaceApiGitStageRemoteCommitFileRequest dominoWorkspaceApiGitStageRemoteCommitFileRequest) throws ApiException {
    HttpRequest.Builder localVarRequestBuilder = stageFileBasedOnRemoteCommitRequestBuilder(workspaceId, dominoWorkspaceApiGitStageRemoteCommitFileRequest);
    try {
      HttpResponse localVarResponse = memberVarHttpClient.send(
          localVarRequestBuilder.build(),
          HttpResponse.BodyHandlers.ofInputStream());
      if (memberVarResponseInterceptor != null) {
        memberVarResponseInterceptor.accept(localVarResponse);
      }
      try {
        if (localVarResponse.statusCode()/ 100 != 2) {
          throw getApiException("stageFileBasedOnRemoteCommit", localVarResponse);
        }
        return new ApiResponse(
          localVarResponse.statusCode(),
          localVarResponse.headers().map(),
          localVarResponse.body() == null ? null : memberVarObjectMapper.readValue(localVarResponse.body(), new TypeReference() {}) // closes the InputStream
        );
      } finally {
      }
    } catch (IOException e) {
      throw new ApiException(e);
    }
    catch (InterruptedException e) {
      Thread.currentThread().interrupt();
      throw new ApiException(e);
    }
  }

  private HttpRequest.Builder stageFileBasedOnRemoteCommitRequestBuilder(String workspaceId, DominoWorkspaceApiGitStageRemoteCommitFileRequest dominoWorkspaceApiGitStageRemoteCommitFileRequest) throws ApiException {
    // verify the required parameter 'workspaceId' is set
    if (workspaceId == null) {
      throw new ApiException(400, "Missing the required parameter 'workspaceId' when calling stageFileBasedOnRemoteCommit");
    }
    // verify the required parameter 'dominoWorkspaceApiGitStageRemoteCommitFileRequest' is set
    if (dominoWorkspaceApiGitStageRemoteCommitFileRequest == null) {
      throw new ApiException(400, "Missing the required parameter 'dominoWorkspaceApiGitStageRemoteCommitFileRequest' when calling stageFileBasedOnRemoteCommit");
    }

    HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder();

    String localVarPath = "/workspace/{workspaceId}/stageFileBasedOnRemoteCommit"
        .replace("{workspaceId}", ApiClient.urlEncode(workspaceId.toString()));

    localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath));

    localVarRequestBuilder.header("Content-Type", "application/json");
    localVarRequestBuilder.header("Accept", "application/json");

    try {
      byte[] localVarPostBody = memberVarObjectMapper.writeValueAsBytes(dominoWorkspaceApiGitStageRemoteCommitFileRequest);
      localVarRequestBuilder.method("POST", HttpRequest.BodyPublishers.ofByteArray(localVarPostBody));
    } catch (IOException e) {
      throw new ApiException(e);
    }
    if (memberVarReadTimeout != null) {
      localVarRequestBuilder.timeout(memberVarReadTimeout);
    }
    if (memberVarInterceptor != null) {
      memberVarInterceptor.accept(localVarRequestBuilder);
    }
    return localVarRequestBuilder;
  }
  /**
   * update the default ref for a repository
   * 
   * @param projectId Id of the project (required)
   * @param repositoryId Id of the repository being queried. You can use \"_\" to refer to the project's mainRepository. (required)
   * @param dominoProjectsApiRepositoriesReferenceDTO  (required)
   * @throws ApiException if fails to make API call
   */
  public void updateGitRepositoryDefaultRef(String projectId, String repositoryId, DominoProjectsApiRepositoriesReferenceDTO dominoProjectsApiRepositoriesReferenceDTO) throws ApiException {
    updateGitRepositoryDefaultRefWithHttpInfo(projectId, repositoryId, dominoProjectsApiRepositoriesReferenceDTO);
  }

  /**
   * update the default ref for a repository
   * 
   * @param projectId Id of the project (required)
   * @param repositoryId Id of the repository being queried. You can use \"_\" to refer to the project's mainRepository. (required)
   * @param dominoProjectsApiRepositoriesReferenceDTO  (required)
   * @return ApiResponse<Void>
   * @throws ApiException if fails to make API call
   */
  public ApiResponse updateGitRepositoryDefaultRefWithHttpInfo(String projectId, String repositoryId, DominoProjectsApiRepositoriesReferenceDTO dominoProjectsApiRepositoriesReferenceDTO) throws ApiException {
    HttpRequest.Builder localVarRequestBuilder = updateGitRepositoryDefaultRefRequestBuilder(projectId, repositoryId, dominoProjectsApiRepositoriesReferenceDTO);
    try {
      HttpResponse localVarResponse = memberVarHttpClient.send(
          localVarRequestBuilder.build(),
          HttpResponse.BodyHandlers.ofInputStream());
      if (memberVarResponseInterceptor != null) {
        memberVarResponseInterceptor.accept(localVarResponse);
      }
      try {
        if (localVarResponse.statusCode()/ 100 != 2) {
          throw getApiException("updateGitRepositoryDefaultRef", localVarResponse);
        }
        return new ApiResponse(
          localVarResponse.statusCode(),
          localVarResponse.headers().map(),
          null
        );
      } finally {
        // Drain the InputStream
        while (localVarResponse.body().read() != -1) {
            // Ignore
        }
        localVarResponse.body().close();
      }
    } catch (IOException e) {
      throw new ApiException(e);
    }
    catch (InterruptedException e) {
      Thread.currentThread().interrupt();
      throw new ApiException(e);
    }
  }

  private HttpRequest.Builder updateGitRepositoryDefaultRefRequestBuilder(String projectId, String repositoryId, DominoProjectsApiRepositoriesReferenceDTO dominoProjectsApiRepositoriesReferenceDTO) throws ApiException {
    // verify the required parameter 'projectId' is set
    if (projectId == null) {
      throw new ApiException(400, "Missing the required parameter 'projectId' when calling updateGitRepositoryDefaultRef");
    }
    // verify the required parameter 'repositoryId' is set
    if (repositoryId == null) {
      throw new ApiException(400, "Missing the required parameter 'repositoryId' when calling updateGitRepositoryDefaultRef");
    }
    // verify the required parameter 'dominoProjectsApiRepositoriesReferenceDTO' is set
    if (dominoProjectsApiRepositoriesReferenceDTO == null) {
      throw new ApiException(400, "Missing the required parameter 'dominoProjectsApiRepositoriesReferenceDTO' when calling updateGitRepositoryDefaultRef");
    }

    HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder();

    String localVarPath = "/projects/{projectId}/gitRepositories/{repositoryId}/ref"
        .replace("{projectId}", ApiClient.urlEncode(projectId.toString()))
        .replace("{repositoryId}", ApiClient.urlEncode(repositoryId.toString()));

    localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath));

    localVarRequestBuilder.header("Content-Type", "application/json");
    localVarRequestBuilder.header("Accept", "application/json");

    try {
      byte[] localVarPostBody = memberVarObjectMapper.writeValueAsBytes(dominoProjectsApiRepositoriesReferenceDTO);
      localVarRequestBuilder.method("PUT", HttpRequest.BodyPublishers.ofByteArray(localVarPostBody));
    } catch (IOException e) {
      throw new ApiException(e);
    }
    if (memberVarReadTimeout != null) {
      localVarRequestBuilder.timeout(memberVarReadTimeout);
    }
    if (memberVarInterceptor != null) {
      memberVarInterceptor.accept(localVarRequestBuilder);
    }
    return localVarRequestBuilder;
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy