Files
music_library/lib/music_library/secrets.ex
T
Claudio Ortolina 7cf9b4e7f8 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
2026-03-06 08:33:11 +00:00

22 lines
529 B
Elixir

defmodule MusicLibrary.Secrets do
alias MusicLibrary.Repo
alias MusicLibrary.Secrets.Secret
@spec store(String.t(), String.t()) :: {:ok, Secret.t()} | {:error, Ecto.Changeset.t()}
def store(name, value) do
%Secret{}
|> Secret.changeset(%{name: name, value: value})
|> Repo.insert(on_conflict: :replace_all)
end
@spec get!(String.t()) :: Secret.t()
def get!(name) do
Repo.get!(Secret, name)
end
@spec get(String.t()) :: Secret.t() | nil
def get(name) do
Repo.get(Secret, name)
end
end