Skip to main content

lib/rocksky/apikey.ex

defmodule Rocksky.Apikey do
  @moduledoc "`app.rocksky.apikey.*` endpoints. All require an authenticated client."

  alias Rocksky.HTTP

  @doc "List your API keys. Params: `:limit`, `:offset`."
  def get_apikeys(client, params \\ []),
    do: HTTP.query(client, "app.rocksky.apikey.getApikeys", params)

  @doc "Create a new API key. Body: `:name`, `:description`."
  def create_apikey(client, body) when is_list(body) or is_map(body),
    do: HTTP.procedure(client, "app.rocksky.apikey.createApikey", [], Map.new(body))

  @doc "Update an API key. Body: `:id`, `:name`, `:description`."
  def update_apikey(client, body) when is_list(body) or is_map(body),
    do: HTTP.procedure(client, "app.rocksky.apikey.updateApikey", [], Map.new(body))

  @doc "Remove an API key. Params: `:id`."
  def remove_apikey(client, params),
    do: HTTP.procedure(client, "app.rocksky.apikey.removeApikey", params)
end