Module r3_hex_api_key

Data Types

api_permission()

api_permission() = #{domain => api, resource => read | write}

permission()

permission() = api_permission() | repo_permission() | repos_permission()

repo_permission()

repo_permission() = #{domain => repository, resource => binary()}

repos_permission()

repos_permission() = #{domain => repositories}

Function Index

add/3 Adds a new API or repository key.
delete/2 Deletes an API or repository key.
delete_all/1 Deletes all API and repository keys associated with the account.
get/2 Gets an API or repository key by name.
list/1 Lists the user's or organization's API and repository keys.

Function Details

add/3

add(Config::r3_hex_core:config(), Name::binary(), Permissions::[permission()]) -> r3_hex_api:response()

Adds a new API or repository key.

Examples:

  > r3_hex_api_key:add(r3_hex_core:default_config(), <<"test">>, [...]).
  {ok, {200, ..., #{
      <<"authing_key">> => true,
      <<"inserted_at">> => <<"2019-02-27T11:15:32Z">>,
      <<"last_use">> =>
          #{<<"ip">> => <<"1.2.3.4">>,
            <<"used_at">> => <<"2019-02-27T14:38:54Z">>,
            <<"user_agent">> => <<"hex_core/0.5.0 (httpc) (OTP/21) (erts/10.2)">>},
      <<"name">> => <<"hex_core">>,
      <<"permissions">> => [#{<<"domain">> => <<"api">>,<<"resource">> => <<"read">>}],
      <<"revoked_at">> => nil,
      <<"updated_at">> => <<"2019-02-27T14:38:54Z">>,
      <<"url">> => <<"https://hex.pm/api/keys/test">>},
      }}}

delete/2

delete(Config::r3_hex_core:config(), Name::binary()) -> r3_hex_api:response()

Deletes an API or repository key.

Examples:

  > r3_hex_api_key:delete(r3_hex_core:default_config(), <<"test">>).
  {ok, {200, ..., #{
      <<"authing_key">> => true,
      <<"inserted_at">> => <<"2019-02-27T11:15:32Z">>,
      <<"last_use">> =>
          #{<<"ip">> => <<"1.2.3.4">>,
            <<"used_at">> => <<"2019-02-27T14:38:54Z">>,
            <<"user_agent">> => <<"hex_core/0.5.0 (httpc) (OTP/21) (erts/10.2)">>},
      <<"name">> => <<"hex_core">>,
      <<"permissions">> => [#{<<"domain">> => <<"api">>,<<"resource">> => <<"read">>}],
      <<"revoked_at">> => nil,
      <<"updated_at">> => <<"2019-02-27T14:38:54Z">>,
      <<"url">> => <<"https://hex.pm/api/keys/test">>},
      }}}

delete_all/1

delete_all(Config::r3_hex_core:config()) -> r3_hex_api:response()

Deletes all API and repository keys associated with the account.

Examples:

  > r3_hex_api_key:delete_all(r3_hex_core:default_config()).
  {ok, {200, ..., [#{
      <<"authing_key">> => true,
      <<"inserted_at">> => <<"2019-02-27T11:15:32Z">>,
      <<"last_use">> =>
          #{<<"ip">> => <<"1.2.3.4">>,
            <<"used_at">> => <<"2019-02-27T14:38:54Z">>,
            <<"user_agent">> => <<"hex_core/0.5.0 (httpc) (OTP/21) (erts/10.2)">>},
      <<"name">> => <<"hex_core">>,
      <<"permissions">> => [#{<<"domain">> => <<"api">>,<<"resource">> => <<"read">>}],
      <<"revoked_at">> => nil,
      <<"updated_at">> => <<"2019-02-27T14:38:54Z">>,
      <<"url">> => <<"https://hex.pm/api/keys/test">>},
      }]}}

get/2

get(Config::r3_hex_core:config(), Name::binary()) -> r3_hex_api:response()

Gets an API or repository key by name.

Examples:

  > r3_hex_api_key:get(r3_hex_core:default_config(), <<"test">>).
  {ok, {200, ..., #{
      <<"authing_key">> => true,
      <<"inserted_at">> => <<"2019-02-27T11:15:32Z">>,
      <<"last_use">> =>
          #{<<"ip">> => <<"1.2.3.4">>,
            <<"used_at">> => <<"2019-02-27T14:38:54Z">>,
            <<"user_agent">> => <<"hex_core/0.5.0 (httpc) (OTP/21) (erts/10.2)">>},
      <<"name">> => <<"hex_core">>,
      <<"permissions">> => [#{<<"domain">> => <<"api">>,<<"resource">> => <<"read">>}],
      <<"revoked_at">> => nil,
      <<"updated_at">> => <<"2019-02-27T14:38:54Z">>,
      <<"url">> => <<"https://hex.pm/api/keys/test">>},
      }}}

list/1

list(Config::r3_hex_core:config()) -> r3_hex_api:response()

Lists the user's or organization's API and repository keys.

Examples:

  > r3_hex_api_key:list(r3_hex_core:default_config()).
  {ok, {200, ..., [#{
      <<"authing_key">> => true,
      <<"inserted_at">> => <<"2019-02-27T11:15:32Z">>,
      <<"last_use">> =>
          #{<<"ip">> => <<"1.2.3.4">>,
            <<"used_at">> => <<"2019-02-27T14:38:54Z">>,
            <<"user_agent">> => <<"hex_core/0.5.0 (httpc) (OTP/21) (erts/10.2)">>},
      <<"name">> => <<"hex_core">>,
      <<"permissions">> => [#{<<"domain">> => <<"api">>,<<"resource">> => <<"read">>}],
      <<"revoked_at">> => nil,
      <<"updated_at">> => <<"2019-02-27T14:38:54Z">>,
      <<"url">> => <<"https://hex.pm/api/keys/test">>},
      }]}}


Generated by EDoc