defmodule Mix.Tasks.DigitalToken.Registry.Update do @moduledoc """ Updates the digital token registry data. """ use Mix.Task require Logger @shortdoc "Update digital token registry data" @url "https://download.dtif.org/data.json" @priv_dir Application.app_dir(:digital_token, "priv") @output_file_name Path.join(@priv_dir, "digital_token_registry.json") @doc false def run(_) do require Logger case Cldr.Http.get(@url) do {:ok, body} -> File.write!(@output_file_name, body) Logger.info "Updated digital token registry at #{@output_file_name}" {:error, reason} -> Logger.warning "Failed to update digital token registry. #{inspect reason}" end end end