Have records form store the asset as well
This commit is contained in:
@@ -4,8 +4,8 @@ defmodule MusicLibraryWeb.RecordFormComponent do
|
|||||||
import MusicLibraryWeb.RecordComponents,
|
import MusicLibraryWeb.RecordComponents,
|
||||||
only: [format_label: 1, type_label: 1, release_label: 1, release_summary: 1, record_cover: 1]
|
only: [format_label: 1, type_label: 1, release_label: 1, release_summary: 1, record_cover: 1]
|
||||||
|
|
||||||
alias MusicLibrary.Records
|
alias MusicLibrary.{Assets, Records}
|
||||||
alias MusicLibrary.Records.{Cover, Record}
|
alias MusicLibrary.Records.Record
|
||||||
|
|
||||||
@impl true
|
@impl true
|
||||||
def mount(socket) do
|
def mount(socket) do
|
||||||
@@ -174,8 +174,9 @@ defmodule MusicLibraryWeb.RecordFormComponent do
|
|||||||
|
|
||||||
def handle_event("save", %{"record" => record_params}, socket) do
|
def handle_event("save", %{"record" => record_params}, socket) do
|
||||||
uploaded_covers =
|
uploaded_covers =
|
||||||
consume_uploaded_entries(socket, :cover_data, fn %{path: path}, _entry ->
|
consume_uploaded_entries(socket, :cover_data, fn %{path: path}, entry ->
|
||||||
{:ok, File.read!(path)}
|
params = %{content: File.read!(path), format: entry.client_type}
|
||||||
|
{:ok, params}
|
||||||
end)
|
end)
|
||||||
|
|
||||||
save_record(socket, record_params, uploaded_covers)
|
save_record(socket, record_params, uploaded_covers)
|
||||||
@@ -196,9 +197,9 @@ defmodule MusicLibraryWeb.RecordFormComponent do
|
|||||||
[] ->
|
[] ->
|
||||||
record_params
|
record_params
|
||||||
|
|
||||||
[cover_data] ->
|
[cover_params] ->
|
||||||
{:ok, thumb_data} = Cover.resize(cover_data)
|
{:ok, asset} = Assets.store_image(cover_params)
|
||||||
Map.put(record_params, "cover_data", thumb_data)
|
Map.put(record_params, "cover_data", asset.content)
|
||||||
end
|
end
|
||||||
|
|
||||||
case Records.update_record(socket.assigns.record, params) do
|
case Records.update_record(socket.assigns.record, params) do
|
||||||
|
|||||||
Reference in New Issue
Block a user