Rename /images to /covers

This commit is contained in:
Claudio Ortolina
2024-10-06 16:06:33 +01:00
parent 6913ee2d8d
commit ac27e86fb5
8 changed files with 17 additions and 17 deletions
@@ -1,4 +1,4 @@
defmodule MusicLibraryWeb.ImageController do defmodule MusicLibraryWeb.CoverController do
use MusicLibraryWeb, :controller use MusicLibraryWeb, :controller
alias MusicLibrary.Records alias MusicLibrary.Records
@@ -40,7 +40,7 @@
<dt> <dt>
<img <img
class="absolute max-w-12 rounded-lg shadow" class="absolute max-w-12 rounded-lg shadow"
src={~p"/images/#{@latest_record.id}"} src={~p"/covers/#{@latest_record.id}"}
alt={@latest_record.title} alt={@latest_record.title}
/> />
<p class="ml-16 truncate text-sm font-medium text-gray-500">Latest record</p> <p class="ml-16 truncate text-sm font-medium text-gray-500">Latest record</p>
@@ -28,7 +28,7 @@
<img <img
class="max-w-16 rounded-lg" class="max-w-16 rounded-lg"
alt={record.title} alt={record.title}
src={~p"/images/#{record.id}?vsn=#{record.cover_hash || ""}"} src={~p"/covers/#{record.id}?vsn=#{record.cover_hash || ""}"}
/> />
<span class="absolute right-1 bottom-0 block text-white drop-shadow-md"> <span class="absolute right-1 bottom-0 block text-white drop-shadow-md">
<%= Records.Record.format_short_label(record.format) %> <%= Records.Record.format_short_label(record.format) %>
@@ -15,7 +15,7 @@
<span class="relative block md:inline-block drop-shadow"> <span class="relative block md:inline-block drop-shadow">
<img <img
class="w-full" class="w-full"
src={~p"/images/#{@record.id}?vsn=#{@record.cover_hash || ""}"} src={~p"/covers/#{@record.id}?vsn=#{@record.cover_hash || ""}"}
alt={@record.title} alt={@record.title}
/> />
<span class="absolute right-2 bottom-1 block text-white drop-shadow-md"> <span class="absolute right-2 bottom-1 block text-white drop-shadow-md">
+1 -1
View File
@@ -18,7 +18,7 @@ defmodule MusicLibraryWeb.Router do
pipe_through :browser pipe_through :browser
get "/health", HealthController, :index get "/health", HealthController, :index
get "/images/:record_id", ImageController, :show get "/covers/:record_id", CoverController, :show
get "/", StatsController, :index get "/", StatsController, :index
live "/records", RecordLive.Index, :index live "/records", RecordLive.Index, :index
@@ -1,4 +1,4 @@
defmodule MusicLibraryWeb.ImageControllerTest do defmodule MusicLibraryWeb.CoverControllerTest do
use MusicLibraryWeb.ConnCase use MusicLibraryWeb.ConnCase
import MusicLibrary.RecordsFixtures import MusicLibrary.RecordsFixtures
@@ -7,18 +7,18 @@ defmodule MusicLibraryWeb.ImageControllerTest do
%{record: record_fixture()} %{record: record_fixture()}
end end
describe "GET /images/:record_id" do describe "GET /covers/:record_id" do
setup [:create_record] setup [:create_record]
test "404s when record doesn't exist", %{conn: conn} do test "404s when record doesn't exist", %{conn: conn} do
id = Ecto.UUID.generate() id = Ecto.UUID.generate()
conn = get(conn, ~p"/images/#{id}") conn = get(conn, ~p"/covers/#{id}")
assert text_response(conn, 404) == "Not found" assert text_response(conn, 404) == "Not found"
end end
test "serves the image when etag doesn't exist", %{conn: conn, record: record} do test "serves the cover when etag doesn't exist", %{conn: conn, record: record} do
conn = get(conn, ~p"/images/#{record.id}") conn = get(conn, ~p"/covers/#{record.id}")
assert conn.status == 200 assert conn.status == 200
assert get_resp_header(conn, "content-type") == ["image/jpeg; charset=utf-8"] assert get_resp_header(conn, "content-type") == ["image/jpeg; charset=utf-8"]
@@ -27,11 +27,11 @@ defmodule MusicLibraryWeb.ImageControllerTest do
assert conn.resp_body == record.cover_data assert conn.resp_body == record.cover_data
end end
test "serves the image when etag doesn't match", %{conn: conn, record: record} do test "serves the cover when etag doesn't match", %{conn: conn, record: record} do
conn = conn =
conn conn
|> put_req_header("if-none-match", "invalid-etag") |> put_req_header("if-none-match", "invalid-etag")
|> get(~p"/images/#{record.id}") |> get(~p"/covers/#{record.id}")
assert conn.status == 200 assert conn.status == 200
assert get_resp_header(conn, "content-type") == ["image/jpeg; charset=utf-8"] assert get_resp_header(conn, "content-type") == ["image/jpeg; charset=utf-8"]
@@ -44,7 +44,7 @@ defmodule MusicLibraryWeb.ImageControllerTest do
conn = conn =
conn conn
|> put_req_header("if-none-match", record.cover_hash) |> put_req_header("if-none-match", record.cover_hash)
|> get(~p"/images/#{record.id}") |> get(~p"/covers/#{record.id}")
assert conn.status == 304 assert conn.status == 304
assert get_resp_header(conn, "content-type") == [] assert get_resp_header(conn, "content-type") == []
@@ -46,7 +46,7 @@ defmodule MusicLibraryWeb.RecordIndexTest do
assert record_row_html =~ to_string(record.release) assert record_row_html =~ to_string(record.release)
assert record_row_html =~ Record.format_short_label(record.format) assert record_row_html =~ Record.format_short_label(record.format)
assert record_row_html =~ record.release assert record_row_html =~ record.release
assert record_row_html =~ ~p"/images/#{record.id}?vsn=#{record.cover_hash}" assert record_row_html =~ ~p"/covers/#{record.id}?vsn=#{record.cover_hash}"
for artist <- record.artists do for artist <- record.artists do
assert record_row_html =~ escape(artist["name"]) assert record_row_html =~ escape(artist["name"])
@@ -115,7 +115,7 @@ defmodule MusicLibraryWeb.RecordIndexTest do
record = record_fixture(cover_data: File.read!(marbles_cover_fixture())) record = record_fixture(cover_data: File.read!(marbles_cover_fixture()))
{:ok, form_live, html} = live(conn, ~p"/records/#{record.id}/edit") {:ok, form_live, html} = live(conn, ~p"/records/#{record.id}/edit")
assert html =~ ~p"/images/#{record.id}?vsn=#{record.cover_hash}" assert html =~ ~p"/covers/#{record.id}?vsn=#{record.cover_hash}"
cover_metadata = cover_metadata(raven_cover_fixture()) cover_metadata = cover_metadata(raven_cover_fixture())
@@ -135,7 +135,7 @@ defmodule MusicLibraryWeb.RecordIndexTest do
assert updated_cover.cover_hash !== record.cover_hash assert updated_cover.cover_hash !== record.cover_hash
assert list_html =~ ~p"/images/#{record.id}?vsn=#{updated_cover.cover_hash}" assert list_html =~ ~p"/covers/#{record.id}?vsn=#{updated_cover.cover_hash}"
end end
defp cover_metadata(path) do defp cover_metadata(path) do
@@ -35,7 +35,7 @@ defmodule MusicLibraryWeb.RecordShowTest do
assert html =~ to_string(record.release) assert html =~ to_string(record.release)
assert html =~ Record.format_short_label(record.format) assert html =~ Record.format_short_label(record.format)
assert html =~ record.release assert html =~ record.release
assert html =~ ~p"/images/#{record.id}?vsn=#{record.cover_hash}" assert html =~ ~p"/covers/#{record.id}?vsn=#{record.cover_hash}"
for artist <- record.artists do for artist <- record.artists do
assert html =~ escape(artist["name"]) assert html =~ escape(artist["name"])