From 614194830377ec9795c7f5d67112915a9c98f118 Mon Sep 17 00:00:00 2001 From: Hoan Phung Date: Thu, 13 Nov 2025 14:29:23 +0100 Subject: [PATCH 1/3] fix: convert meta options for azure upload --- lib/api/azure/file.ex | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/lib/api/azure/file.ex b/lib/api/azure/file.ex index d167e29..67300b4 100644 --- a/lib/api/azure/file.ex +++ b/lib/api/azure/file.ex @@ -12,11 +12,13 @@ defmodule FileStorageApi.API.Azure.File do @impl true def upload(container_name, connection, filename, blob_name, opts \\ []) do + converted_opts = convert_opts(opts) + case Blob.upload_file( container(container_name, connection), filename, blob_name, - Enum.into(opts, %{}) + converted_opts ) do {:ok, %{request_url: _request_url}} -> {:ok, blob_name || Path.basename(filename)} @@ -83,4 +85,15 @@ defmodule FileStorageApi.API.Azure.File do defp storage_protocol(%{is_development_factory: true}), do: "http" defp storage_protocol(_context), do: "https" + + defp convert_opts(opts) do + opts + |> Enum.map(fn {key, value} -> + case key do + :meta -> {key, Enum.map(value, fn {k, v} -> {String.replace(k, "-", "_"), v} end)} + _ -> {key, value} + end + end) + |> Enum.into(%{}) + end end From 4e022c220742b443dcc775a97ef35d150c0f21a6 Mon Sep 17 00:00:00 2001 From: Hoan Phung Date: Thu, 13 Nov 2025 14:29:45 +0100 Subject: [PATCH 2/3] chore: bump version --- mix.exs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mix.exs b/mix.exs index ca94b19..7971041 100644 --- a/mix.exs +++ b/mix.exs @@ -4,7 +4,7 @@ defmodule FileStorageApi.MixProject do def project do [ app: :file_storage_api, - version: "2.3.2", + version: "2.3.3", elixir: "~> 1.10", elixirc_paths: elixirc_paths(Mix.env()), elixirc_options: [warnings_as_errors: Mix.env() != :test], From 05593e05cccb54e5ebf8e62116e6789421134de8 Mon Sep 17 00:00:00 2001 From: Hoan Phung Date: Thu, 13 Nov 2025 14:42:11 +0100 Subject: [PATCH 3/3] chore: use Map.new instead of Enum.into --- lib/api/azure/file.ex | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/lib/api/azure/file.ex b/lib/api/azure/file.ex index 67300b4..e3719b3 100644 --- a/lib/api/azure/file.ex +++ b/lib/api/azure/file.ex @@ -87,13 +87,11 @@ defmodule FileStorageApi.API.Azure.File do defp storage_protocol(_context), do: "https" defp convert_opts(opts) do - opts - |> Enum.map(fn {key, value} -> + Map.new(opts, fn {key, value} -> case key do :meta -> {key, Enum.map(value, fn {k, v} -> {String.replace(k, "-", "_"), v} end)} _ -> {key, value} end end) - |> Enum.into(%{}) end end