Files
music_library/lib/music_library_web/controllers/last_fm_controller.ex
T
2025-05-05 20:58:37 +01:00

20 lines
575 B
Elixir

defmodule MusicLibraryWeb.LastFmController do
use MusicLibraryWeb, :controller
def callback(conn, %{"token" => token}) do
case LastFm.get_session(token) do
{:ok, session} ->
conn
|> put_session(:last_fm_user, session.name)
|> put_session(:last_fm_key, session.key)
|> put_flash(:info, "Successfully authenticated with Last.fm.")
|> redirect(to: ~p"/")
{:error, reason} ->
conn
|> put_flash(:error, "Failed to authenticate with Last.fm: #{reason}")
|> redirect(to: ~p"/")
end
end
end