hex_api_key (hex_core v0.8.3) 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
permission() :: #{binary() => binary()}.
Link to this section Functions
Specs
add(hex_core:config(), binary(), [permission()]) -> hex_api:response().
Adds a new API or repository key.
A permission is a map of #{<<"domain">> => Domain, <<"resource"> => Resource}
.
Valid Domain
values: <<"api">> | <<"repository">> | <<"repositories">>
.
Valid Resource
values: <<"read">> | <<"write">>
.
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">>},
}]}}