# NOTE: This file is auto generated by OpenAPI Generator 7.22.0 (https://openapi-generator.tech).
# Do not edit this file manually.
defmodule Spatio.Api.Keybindings do
@moduledoc """
API calls for all endpoints tagged `Keybindings`.
"""
alias Spatio.Connection
import Spatio.RequestBuilder
@doc """
Reset a binding to its platform default.
### Parameters
- `connection` (Spatio.Connection): Connection to server
- `id` (String.t):
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, nil}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec delete_key_binding(Tesla.Env.client, String.t, keyword()) :: {:ok, nil} | {:ok, Spatio.Model.ApiError.t} | {:error, Tesla.Env.t}
def delete_key_binding(connection, id, _opts \\ []) do
request =
%{}
|> method(:delete)
|> url("/v1/keybindings/#{id}")
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{204, false},
{401, Spatio.Model.ApiError}
])
end
@doc """
Platform default key bindings (no user customizations applied).
### Parameters
- `connection` (Spatio.Connection): Connection to server
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, Spatio.Model.KeyBindingListResponse.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec get_default_key_bindings(Tesla.Env.client, keyword()) :: {:ok, Spatio.Model.KeyBindingListResponse.t} | {:ok, Spatio.Model.ApiError.t} | {:error, Tesla.Env.t}
def get_default_key_bindings(connection, _opts \\ []) do
request =
%{}
|> method(:get)
|> url("/v1/keybindings/defaults")
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, Spatio.Model.KeyBindingListResponse},
{401, Spatio.Model.ApiError}
])
end
@doc """
User's merged key bindings (defaults + customizations).
### Parameters
- `connection` (Spatio.Connection): Connection to server
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, Spatio.Model.KeyBindingListResponse.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec list_key_bindings(Tesla.Env.client, keyword()) :: {:ok, Spatio.Model.KeyBindingListResponse.t} | {:ok, Spatio.Model.ApiError.t} | {:error, Tesla.Env.t}
def list_key_bindings(connection, _opts \\ []) do
request =
%{}
|> method(:get)
|> url("/v1/keybindings")
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, Spatio.Model.KeyBindingListResponse},
{401, Spatio.Model.ApiError}
])
end
@doc """
Reset every customization to its platform default.
### Parameters
- `connection` (Spatio.Connection): Connection to server
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, nil}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec reset_all_key_bindings(Tesla.Env.client, keyword()) :: {:ok, nil} | {:ok, Spatio.Model.ApiError.t} | {:error, Tesla.Env.t}
def reset_all_key_bindings(connection, _opts \\ []) do
request =
%{}
|> method(:post)
|> url("/v1/keybindings/reset")
|> ensure_body()
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{204, false},
{401, Spatio.Model.ApiError}
])
end
@doc """
Create or update a user key-binding customization.
### Parameters
- `connection` (Spatio.Connection): Connection to server
- `id` (String.t):
- `update_key_binding_request` (UpdateKeyBindingRequest):
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, Spatio.Model.KeyBinding.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec update_key_binding(Tesla.Env.client, String.t, Spatio.Model.UpdateKeyBindingRequest.t, keyword()) :: {:ok, Spatio.Model.KeyBinding.t} | {:ok, Spatio.Model.ApiError.t} | {:error, Tesla.Env.t}
def update_key_binding(connection, id, update_key_binding_request, _opts \\ []) do
request =
%{}
|> method(:put)
|> url("/v1/keybindings/#{id}")
|> add_param(:body, :body, update_key_binding_request)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, Spatio.Model.KeyBinding},
{401, Spatio.Model.ApiError}
])
end
@doc """
Check whether a proposed binding conflicts with existing ones.
### Parameters
- `connection` (Spatio.Connection): Connection to server
- `validate_key_binding_request` (ValidateKeyBindingRequest):
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, Spatio.Model.ValidateKeyBindingResponse.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec validate_key_binding(Tesla.Env.client, Spatio.Model.ValidateKeyBindingRequest.t, keyword()) :: {:ok, Spatio.Model.ValidateKeyBindingResponse.t} | {:ok, Spatio.Model.ApiError.t} | {:error, Tesla.Env.t}
def validate_key_binding(connection, validate_key_binding_request, _opts \\ []) do
request =
%{}
|> method(:post)
|> url("/v1/keybindings/validate")
|> add_param(:body, :body, validate_key_binding_request)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, Spatio.Model.ValidateKeyBindingResponse},
{401, Spatio.Model.ApiError}
])
end
end