View Source hex_api_key (hex_core v0.10.3)
Hex HTTP API - Keys.
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.
Types
Functions
-spec 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">>},
}}}
-spec 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">>},
}}}
-spec 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">>},
}]}}
-spec 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">>},
}}}
-spec 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">>},
}]}}