Modules

hex_api_key hex_api_package hex_api_package_owner hex_api_release hex_api_user hex_core hex_http hex_pb_names hex_pb_package hex_pb_signed hex_pb_versions hex_registry hex_repo hex_tarball

Module hex_api_release

Data Types

retirement_params()


retirement_params() = #{reason => retirement_reason(), message => binary()}

retirement_reason()


retirement_reason() = other | invalid | security | deprecated | renamed

Function Index

delete/3 Deletes a package release.
get/3 Gets a package release.
publish/2 Publishes a new package release.
retire/4 Retires a package release.
unretire/3 Unretires a package release.

Function Details

delete/3


delete(Config::hex_core:config(), Name::binary(), Version::binary()) -> hex_api:response()

Deletes a package release.

Examples:

  > hex_api_release:delete(hex_core:default_config(), <<"package">>, <<"1.0.0">>).
  {ok, {204, ..., nil}}

get/3


get(Config::hex_core:config(), Name::binary(), Version::binary()) -> hex_api:response()

Gets a package release.

Examples:

  > hex_api_release:get(hex_core:default_config(), <<"package">>, <<"1.0.0">>).
  {ok, {200, ..., #{
       <<"checksum">> => <<"540d210d81f56f17f64309a4896430e727972499b37bd59342dc08d61dff74d8">>,
       <<"docs_html_url">> => <<"https://hexdocs.pm/package/1.0.0/">>,
       <<"downloads">> => 740,<<"has_docs">> => true,
       <<"html_url">> => <<"https://hex.pm/packages/package/1.0.0">>,
       <<"inserted_at">> => <<"2014-12-09T18:32:03Z">>,
       <<"meta">> =>
           #{<<"app">> => <<"package">>,
             <<"build_tools">> => [<<"mix">>]},
       <<"package_url">> => <<"https://hex.pm/api/packages/package">>,
       <<"publisher">> => nil,<<"requirements">> => #{},
       <<"retirement">> => nil,
       <<"updated_at">> => <<"2019-07-28T21:12:11Z">>,
       <<"url">> => <<"https://hex.pm/api/packages/package/releases/1.0.0">>,
       <<"version">> => <<"1.0.0">>
       }}}

publish/2


publish(Config::hex_core:config(), Tarball::binary()) -> hex_api:response()

Publishes a new package release.

Examples:

  > hex_api_release:publish(hex_core:default_config(), Tarball).
  {ok, {200, ..., #{
       <<"checksum">> => <<"540d210d81f56f17f64309a4896430e727972499b37bd59342dc08d61dff74d8">>,
       <<"docs_html_url">> => <<"https://hexdocs.pm/package/1.0.0/">>,
       <<"downloads">> => 740,<<"has_docs">> => true,
       <<"html_url">> => <<"https://hex.pm/packages/package/1.0.0">>,
       <<"inserted_at">> => <<"2014-12-09T18:32:03Z">>,
       <<"meta">> =>
           #{<<"app">> => <<"package">>,
             <<"build_tools">> => [<<"mix">>]},
       <<"package_url">> => <<"https://hex.pm/api/packages/package">>,
       <<"publisher">> => nil,<<"requirements">> => #{},
       <<"retirement">> => nil,
       <<"updated_at">> => <<"2019-07-28T21:12:11Z">>,
       <<"url">> => <<"https://hex.pm/api/packages/package/releases/1.0.0">>,
       <<"version">> => <<"1.0.0">>
       }}}

retire/4


retire(Config::hex_core:config(), Name::binary(), Version::binary(), Params::retirement_params()) -> hex_api:response()

Retires a package release.

Examples:

  > hex_api_release:retire(hex_core:default_config(), <<"package">>, <<"1.0.0">>, Params).
  {ok, {204, ..., nil}}

unretire/3


unretire(Config::hex_core:config(), Name::binary(), Version::binary()) -> hex_api:response()

Unretires a package release.

Examples:

  > hex_api_release:unretire(hex_core:default_config(), <<"package">>, <<"1.0.0">>).
  {ok, {204, ..., nil}}