defmodule DaProductApp.QRProviders do require Logger def call_provider(provider_name, params) do case Application.get_env(:da_product_app, :qr_providers)[provider_name] do nil -> Logger.error("Provider not supported: #{provider_name}") {:error, "Provider not supported"} provider_module -> response = provider_module.generate(params) Logger.info("QRProviders response from #{provider_name}: #{inspect(response)}") response end end end