Aura.Model.HexAPIKey (Aura v0.9.0)

View Source

A struct describing an API key record coming from a Hex-compliant API.

Summary

Types

A human-readable name for this API key (e.g "my_computer")

A permission realm that this API key has.

❓ Sorry, documentation from the hex specification is lacking here. ❓

UTC DateTime when this key became invalid

The API key payload - it is only provided once, upon creation; always nil after

t()

Type describing an API key coming from a Hex-compliant API.

Functions

Builds a HexAPIKey from a map

Types

api_key_name()

@type api_key_name() :: String.t()

A human-readable name for this API key (e.g "my_computer")

api_permission()

@type api_permission() :: %{domain: String.t(), resource: String.t()}

A permission realm that this API key has.

🏷️ Keys

  • domain :: A domain for which this API key is valid
    • (e.g "api", "repository", "repositories", "package")
  • resource :: What kind of operations this API key can do within its domain
    • (e.g "read", "write")

authing_key()

@type authing_key() :: boolean()

❓ Sorry, documentation from the hex specification is lacking here. ❓

revoked_date_time()

@type revoked_date_time() :: DateTime.t() | nil

UTC DateTime when this key became invalid

secret()

@type secret() :: String.t() | nil

The API key payload - it is only provided once, upon creation; always nil after

t()

@type t() :: %Aura.Model.HexAPIKey{
  authing_key: authing_key(),
  inserted_at: Aura.Model.Common.inserted_at(),
  name: api_key_name(),
  permissions: [api_permission()],
  revoked_at: revoked_date_time(),
  secret: secret(),
  updated_at: Aura.Model.Common.updated_at(),
  url: Aura.Model.Common.url()
}

Type describing an API key coming from a Hex-compliant API.

🏷️ Keys

Functions

build(m)

@spec build(m :: map()) :: t()

Builds a HexAPIKey from a map