Add Transform.new/1

This commit is contained in:
Claudio Ortolina
2025-09-19 23:58:09 +03:00
parent 2e8399c44b
commit c5d856fdd8
4 changed files with 6 additions and 4 deletions
+2
View File
@@ -5,6 +5,8 @@ defmodule MusicLibrary.Assets.Transform do
@type t :: %__MODULE__{}
@type payload :: String.t()
def new(attrs \\ %{}), do: struct!(__MODULE__, attrs)
@doc """
iex> alias MusicLibrary.Assets.Transform
iex> transform = %Transform{hash: "abc123", width: 300}
@@ -10,7 +10,7 @@ defmodule MusicLibraryWeb.ArtistComponents do
def artist_image(assigns) do
payload =
%Transform{hash: assigns.image_hash, width: assigns.width}
Transform.new(hash: assigns.image_hash, width: assigns.width)
|> Transform.encode!()
assigns = assign(assigns, :payload, payload)
@@ -12,7 +12,7 @@ defmodule MusicLibraryWeb.RecordComponents do
def record_cover(assigns) do
payload =
%Transform{hash: assigns.record.cover_hash, width: assigns.width}
Transform.new(hash: assigns.record.cover_hash, width: assigns.width)
|> Transform.encode!()
assigns = assign(assigns, :payload, payload)
@@ -21,8 +21,8 @@ defmodule MusicLibraryWeb.CollectionJSON do
id: record.id,
artists: Enum.map(record.artists, & &1.name),
title: record.title,
cover_url: url(~p"/api/assets/#{%Transform{hash: record.cover_hash}}"),
thumb_url: url(~p"/api/assets/#{%Transform{hash: record.cover_hash, width: 480}}")
cover_url: url(~p"/api/assets/#{Transform.new(hash: record.cover_hash)}"),
thumb_url: url(~p"/api/assets/#{Transform.new(hash: record.cover_hash, width: 480)}")
}
end
end