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

publish_params()


        publish_params() = [{replace, boolean()}]
        

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.
publish/3 Publishes a new package release with query parameters.
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">>
               }}}
        

publish/3


        publish(Config::hexcore:config(), Tarball::binary(), Params::publish_params()) -> hex_api:response()
        

Publishes a new package release with query parameters.

Supported query params :

  • replace : boolean

Examples:

  > hex_api_release:publish(hex_core:default_config(), Tarball, [{replace, true}]).
          {ok, {201, ..., #{
               <<"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}}