Aura.APIKeys (Aura v0.9.3)

View Source

Service module for interacting with Hex API keys

๐Ÿ“– Resources

Summary

Functions

Deletes all API keys for the authenticated requester

Deletes an API key for the authenticated requester, given a key_name

Grabs API key information associated with a given key_name

Grabs info about the requester's API key(s)

Functions

create_api_key(key_name, username, password, allow_write \\ false, opts \\ [])

@spec create_api_key(
  key_name :: Aura.Common.api_key_name(),
  username :: Aura.Common.username(),
  password :: String.t(),
  allow_write :: boolean(),
  opts :: list()
) :: {:ok, Aura.Model.HexAPIKey.t()} | {:error, any()}

Creates a new API key

๐Ÿท๏ธ Params

โคต๏ธ Returns

โœ… On Success

  {:ok, %HexAPIKey{...}}

โŒ On Failure

  {:error, (some error)}

๐Ÿ‘ฉโ€๐Ÿ’ป API Details

MethodPathControllerAction
POST/keysKeyController:create
POST/orgs/opts[:org]/keysKeyController:create

delete_all_api_keys(opts \\ [])

@spec delete_all_api_keys(opts :: list()) :: :ok | {:error, any()}

Deletes all API keys for the authenticated requester

๐Ÿท๏ธ Params

  • opts :: option parameters used to modify requests

โคต๏ธ Returns

โœ… On Success

  :ok

โŒ On Failure

  {:error, (some error)}

๐Ÿ’ป Examples

iex> alias Aura.APIKeys
iex> opts = [repo_url: "http://localhost:4000/api"]
iex> APIKeys.delete_all_api_keys(opts)
:ok

๐Ÿ‘ฉโ€๐Ÿ’ป API Details

MethodPathControllerAction
DELETE/keysKeyController:delete_all
DELETE/orgs/opts[:org]/keysKeyController:delete_all

delete_api_key(key_name, opts \\ [])

@spec delete_api_key(key_name :: Aura.Common.api_key_name(), opts :: list()) ::
  :ok | {:error, any()}

Deletes an API key for the authenticated requester, given a key_name

๐Ÿท๏ธ Params

โคต๏ธ Returns

โœ… On Success

  :ok

โŒ On Failure

  {:error, (some error)}

๐Ÿ’ป Examples

iex> alias Aura.APIKeys
iex> opts = [repo_url: "http://localhost:4000/api"]
iex> {:ok, [key | _]} = APIKeys.list_api_keys(opts)
iex> APIKeys.delete_api_key(key.name, opts)
:ok

๐Ÿ‘ฉโ€๐Ÿ’ป API Details

MethodPathControllerAction
DELETE/keys/:key_nameKeyController:delete
DELETE/orgs/opts[:org]/keys/:key_nameKeyController:delete

get_api_key(key_name, opts \\ [])

@spec get_api_key(key_name :: Aura.Common.api_key_name(), opts :: list()) ::
  {:ok, Aura.Model.HexAPIKey.t()} | {:error, any()}

Grabs API key information associated with a given key_name

๐Ÿท๏ธ Params

โคต๏ธ Returns

โœ… On Success

  {:ok, %HexAPIKey{...}}

โŒ On Failure

  {:error, (some error)}

๐Ÿ’ป Examples

iex> alias Aura.APIKeys
iex> opts = [repo_url: "http://localhost:4000/api"]
iex> {:ok, keys} = APIKeys.list_api_keys(opts)
iex> keys |> Enum.map(fn key ->  {:ok, _k} = APIKeys.get_api_key(key.name, opts) end)

๐Ÿ‘ฉโ€๐Ÿ’ป API Details

MethodPathControllerAction
GET/keys/:key_nameKeyController:show
GET/orgs/opts[:org]/keys/:key_nameKeyController:show

list_api_keys(opts \\ [])

@spec list_api_keys(opts :: list()) ::
  {:ok, [Aura.Model.HexAPIKey.t()]} | {:error, any()}

Grabs info about the requester's API key(s)

๐Ÿท๏ธ Params

โคต๏ธ Returns

โœ… On Success

  {:ok, [%HexAPIKey{...}]}

โŒ On Failure

  {:error, (some error)}

๐Ÿ’ป Examples

iex> alias Aura.APIKeys
iex> repo_url = "http://localhost:4000/api"
iex> {:ok, keys} = APIKeys.list_api_keys(repo_url: repo_url)
iex> Enum.empty?(keys)
false

๐Ÿ‘ฉโ€๐Ÿ’ป API Details

MethodPathControllerAction
GET/keysKeyController:index
GET/orgs/opts[:org]/keysKeyController:index