From a19c13dc3816d4c10daa824bb77e0003fe2701b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Wo=CC=88ginger?= Date: Mon, 4 Dec 2023 21:22:20 +0100 Subject: [PATCH] remove all generated controller code --- .../controllers/api/episode_controller.ex | 43 --------- .../controllers/api/podcast_controller.ex | 43 --------- .../controllers/api/station_controller.ex | 43 --------- .../controllers/fallback_controller.ex | 24 ----- lib/radiator_web/router.ex | 7 +- lib/radiator_web/views/api/episode_json.ex | 24 ----- lib/radiator_web/views/api/podcast_json.ex | 25 ------ lib/radiator_web/views/api/station_json.ex | 24 ----- .../api/episode_controller_test.exs | 84 ------------------ .../api/podcast_controller_test.exs | 88 ------------------- .../api/station_controller_test.exs | 84 ------------------ 11 files changed, 2 insertions(+), 487 deletions(-) delete mode 100644 lib/radiator_web/controllers/api/episode_controller.ex delete mode 100644 lib/radiator_web/controllers/api/podcast_controller.ex delete mode 100644 lib/radiator_web/controllers/api/station_controller.ex delete mode 100644 lib/radiator_web/controllers/fallback_controller.ex delete mode 100644 lib/radiator_web/views/api/episode_json.ex delete mode 100644 lib/radiator_web/views/api/podcast_json.ex delete mode 100644 lib/radiator_web/views/api/station_json.ex delete mode 100644 test/radiator_web/controllers/api/episode_controller_test.exs delete mode 100644 test/radiator_web/controllers/api/podcast_controller_test.exs delete mode 100644 test/radiator_web/controllers/api/station_controller_test.exs diff --git a/lib/radiator_web/controllers/api/episode_controller.ex b/lib/radiator_web/controllers/api/episode_controller.ex deleted file mode 100644 index b4594683..00000000 --- a/lib/radiator_web/controllers/api/episode_controller.ex +++ /dev/null @@ -1,43 +0,0 @@ -defmodule RadiatorWeb.Api.EpisodeController do - use RadiatorWeb, :controller - - alias Radiator.Podcasts - alias Radiator.Podcasts.Episode - - action_fallback RadiatorWeb.FallbackController - - def index(conn, _params) do - episodes = Podcasts.list_episodes() - render(conn, :index, episodes: episodes) - end - - def create(conn, %{"episode" => episode_params}) do - with {:ok, %Episode{} = episode} <- Podcasts.create_episode(episode_params) do - conn - |> put_status(:created) - |> put_resp_header("location", ~p"/api/v1/episodes/#{episode}") - |> render(:show, episode: episode) - end - end - - def show(conn, %{"id" => id}) do - episode = Podcasts.get_episode!(id) - render(conn, :show, episode: episode) - end - - def update(conn, %{"id" => id, "episode" => episode_params}) do - episode = Podcasts.get_episode!(id) - - with {:ok, %Episode{} = episode} <- Podcasts.update_episode(episode, episode_params) do - render(conn, :show, episode: episode) - end - end - - def delete(conn, %{"id" => id}) do - episode = Podcasts.get_episode!(id) - - with {:ok, %Episode{}} <- Podcasts.delete_episode(episode) do - send_resp(conn, :no_content, "") - end - end -end diff --git a/lib/radiator_web/controllers/api/podcast_controller.ex b/lib/radiator_web/controllers/api/podcast_controller.ex deleted file mode 100644 index 2f8da22f..00000000 --- a/lib/radiator_web/controllers/api/podcast_controller.ex +++ /dev/null @@ -1,43 +0,0 @@ -defmodule RadiatorWeb.Api.PodcastController do - use RadiatorWeb, :controller - - alias Radiator.Podcasts - alias Radiator.Podcasts.Podcast - - action_fallback RadiatorWeb.FallbackController - - def index(conn, _params) do - podcasts = Podcasts.list_podcasts() - render(conn, :index, podcasts: podcasts) - end - - def create(conn, %{"podcast" => podcast_params}) do - with {:ok, %Podcast{} = podcast} <- Podcasts.create_podcast(podcast_params) do - conn - |> put_status(:created) - |> put_resp_header("location", ~p"/api/v1/podcasts/#{podcast}") - |> render(:show, podcast: podcast) - end - end - - def show(conn, %{"id" => id}) do - podcast = Podcasts.get_podcast!(id) - render(conn, :show, podcast: podcast) - end - - def update(conn, %{"id" => id, "podcast" => podcast_params}) do - podcast = Podcasts.get_podcast!(id) - - with {:ok, %Podcast{} = podcast} <- Podcasts.update_podcast(podcast, podcast_params) do - render(conn, :show, podcast: podcast) - end - end - - def delete(conn, %{"id" => id}) do - podcast = Podcasts.get_podcast!(id) - - with {:ok, %Podcast{}} <- Podcasts.delete_podcast(podcast) do - send_resp(conn, :no_content, "") - end - end -end diff --git a/lib/radiator_web/controllers/api/station_controller.ex b/lib/radiator_web/controllers/api/station_controller.ex deleted file mode 100644 index 6e5c09c3..00000000 --- a/lib/radiator_web/controllers/api/station_controller.ex +++ /dev/null @@ -1,43 +0,0 @@ -defmodule RadiatorWeb.Api.StationController do - use RadiatorWeb, :controller - - alias Radiator.Podcasts - alias Radiator.Podcasts.Station - - action_fallback RadiatorWeb.FallbackController - - def index(conn, _params) do - stations = Podcasts.list_stations() - render(conn, :index, stations: stations) - end - - def create(conn, %{"station" => station_params}) do - with {:ok, %Station{} = station} <- Podcasts.create_station(station_params) do - conn - |> put_status(:created) - |> put_resp_header("location", ~p"/api/v1/stations/#{station}") - |> render(:show, station: station) - end - end - - def show(conn, %{"id" => id}) do - station = Podcasts.get_station!(id) - render(conn, :show, station: station) - end - - def update(conn, %{"id" => id, "station" => station_params}) do - station = Podcasts.get_station!(id) - - with {:ok, %Station{} = station} <- Podcasts.update_station(station, station_params) do - render(conn, :show, station: station) - end - end - - def delete(conn, %{"id" => id}) do - station = Podcasts.get_station!(id) - - with {:ok, %Station{}} <- Podcasts.delete_station(station) do - send_resp(conn, :no_content, "") - end - end -end diff --git a/lib/radiator_web/controllers/fallback_controller.ex b/lib/radiator_web/controllers/fallback_controller.ex deleted file mode 100644 index c5fc28a2..00000000 --- a/lib/radiator_web/controllers/fallback_controller.ex +++ /dev/null @@ -1,24 +0,0 @@ -defmodule RadiatorWeb.FallbackController do - @moduledoc """ - Translates controller action results into valid `Plug.Conn` responses. - - See `Phoenix.Controller.action_fallback/1` for more details. - """ - use RadiatorWeb, :controller - - # This clause handles errors returned by Ecto's insert/update/delete. - def call(conn, {:error, %Ecto.Changeset{} = changeset}) do - conn - |> put_status(:unprocessable_entity) - |> put_view(json: RadiatorWeb.ChangesetJSON) - |> render(:error, changeset: changeset) - end - - # This clause is an example of how to handle resources that cannot be found. - def call(conn, {:error, :not_found}) do - conn - |> put_status(:not_found) - |> put_view(html: RadiatorWeb.ErrorHTML, json: RadiatorWeb.ErrorJSON) - |> render(:"404") - end -end diff --git a/lib/radiator_web/router.ex b/lib/radiator_web/router.ex index 41ef7502..e1ab8932 100644 --- a/lib/radiator_web/router.ex +++ b/lib/radiator_web/router.ex @@ -24,13 +24,10 @@ defmodule RadiatorWeb.Router do end # Other scopes may use custom stacks. - scope "/api/v1", RadiatorWeb.Api do + scope "/api", RadiatorWeb.Api do pipe_through :api - post "/outline", OutlineController, :create - resources "/stations", StationController, except: [:new, :edit] - resources "/podcasts", PodcastController, except: [:new, :edit] - resources "/episodes", EpisodeController, except: [:new, :edit] + post "/v1/outline", OutlineController, :create end # Enable LiveDashboard and Swoosh mailbox preview in development diff --git a/lib/radiator_web/views/api/episode_json.ex b/lib/radiator_web/views/api/episode_json.ex deleted file mode 100644 index 25742607..00000000 --- a/lib/radiator_web/views/api/episode_json.ex +++ /dev/null @@ -1,24 +0,0 @@ -defmodule RadiatorWeb.Api.EpisodeJSON do - alias Radiator.Podcasts.Episode - - @doc """ - Renders a list of episodes. - """ - def index(%{episodes: episodes}) do - %{data: for(episode <- episodes, do: data(episode))} - end - - @doc """ - Renders a single episode. - """ - def show(%{episode: episode}) do - %{data: data(episode)} - end - - defp data(%Episode{} = episode) do - %{ - id: episode.id, - title: episode.title - } - end -end diff --git a/lib/radiator_web/views/api/podcast_json.ex b/lib/radiator_web/views/api/podcast_json.ex deleted file mode 100644 index 302f0f41..00000000 --- a/lib/radiator_web/views/api/podcast_json.ex +++ /dev/null @@ -1,25 +0,0 @@ -defmodule RadiatorWeb.Api.PodcastJSON do - alias Radiator.Podcasts.Podcast - - @doc """ - Renders a list of podcasts. - """ - def index(%{podcasts: podcasts}) do - %{data: for(podcast <- podcasts, do: data(podcast))} - end - - @doc """ - Renders a single podcast. - """ - def show(%{podcast: podcast}) do - %{data: data(podcast)} - end - - defp data(%Podcast{} = podcast) do - %{ - id: podcast.id, - title: podcast.title, - hostname: podcast.hostname - } - end -end diff --git a/lib/radiator_web/views/api/station_json.ex b/lib/radiator_web/views/api/station_json.ex deleted file mode 100644 index 7748c406..00000000 --- a/lib/radiator_web/views/api/station_json.ex +++ /dev/null @@ -1,24 +0,0 @@ -defmodule RadiatorWeb.Api.StationJSON do - alias Radiator.Podcasts.Station - - @doc """ - Renders a list of stations. - """ - def index(%{stations: stations}) do - %{data: for(station <- stations, do: data(station))} - end - - @doc """ - Renders a single station. - """ - def show(%{station: station}) do - %{data: data(station)} - end - - defp data(%Station{} = station) do - %{ - id: station.id, - title: station.title - } - end -end diff --git a/test/radiator_web/controllers/api/episode_controller_test.exs b/test/radiator_web/controllers/api/episode_controller_test.exs deleted file mode 100644 index 632d4810..00000000 --- a/test/radiator_web/controllers/api/episode_controller_test.exs +++ /dev/null @@ -1,84 +0,0 @@ -defmodule RadiatorWeb.Api.EpisodeControllerTest do - use RadiatorWeb.ConnCase - - import Radiator.PodcastsFixtures - - alias Radiator.Podcasts.Episode - - @create_attrs %{ - title: "some title" - } - @update_attrs %{ - title: "some updated title" - } - @invalid_attrs %{title: nil} - - setup %{conn: conn} do - {:ok, conn: put_req_header(conn, "accept", "application/json")} - end - - describe "index" do - test "lists all episodes", %{conn: conn} do - conn = get(conn, ~p"/api/v1/episodes") - assert json_response(conn, 200)["data"] == [] - end - end - - describe "create episode" do - test "renders episode when data is valid", %{conn: conn} do - conn = post(conn, ~p"/api/v1/episodes", episode: @create_attrs) - assert %{"id" => id} = json_response(conn, 201)["data"] - - conn = get(conn, ~p"/api/v1/episodes/#{id}") - - assert %{ - "id" => ^id, - "title" => "some title" - } = json_response(conn, 200)["data"] - end - - test "renders errors when data is invalid", %{conn: conn} do - conn = post(conn, ~p"/api/v1/episodes", episode: @invalid_attrs) - assert json_response(conn, 422)["errors"] != %{} - end - end - - describe "update episode" do - setup [:create_episode] - - test "renders episode when data is valid", %{conn: conn, episode: %Episode{id: id} = episode} do - conn = put(conn, ~p"/api/v1/episodes/#{episode}", episode: @update_attrs) - assert %{"id" => ^id} = json_response(conn, 200)["data"] - - conn = get(conn, ~p"/api/v1/episodes/#{id}") - - assert %{ - "id" => ^id, - "title" => "some updated title" - } = json_response(conn, 200)["data"] - end - - test "renders errors when data is invalid", %{conn: conn, episode: episode} do - conn = put(conn, ~p"/api/v1/episodes/#{episode}", episode: @invalid_attrs) - assert json_response(conn, 422)["errors"] != %{} - end - end - - describe "delete episode" do - setup [:create_episode] - - test "deletes chosen episode", %{conn: conn, episode: episode} do - conn = delete(conn, ~p"/api/v1/episodes/#{episode}") - assert response(conn, 204) - - assert_error_sent 404, fn -> - get(conn, ~p"/api/v1/episodes/#{episode}") - end - end - end - - defp create_episode(_) do - episode = episode_fixture() - %{episode: episode} - end -end diff --git a/test/radiator_web/controllers/api/podcast_controller_test.exs b/test/radiator_web/controllers/api/podcast_controller_test.exs deleted file mode 100644 index 7043bbf4..00000000 --- a/test/radiator_web/controllers/api/podcast_controller_test.exs +++ /dev/null @@ -1,88 +0,0 @@ -defmodule RadiatorWeb.Api.PodcastControllerTest do - use RadiatorWeb.ConnCase - - import Radiator.PodcastsFixtures - - alias Radiator.Podcasts.Podcast - - @create_attrs %{ - title: "some title", - hostname: "some hostname" - } - @update_attrs %{ - title: "some updated title", - hostname: "some updated hostname" - } - @invalid_attrs %{title: nil, hostname: nil} - - setup %{conn: conn} do - {:ok, conn: put_req_header(conn, "accept", "application/json")} - end - - describe "index" do - test "lists all podcasts", %{conn: conn} do - conn = get(conn, ~p"/api/v1/podcasts") - assert json_response(conn, 200)["data"] == [] - end - end - - describe "create podcast" do - test "renders podcast when data is valid", %{conn: conn} do - conn = post(conn, ~p"/api/v1/podcasts", podcast: @create_attrs) - assert %{"id" => id} = json_response(conn, 201)["data"] - - conn = get(conn, ~p"/api/v1/podcasts/#{id}") - - assert %{ - "id" => ^id, - "hostname" => "some hostname", - "title" => "some title" - } = json_response(conn, 200)["data"] - end - - test "renders errors when data is invalid", %{conn: conn} do - conn = post(conn, ~p"/api/v1/podcasts", podcast: @invalid_attrs) - assert json_response(conn, 422)["errors"] != %{} - end - end - - describe "update podcast" do - setup [:create_podcast] - - test "renders podcast when data is valid", %{conn: conn, podcast: %Podcast{id: id} = podcast} do - conn = put(conn, ~p"/api/v1/podcasts/#{podcast}", podcast: @update_attrs) - assert %{"id" => ^id} = json_response(conn, 200)["data"] - - conn = get(conn, ~p"/api/v1/podcasts/#{id}") - - assert %{ - "id" => ^id, - "hostname" => "some updated hostname", - "title" => "some updated title" - } = json_response(conn, 200)["data"] - end - - test "renders errors when data is invalid", %{conn: conn, podcast: podcast} do - conn = put(conn, ~p"/api/v1/podcasts/#{podcast}", podcast: @invalid_attrs) - assert json_response(conn, 422)["errors"] != %{} - end - end - - describe "delete podcast" do - setup [:create_podcast] - - test "deletes chosen podcast", %{conn: conn, podcast: podcast} do - conn = delete(conn, ~p"/api/v1/podcasts/#{podcast}") - assert response(conn, 204) - - assert_error_sent 404, fn -> - get(conn, ~p"/api/v1/podcasts/#{podcast}") - end - end - end - - defp create_podcast(_) do - podcast = podcast_fixture() - %{podcast: podcast} - end -end diff --git a/test/radiator_web/controllers/api/station_controller_test.exs b/test/radiator_web/controllers/api/station_controller_test.exs deleted file mode 100644 index 45c337ae..00000000 --- a/test/radiator_web/controllers/api/station_controller_test.exs +++ /dev/null @@ -1,84 +0,0 @@ -defmodule RadiatorWeb.StationControllerTest do - use RadiatorWeb.ConnCase - - import Radiator.PodcastFixtures - - alias Radiator.Podcasts.Station - - @create_attrs %{ - title: "my wunderbar station" - } - @update_attrs %{ - title: "my wunderbar station updated" - } - @invalid_attrs %{title: nil} - - setup %{conn: conn} do - {:ok, conn: put_req_header(conn, "accept", "application/json")} - end - - describe "index" do - test "lists all stations", %{conn: conn} do - conn = get(conn, ~p"/api/v1/stations") - assert json_response(conn, 200)["data"] == [] - end - end - - describe "create station" do - test "renders station when data is valid", %{conn: conn} do - conn = post(conn, ~p"/api/v1/stations", station: @create_attrs) - assert %{"id" => id} = json_response(conn, 201)["data"] - - conn = get(conn, ~p"/api/v1/stations/#{id}") - - assert %{ - "id" => ^id, - "title" => "my wunderbar station" - } = json_response(conn, 200)["data"] - end - - test "renders errors when data is invalid", %{conn: conn} do - conn = post(conn, ~p"/api/v1/stations", station: @invalid_attrs) - assert json_response(conn, 422)["errors"] != %{} - end - end - - describe "update station" do - setup [:create_station] - - test "renders station when data is valid", %{conn: conn, station: %Station{id: id} = station} do - conn = put(conn, ~p"/api/v1/stations/#{station}", station: @update_attrs) - assert %{"id" => ^id} = json_response(conn, 200)["data"] - - conn = get(conn, ~p"/api/v1/stations/#{id}") - - assert %{ - "id" => ^id, - "title" => "my wunderbar station updated" - } = json_response(conn, 200)["data"] - end - - test "renders errors when data is invalid", %{conn: conn, station: station} do - conn = put(conn, ~p"/api/v1/stations/#{station}", station: @invalid_attrs) - assert json_response(conn, 422)["errors"] != %{} - end - end - - describe "delete station" do - setup [:create_station] - - test "deletes chosen station", %{conn: conn, station: station} do - conn = delete(conn, ~p"/api/v1/stations/#{station}") - assert response(conn, 204) - - assert_error_sent 404, fn -> - get(conn, ~p"/api/v1/stations/#{station}") - end - end - end - - defp create_station(_) do - station = station_fixture() - %{station: station} - end -end