hex_api_key (hex_core v0.7.1) View Source
Link to this section Summary
Functions
Adds a new API or repository key.
Deletes an API or repository key.
Deletes all API and repository keys associated with the account.
Gets an API or repository key by name.
Lists the user's or organization's API and repository keys.
Link to this section Types
Specs
api_permission() :: %{ optional(:domain) => :api, optional(:resource) => :read | :write }
Specs
permission() :: api_permission() | repo_permission() | repos_permission()
Specs
repo_permission() :: %{ optional(:domain) => :repository, optional(:resource) => binary() }
Specs
repos_permission() :: %{optional(:domain) => :repositories}
Link to this section Functions
Specs
add(:hex_core.config(), binary(), [permission()]) :: :hex_api.response()
Adds a new API or repository key.
Examples:
> hex_api_key:add(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">>}, }}}
Specs
delete(:hex_core.config(), binary()) :: :hex_api.response()
Deletes an API or repository key.
Examples:
> hex_api_key:delete(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">>}, }}}
Specs
delete_all(:hex_core.config()) :: :hex_api.response()
Deletes all API and repository keys associated with the account.
Examples:
> hex_api_key:delete_all(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">>}, }]}}
Specs
get(:hex_core.config(), binary()) :: :hex_api.response()
Gets an API or repository key by name.
Examples:
> hex_api_key:get(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">>}, }}}
Specs
list(:hex_core.config()) :: :hex_api.response()
Lists the user's or organization's API and repository keys.
Examples:
> hex_api_key:list(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">>}, }]}}