permission() = #{binary() := binary()}
| 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. |
add(Config::r3_hex_core:config(), Name::binary(), Permissions::[permission()]) -> r3_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:
> 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(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(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(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(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