First pass at uniformed types, specs and docs

- spec public functions (skipping controllers, views, live views and
components)
- use types instead of explanations in docs
- remove redundant docs
- fix typos
This commit is contained in:
Claudio Ortolina
2026-03-06 08:33:11 +00:00
parent 99e30d5fdf
commit 7cf9b4e7f8
81 changed files with 652 additions and 300 deletions
+4
View File
@@ -2,22 +2,26 @@ defmodule MusicLibrary.Notes do
alias MusicLibrary.Notes.Note
alias MusicLibrary.Repo
@spec get_note(atom(), String.t()) :: Note.t() | nil
def get_note(entity, musicbrainz_id) do
Repo.get_by(Note, entity: entity, musicbrainz_id: musicbrainz_id)
end
@spec create_note(Note.t(), map()) :: {:ok, Note.t()} | {:error, Ecto.Changeset.t()}
def create_note(note, attrs) do
note
|> Note.changeset(attrs)
|> Repo.insert()
end
@spec update_note(Note.t(), map()) :: {:ok, Note.t()} | {:error, Ecto.Changeset.t()}
def update_note(note, attrs) do
note
|> Note.changeset(attrs)
|> Repo.update()
end
@spec change_note(Note.t(), map()) :: Ecto.Changeset.t()
def change_note(note, attrs) do
Note.changeset(note, attrs)
end