From cb7f3c23b0a8435326a96190c40596179f4164ca Mon Sep 17 00:00:00 2001 From: Claudio Ortolina Date: Mon, 1 Sep 2025 13:39:00 +0300 Subject: [PATCH] Add backfill function --- lib/music_library/records.ex | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/lib/music_library/records.ex b/lib/music_library/records.ex index 5cac8511..dc5a2426 100644 --- a/lib/music_library/records.ex +++ b/lib/music_library/records.ex @@ -6,6 +6,7 @@ defmodule MusicLibrary.Records do import Ecto.Query, warn: false alias MusicLibrary.Artists + alias MusicLibrary.Assets alias MusicLibrary.Records.{ArtistRecord, Cover, Record, SearchParser} alias MusicLibrary.{BackgroundRepo, Repo, Worker} @@ -375,4 +376,22 @@ defmodule MusicLibrary.Records do {:update, record} ) end + + def backfill_all_record_assets do + stream = Record |> Repo.stream() + + Repo.transact(fn -> + count = + stream + |> Enum.map(fn record -> + Assets.store_image(%{ + content: record.cover_data, + format: "image/jpeg" + }) + end) + |> Enum.count(fn result -> match?({:ok, _asset}, result) end) + + {:ok, count} + end) + end end