Consolidate hashing into Cover module

This commit is contained in:
Claudio Ortolina
2024-12-31 11:56:47 +00:00
parent 68b2d48228
commit 6a51251d55
2 changed files with 7 additions and 6 deletions
+4
View File
@@ -6,6 +6,10 @@ defmodule MusicLibrary.Records.Cover do
Vix.Vips.Image.write_to_buffer(thumb, ".jpg")
end
def hash(cover_data) do
:crypto.hash(:sha256, cover_data) |> Base.encode16()
end
def correct_size?(cover_data) do
{:ok, image} = Vix.Vips.Image.new_from_buffer(cover_data)
+3 -6
View File
@@ -2,7 +2,7 @@ defmodule MusicLibrary.Records.Record do
use Ecto.Schema
import Ecto.Changeset
alias MusicLibrary.Records.Artist
alias MusicLibrary.Records.{Artist, Cover}
@formats [:cd, :vinyl, :blu_ray, :dvd, :multi]
@types [:album, :ep, :live, :compilation, :single, :other]
@@ -159,11 +159,9 @@ defmodule MusicLibrary.Records.Record do
end
def generate_cover_hash(record = %__MODULE__{cover_data: cover_data}) do
hash = :crypto.hash(:sha256, cover_data) |> Base.encode16()
record
|> change()
|> put_change(:cover_hash, hash)
|> put_change(:cover_hash, Cover.hash(cover_data))
end
def generate_cover_hash(changeset) do
@@ -172,8 +170,7 @@ defmodule MusicLibrary.Records.Record do
changeset
cover_data ->
hash = :crypto.hash(:sha256, cover_data) |> Base.encode16()
put_change(changeset, :cover_hash, hash)
put_change(changeset, :cover_hash, Cover.hash(cover_data))
end
end