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

com.dominodatalab.api.rest.OrganizationsApi 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.DominoOrganizationsApiOrganizationMembersDTO;
import com.dominodatalab.api.model.NewOrganization;
import com.dominodatalab.api.model.Organization;

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 OrganizationsApi {
  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 OrganizationsApi() {
    this(new ApiClient());
  }

  public OrganizationsApi(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;
  }

  /**
   * add/remove members from an Organization
   * 
   * @param organizationUserId Identifier of organization's user to set members (required)
   * @param dominoOrganizationsApiOrganizationMembersDTO Object with a list of new organization members (required)
   * @return Organization
   * @throws ApiException if fails to make API call
   */
  public Organization changeOrganizationMembers(String organizationUserId, DominoOrganizationsApiOrganizationMembersDTO dominoOrganizationsApiOrganizationMembersDTO) throws ApiException {
    ApiResponse localVarResponse = changeOrganizationMembersWithHttpInfo(organizationUserId, dominoOrganizationsApiOrganizationMembersDTO);
    return localVarResponse.getData();
  }

  /**
   * add/remove members from an Organization
   * 
   * @param organizationUserId Identifier of organization's user to set members (required)
   * @param dominoOrganizationsApiOrganizationMembersDTO Object with a list of new organization members (required)
   * @return ApiResponse<Organization>
   * @throws ApiException if fails to make API call
   */
  public ApiResponse changeOrganizationMembersWithHttpInfo(String organizationUserId, DominoOrganizationsApiOrganizationMembersDTO dominoOrganizationsApiOrganizationMembersDTO) throws ApiException {
    HttpRequest.Builder localVarRequestBuilder = changeOrganizationMembersRequestBuilder(organizationUserId, dominoOrganizationsApiOrganizationMembersDTO);
    try {
      HttpResponse localVarResponse = memberVarHttpClient.send(
          localVarRequestBuilder.build(),
          HttpResponse.BodyHandlers.ofInputStream());
      if (memberVarResponseInterceptor != null) {
        memberVarResponseInterceptor.accept(localVarResponse);
      }
      try {
        if (localVarResponse.statusCode()/ 100 != 2) {
          throw getApiException("changeOrganizationMembers", 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 changeOrganizationMembersRequestBuilder(String organizationUserId, DominoOrganizationsApiOrganizationMembersDTO dominoOrganizationsApiOrganizationMembersDTO) throws ApiException {
    // verify the required parameter 'organizationUserId' is set
    if (organizationUserId == null) {
      throw new ApiException(400, "Missing the required parameter 'organizationUserId' when calling changeOrganizationMembers");
    }
    // verify the required parameter 'dominoOrganizationsApiOrganizationMembersDTO' is set
    if (dominoOrganizationsApiOrganizationMembersDTO == null) {
      throw new ApiException(400, "Missing the required parameter 'dominoOrganizationsApiOrganizationMembersDTO' when calling changeOrganizationMembers");
    }

    HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder();

    String localVarPath = "/organizations/{organizationUserId}/members"
        .replace("{organizationUserId}", ApiClient.urlEncode(organizationUserId.toString()));

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

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

    try {
      byte[] localVarPostBody = memberVarObjectMapper.writeValueAsBytes(dominoOrganizationsApiOrganizationMembersDTO);
      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;
  }
  /**
   * creates an Organization
   * 
   * @param newOrganization Information necessary to create a new organization (required)
   * @return Organization
   * @throws ApiException if fails to make API call
   */
  public Organization createOrganization(NewOrganization newOrganization) throws ApiException {
    ApiResponse localVarResponse = createOrganizationWithHttpInfo(newOrganization);
    return localVarResponse.getData();
  }

  /**
   * creates an Organization
   * 
   * @param newOrganization Information necessary to create a new organization (required)
   * @return ApiResponse<Organization>
   * @throws ApiException if fails to make API call
   */
  public ApiResponse createOrganizationWithHttpInfo(NewOrganization newOrganization) throws ApiException {
    HttpRequest.Builder localVarRequestBuilder = createOrganizationRequestBuilder(newOrganization);
    try {
      HttpResponse localVarResponse = memberVarHttpClient.send(
          localVarRequestBuilder.build(),
          HttpResponse.BodyHandlers.ofInputStream());
      if (memberVarResponseInterceptor != null) {
        memberVarResponseInterceptor.accept(localVarResponse);
      }
      try {
        if (localVarResponse.statusCode()/ 100 != 2) {
          throw getApiException("createOrganization", 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 createOrganizationRequestBuilder(NewOrganization newOrganization) throws ApiException {
    // verify the required parameter 'newOrganization' is set
    if (newOrganization == null) {
      throw new ApiException(400, "Missing the required parameter 'newOrganization' when calling createOrganization");
    }

    HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder();

    String localVarPath = "/organizations";

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

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

    try {
      byte[] localVarPostBody = memberVarObjectMapper.writeValueAsBytes(newOrganization);
      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;
  }
  /**
   * allows an Admin to retrieve all Organizations
   * 
   * @param name Optional filter with a name of the specific organization (optional)
   * @return List<Organization>
   * @throws ApiException if fails to make API call
   */
  public List getAllOrganizations(String name) throws ApiException {
    ApiResponse> localVarResponse = getAllOrganizationsWithHttpInfo(name);
    return localVarResponse.getData();
  }

  /**
   * allows an Admin to retrieve all Organizations
   * 
   * @param name Optional filter with a name of the specific organization (optional)
   * @return ApiResponse<List<Organization>>
   * @throws ApiException if fails to make API call
   */
  public ApiResponse> getAllOrganizationsWithHttpInfo(String name) throws ApiException {
    HttpRequest.Builder localVarRequestBuilder = getAllOrganizationsRequestBuilder(name);
    try {
      HttpResponse localVarResponse = memberVarHttpClient.send(
          localVarRequestBuilder.build(),
          HttpResponse.BodyHandlers.ofInputStream());
      if (memberVarResponseInterceptor != null) {
        memberVarResponseInterceptor.accept(localVarResponse);
      }
      try {
        if (localVarResponse.statusCode()/ 100 != 2) {
          throw getApiException("getAllOrganizations", 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 getAllOrganizationsRequestBuilder(String name) throws ApiException {

    HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder();

    String localVarPath = "/organizations";

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

    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 the current user's Organizations
   * 
   * @param name Optional filter with a name of the specific organization (optional)
   * @return List<Organization>
   * @throws ApiException if fails to make API call
   */
  public List getCurrentUserOrganizations(String name) throws ApiException {
    ApiResponse> localVarResponse = getCurrentUserOrganizationsWithHttpInfo(name);
    return localVarResponse.getData();
  }

  /**
   * retrieves the current user's Organizations
   * 
   * @param name Optional filter with a name of the specific organization (optional)
   * @return ApiResponse<List<Organization>>
   * @throws ApiException if fails to make API call
   */
  public ApiResponse> getCurrentUserOrganizationsWithHttpInfo(String name) throws ApiException {
    HttpRequest.Builder localVarRequestBuilder = getCurrentUserOrganizationsRequestBuilder(name);
    try {
      HttpResponse localVarResponse = memberVarHttpClient.send(
          localVarRequestBuilder.build(),
          HttpResponse.BodyHandlers.ofInputStream());
      if (memberVarResponseInterceptor != null) {
        memberVarResponseInterceptor.accept(localVarResponse);
      }
      try {
        if (localVarResponse.statusCode()/ 100 != 2) {
          throw getApiException("getCurrentUserOrganizations", 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 getCurrentUserOrganizationsRequestBuilder(String name) throws ApiException {

    HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder();

    String localVarPath = "/organizations/self";

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

    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 an Organization by user id
   * 
   * @param organizationUserId Identifier of organization's user (required)
   * @return Organization
   * @throws ApiException if fails to make API call
   */
  public Organization getOrganization(String organizationUserId) throws ApiException {
    ApiResponse localVarResponse = getOrganizationWithHttpInfo(organizationUserId);
    return localVarResponse.getData();
  }

  /**
   * retrieves an Organization by user id
   * 
   * @param organizationUserId Identifier of organization's user (required)
   * @return ApiResponse<Organization>
   * @throws ApiException if fails to make API call
   */
  public ApiResponse getOrganizationWithHttpInfo(String organizationUserId) throws ApiException {
    HttpRequest.Builder localVarRequestBuilder = getOrganizationRequestBuilder(organizationUserId);
    try {
      HttpResponse localVarResponse = memberVarHttpClient.send(
          localVarRequestBuilder.build(),
          HttpResponse.BodyHandlers.ofInputStream());
      if (memberVarResponseInterceptor != null) {
        memberVarResponseInterceptor.accept(localVarResponse);
      }
      try {
        if (localVarResponse.statusCode()/ 100 != 2) {
          throw getApiException("getOrganization", 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 getOrganizationRequestBuilder(String organizationUserId) throws ApiException {
    // verify the required parameter 'organizationUserId' is set
    if (organizationUserId == null) {
      throw new ApiException(400, "Missing the required parameter 'organizationUserId' when calling getOrganization");
    }

    HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder();

    String localVarPath = "/organizations/{organizationUserId}"
        .replace("{organizationUserId}", ApiClient.urlEncode(organizationUserId.toString()));

    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;
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy