Enforce keys for all structs

This commit is contained in:
Claudio Ortolina
2025-01-24 10:35:58 +00:00
parent 3c8b39237c
commit 8bf3de9b55
8 changed files with 16 additions and 0 deletions
+1
View File
@@ -1,4 +1,5 @@
defmodule LastFm.Album do
@enforce_keys [:musicbrainz_id, :title]
defstruct [:musicbrainz_id, :title]
@type t :: %__MODULE__{
+1
View File
@@ -1,4 +1,5 @@
defmodule LastFm.Artist do
@enforce_keys [:musicbrainz_id, :name]
defstruct [:musicbrainz_id, :name, :bio, :image, :play_count]
@type t :: %__MODULE__{
+1
View File
@@ -8,6 +8,7 @@ defmodule LastFm.Config do
user_agent: String.t()
}
@enforce_keys [:api, :api_key, :user]
defstruct api: LastFm.Api,
api_key: "",
user: "",
+9
View File
@@ -7,6 +7,15 @@ defmodule LastFm.Track do
alias LastFm.{Album, Artist}
@enforce_keys [
:musicbrainz_id,
:title,
:artist,
:album,
:cover_url,
:scrobbled_at_uts,
:scrobbled_at_label
]
defstruct [
:musicbrainz_id,
:title,
+1
View File
@@ -4,6 +4,7 @@ defmodule MusicBrainz.Config do
user_agent: String.t()
}
@enforce_keys [:api, :user_agent]
defstruct api: MusicBrainz.APIImpl,
user_agent: "change me"
+1
View File
@@ -1,4 +1,5 @@
defmodule MusicBrainz.ReleaseGroup do
@enforce_keys [:id, :type, :title, :artists, :release]
defstruct [:id, :type, :title, :artists, :release]
def from_api_response(rg) do
+1
View File
@@ -1,3 +1,4 @@
defmodule Obsidian.Entry do
@enforce_keys [:type, :musicbrainz_id, :title, :release, :cover_url, :genres]
defstruct [:type, :musicbrainz_id, :title, :release, :cover_url, :genres]
end
+1
View File
@@ -1,4 +1,5 @@
defmodule OpenAI.Completion do
@enforce_keys [:content]
defstruct content: "",
temperature: 0.2,
role: "user",