Current section

Files

Jump to
polarex lib polarex operations clients.ex
Raw

lib/polarex/operations/clients.ex

defmodule Polarex.Clients do
@moduledoc """
Provides API endpoints related to clients
"""
@default_client Polarex.Support.Client
@doc """
Create Client
Create an OAuth2 client.
## Request Body
**Content Types**: `application/json`
"""
@spec oauth2_clients_oauth2_create_client(
body :: Polarex.OAuth2ClientConfiguration.t(),
opts :: keyword
) :: {:ok, map} | {:error, Polarex.HTTPValidationError.t()}
def oauth2_clients_oauth2_create_client(body, opts \\ []) do
client = opts[:client] || @default_client
client.request(%{
args: [body: body],
call: {Polarex.Clients, :oauth2_clients_oauth2_create_client},
url: "/v1/oauth2/register",
body: body,
method: :post,
request: [{"application/json", {Polarex.OAuth2ClientConfiguration, :t}}],
response: [{200, :map}, {422, {Polarex.HTTPValidationError, :t}}],
opts: opts
})
end
@doc """
Delete Client
Delete an OAuth2 client.
"""
@spec oauth2_clients_oauth2_delete_client(client_id :: String.t(), opts :: keyword) ::
{:ok, map} | {:error, Polarex.HTTPValidationError.t()}
def oauth2_clients_oauth2_delete_client(client_id, opts \\ []) do
client = opts[:client] || @default_client
client.request(%{
args: [client_id: client_id],
call: {Polarex.Clients, :oauth2_clients_oauth2_delete_client},
url: "/v1/oauth2/register/#{client_id}",
method: :delete,
response: [{200, :map}, {422, {Polarex.HTTPValidationError, :t}}],
opts: opts
})
end
@doc """
Get Client
Get an OAuth2 client by Client ID.
"""
@spec oauth2_clients_oauth2_get_client(client_id :: String.t(), opts :: keyword) ::
{:ok, map} | {:error, Polarex.HTTPValidationError.t()}
def oauth2_clients_oauth2_get_client(client_id, opts \\ []) do
client = opts[:client] || @default_client
client.request(%{
args: [client_id: client_id],
call: {Polarex.Clients, :oauth2_clients_oauth2_get_client},
url: "/v1/oauth2/register/#{client_id}",
method: :get,
response: [{200, :map}, {422, {Polarex.HTTPValidationError, :t}}],
opts: opts
})
end
@doc """
Update Client
Update an OAuth2 client.
## Request Body
**Content Types**: `application/json`
"""
@spec oauth2_clients_oauth2_update_client(
client_id :: String.t(),
body :: Polarex.OAuth2ClientConfigurationUpdate.t(),
opts :: keyword
) :: {:ok, map} | {:error, Polarex.HTTPValidationError.t()}
def oauth2_clients_oauth2_update_client(client_id, body, opts \\ []) do
client = opts[:client] || @default_client
client.request(%{
args: [client_id: client_id, body: body],
call: {Polarex.Clients, :oauth2_clients_oauth2_update_client},
url: "/v1/oauth2/register/#{client_id}",
body: body,
method: :put,
request: [{"application/json", {Polarex.OAuth2ClientConfigurationUpdate, :t}}],
response: [{200, :map}, {422, {Polarex.HTTPValidationError, :t}}],
opts: opts
})
end
end