diff --git a/lib/music_library_web/controllers/health_controller.ex b/lib/music_library_web/controllers/health_controller.ex new file mode 100644 index 00000000..51c9fc74 --- /dev/null +++ b/lib/music_library_web/controllers/health_controller.ex @@ -0,0 +1,19 @@ +defmodule MusicLibraryWeb.HealthController do + use MusicLibraryWeb, :controller + + alias MusicLibrary.Repo + + def index(conn, _params) do + case Repo.query("SELECT 1") do + {:ok, _} -> + conn + |> put_resp_content_type("text/html") + |> send_resp(200, "App is running") + + {:error, _} -> + conn + |> put_resp_content_type("text/html") + |> send_resp(500, "App is not running") + end + end +end diff --git a/lib/music_library_web/router.ex b/lib/music_library_web/router.ex index 31363c74..df87a45e 100644 --- a/lib/music_library_web/router.ex +++ b/lib/music_library_web/router.ex @@ -17,6 +17,7 @@ defmodule MusicLibraryWeb.Router do scope "/", MusicLibraryWeb do pipe_through :browser + get "/health", HealthController, :index get "/images/:record_id", ImageController, :show live "/", RecordLive.Index, :index