Files
music_library/lib/music_library_web/controllers/last_fm_controller.ex
T
2025-05-07 09:03:47 +01:00

20 lines
592 B
Elixir

defmodule MusicLibraryWeb.LastFmController do
use MusicLibraryWeb, :controller
alias MusicLibrary.Secrets
def callback(conn, %{"token" => token}) do
with {:ok, session} <- LastFm.get_session(token),
{:ok, _secret} <- Secrets.store("last_fm_session_key", session.key) do
conn
|> put_flash(:info, gettext("Successfully connected your Last.fm account"))
|> redirect(to: ~p"/")
else
{:error, reason} ->
conn
|> put_flash(:error, "Failed to connect your Last.fm account: #{reason}")
|> redirect(to: ~p"/")
end
end
end