Add backfill function
This commit is contained in:
@@ -6,6 +6,7 @@ defmodule MusicLibrary.Records do
|
|||||||
import Ecto.Query, warn: false
|
import Ecto.Query, warn: false
|
||||||
|
|
||||||
alias MusicLibrary.Artists
|
alias MusicLibrary.Artists
|
||||||
|
alias MusicLibrary.Assets
|
||||||
alias MusicLibrary.Records.{ArtistRecord, Cover, Record, SearchParser}
|
alias MusicLibrary.Records.{ArtistRecord, Cover, Record, SearchParser}
|
||||||
alias MusicLibrary.{BackgroundRepo, Repo, Worker}
|
alias MusicLibrary.{BackgroundRepo, Repo, Worker}
|
||||||
|
|
||||||
@@ -375,4 +376,22 @@ defmodule MusicLibrary.Records do
|
|||||||
{:update, record}
|
{:update, record}
|
||||||
)
|
)
|
||||||
end
|
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
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user