# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
# https://openapi-generator.tech
# Do not edit the class manually.
defmodule ChatKitty.Api.Application do
@moduledoc """
API calls for all endpoints tagged `Application`.
"""
alias ChatKitty.Connection
import ChatKitty.RequestBuilder
@doc """
Retrieve the authenticated application
Returns the ChatKitty application associated with the authentication credentials used. You must use an **OAuth V2 Bearer token** to access this endpoint.
## Parameters
- connection (ChatKitty.Connection): Connection to server
- opts (KeywordList): [optional] Optional parameters
## Returns
{:ok, ChatKitty.Model.ApplicationResource.t} on success
{:error, Tesla.Env.t} on failure
"""
@spec retrieve_authenticated_application(Tesla.Env.client, keyword()) :: {:ok, ChatKitty.Model.ApiError.t} | {:ok, ChatKitty.Model.ApplicationResource.t} | {:ok, ChatKitty.Model.AuthenticationError.t} | {:error, Tesla.Env.t}
def retrieve_authenticated_application(connection, _opts \\ []) do
%{}
|> method(:get)
|> url("/v1/application")
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 403, %ChatKitty.Model.AuthenticationError{}},
{ 400, %ChatKitty.Model.ApiError{}},
{ 401, %ChatKitty.Model.AuthenticationError{}},
{ 404, %ChatKitty.Model.ApiError{}},
{ 200, %ChatKitty.Model.ApplicationResource{}}
])
end
@doc """
Retrieve the authenticated application settings
Returns the current settings configuring this application
## Parameters
- connection (ChatKitty.Connection): Connection to server
- opts (KeywordList): [optional] Optional parameters
## Returns
{:ok, ChatKitty.Model.ApplicationSettingsResource.t} on success
{:error, Tesla.Env.t} on failure
"""
@spec retrieve_authenticated_application_settings(Tesla.Env.client, keyword()) :: {:ok, ChatKitty.Model.ApplicationSettingsResource.t} | {:ok, ChatKitty.Model.ApiError.t} | {:ok, ChatKitty.Model.AuthenticationError.t} | {:error, Tesla.Env.t}
def retrieve_authenticated_application_settings(connection, _opts \\ []) do
%{}
|> method(:get)
|> url("/v1/application/settings")
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 403, %ChatKitty.Model.AuthenticationError{}},
{ 400, %ChatKitty.Model.ApiError{}},
{ 401, %ChatKitty.Model.AuthenticationError{}},
{ 404, %ChatKitty.Model.ApiError{}},
{ 200, %ChatKitty.Model.ApplicationSettingsResource{}}
])
end
@doc """
Update the authenticated application settings
Update the settings configuring this application
## Parameters
- connection (ChatKitty.Connection): Connection to server
- application_settings_properties (ApplicationSettingsProperties):
- opts (KeywordList): [optional] Optional parameters
## Returns
{:ok, ChatKitty.Model.ApplicationSettingsResource.t} on success
{:error, Tesla.Env.t} on failure
"""
@spec update_authenticated_application_settings(Tesla.Env.client, ChatKitty.Model.ApplicationSettingsProperties.t, keyword()) :: {:ok, ChatKitty.Model.ApplicationSettingsResource.t} | {:ok, ChatKitty.Model.ApiError.t} | {:ok, ChatKitty.Model.AuthenticationError.t} | {:error, Tesla.Env.t}
def update_authenticated_application_settings(connection, application_settings_properties, _opts \\ []) do
%{}
|> method(:put)
|> url("/v1/application/settings")
|> add_param(:body, :body, application_settings_properties)
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 403, %ChatKitty.Model.AuthenticationError{}},
{ 400, %ChatKitty.Model.ApiError{}},
{ 401, %ChatKitty.Model.AuthenticationError{}},
{ 404, %ChatKitty.Model.ApiError{}},
{ 200, %ChatKitty.Model.ApplicationSettingsResource{}}
])
end
end