# NOTE: This file is auto generated by OpenAPI Generator 7.4.0-SNAPSHOT (https://openapi-generator.tech). # Do not edit this file manually. defmodule Nuon.Api.Orgs do @moduledoc """ API calls for all endpoints tagged `Orgs`. """ alias Nuon.Connection import Nuon.RequestBuilder @doc """ Add a user to the current org ### Parameters - `connection` (Nuon.Connection): Connection to server - `service_create_org_user_request` (ServiceCreateOrgUserRequest): Input - `opts` (keyword): Optional parameters ### Returns - `{:ok, Nuon.Model.AppUserOrg.t}` on success - `{:error, Tesla.Env.t}` on failure """ @spec add_user(Tesla.Env.client, Nuon.Model.ServiceCreateOrgUserRequest.t, keyword()) :: {:ok, Nuon.Model.StderrErrResponse.t} | {:ok, Nuon.Model.AppUserOrg.t} | {:error, Tesla.Env.t} def add_user(connection, service_create_org_user_request, _opts \\ []) do request = %{} |> method(:post) |> url("/v1/orgs/current/user") |> add_param(:body, :body, service_create_org_user_request) |> Enum.into([]) connection |> Connection.request(request) |> evaluate_response([ {201, Nuon.Model.AppUserOrg}, {400, Nuon.Model.StderrErrResponse}, {401, Nuon.Model.StderrErrResponse}, {403, Nuon.Model.StderrErrResponse}, {404, Nuon.Model.StderrErrResponse}, {500, Nuon.Model.StderrErrResponse} ]) end @doc """ create a new org ### Parameters - `connection` (Nuon.Connection): Connection to server - `service_create_org_request` (ServiceCreateOrgRequest): Input - `opts` (keyword): Optional parameters ### Returns - `{:ok, Nuon.Model.AppOrg.t}` on success - `{:error, Tesla.Env.t}` on failure """ @spec create_org(Tesla.Env.client, Nuon.Model.ServiceCreateOrgRequest.t, keyword()) :: {:ok, Nuon.Model.AppOrg.t} | {:ok, Nuon.Model.StderrErrResponse.t} | {:error, Tesla.Env.t} def create_org(connection, service_create_org_request, _opts \\ []) do request = %{} |> method(:post) |> url("/v1/orgs") |> add_param(:body, :body, service_create_org_request) |> Enum.into([]) connection |> Connection.request(request) |> evaluate_response([ {201, Nuon.Model.AppOrg}, {400, Nuon.Model.StderrErrResponse}, {401, Nuon.Model.StderrErrResponse}, {403, Nuon.Model.StderrErrResponse}, {404, Nuon.Model.StderrErrResponse}, {500, Nuon.Model.StderrErrResponse} ]) end @doc """ Delete an org ### Parameters - `connection` (Nuon.Connection): Connection to server - `opts` (keyword): Optional parameters ### Returns - `{:ok, boolean()}` on success - `{:error, Tesla.Env.t}` on failure """ @spec delete_org(Tesla.Env.client, keyword()) :: {:ok, Nuon.Model.StderrErrResponse.t} | {:ok, boolean()} | {:error, Tesla.Env.t} def delete_org(connection, _opts \\ []) do request = %{} |> method(:delete) |> url("/v1/orgs/current") |> Enum.into([]) connection |> Connection.request(request) |> evaluate_response([ {200, false}, {400, Nuon.Model.StderrErrResponse}, {401, Nuon.Model.StderrErrResponse}, {403, Nuon.Model.StderrErrResponse}, {404, Nuon.Model.StderrErrResponse}, {500, Nuon.Model.StderrErrResponse} ]) end @doc """ Get an org ### Parameters - `connection` (Nuon.Connection): Connection to server - `opts` (keyword): Optional parameters ### Returns - `{:ok, Nuon.Model.AppOrg.t}` on success - `{:error, Tesla.Env.t}` on failure """ @spec get_org(Tesla.Env.client, keyword()) :: {:ok, Nuon.Model.AppOrg.t} | {:ok, Nuon.Model.StderrErrResponse.t} | {:error, Tesla.Env.t} def get_org(connection, _opts \\ []) do request = %{} |> method(:get) |> url("/v1/orgs/current") |> Enum.into([]) connection |> Connection.request(request) |> evaluate_response([ {200, Nuon.Model.AppOrg}, {400, Nuon.Model.StderrErrResponse}, {401, Nuon.Model.StderrErrResponse}, {403, Nuon.Model.StderrErrResponse}, {404, Nuon.Model.StderrErrResponse}, {500, Nuon.Model.StderrErrResponse} ]) end @doc """ Get an org's health checks Fetch the most recent health checks for an org. Health checks are automatically performed once every 60 seconds. ### Parameters - `connection` (Nuon.Connection): Connection to server - `opts` (keyword): Optional parameters - `:limit` (integer()): limit of health checks to return ### Returns - `{:ok, [%AppOrgHealthCheck{}, ...]}` on success - `{:error, Tesla.Env.t}` on failure """ @spec get_org_health_checks(Tesla.Env.client, keyword()) :: {:ok, Nuon.Model.StderrErrResponse.t} | {:ok, list(Nuon.Model.AppOrgHealthCheck.t)} | {:error, Tesla.Env.t} def get_org_health_checks(connection, opts \\ []) do optional_params = %{ :limit => :query } request = %{} |> method(:get) |> url("/v1/orgs/current/health-checks") |> add_optional_params(optional_params, opts) |> Enum.into([]) connection |> Connection.request(request) |> evaluate_response([ {200, Nuon.Model.AppOrgHealthCheck}, {400, Nuon.Model.StderrErrResponse}, {401, Nuon.Model.StderrErrResponse}, {403, Nuon.Model.StderrErrResponse}, {404, Nuon.Model.StderrErrResponse}, {500, Nuon.Model.StderrErrResponse} ]) end @doc """ Return current user's orgs ### Parameters - `connection` (Nuon.Connection): Connection to server - `opts` (keyword): Optional parameters ### Returns - `{:ok, [%AppOrg{}, ...]}` on success - `{:error, Tesla.Env.t}` on failure """ @spec get_orgs(Tesla.Env.client, keyword()) :: {:ok, Nuon.Model.StderrErrResponse.t} | {:ok, list(Nuon.Model.AppOrg.t)} | {:error, Tesla.Env.t} def get_orgs(connection, _opts \\ []) do request = %{} |> method(:get) |> url("/v1/orgs") |> Enum.into([]) connection |> Connection.request(request) |> evaluate_response([ {200, Nuon.Model.AppOrg}, {400, Nuon.Model.StderrErrResponse}, {401, Nuon.Model.StderrErrResponse}, {403, Nuon.Model.StderrErrResponse}, {404, Nuon.Model.StderrErrResponse}, {500, Nuon.Model.StderrErrResponse} ]) end @doc """ Update current org ### Parameters - `connection` (Nuon.Connection): Connection to server - `service_update_org_request` (ServiceUpdateOrgRequest): Input - `opts` (keyword): Optional parameters ### Returns - `{:ok, Nuon.Model.AppOrg.t}` on success - `{:error, Tesla.Env.t}` on failure """ @spec update_org(Tesla.Env.client, Nuon.Model.ServiceUpdateOrgRequest.t, keyword()) :: {:ok, Nuon.Model.AppOrg.t} | {:ok, Nuon.Model.StderrErrResponse.t} | {:error, Tesla.Env.t} def update_org(connection, service_update_org_request, _opts \\ []) do request = %{} |> method(:patch) |> url("/v1/orgs/current") |> add_param(:body, :body, service_update_org_request) |> Enum.into([]) connection |> Connection.request(request) |> evaluate_response([ {200, Nuon.Model.AppOrg}, {400, Nuon.Model.StderrErrResponse}, {401, Nuon.Model.StderrErrResponse}, {403, Nuon.Model.StderrErrResponse}, {404, Nuon.Model.StderrErrResponse}, {500, Nuon.Model.StderrErrResponse} ]) end end