defmodule BrightWeb.UploadController do use BrightWeb, :controller alias Bright.Streams alias Bright.Streams.Upload def index(conn, _params) do uploads = Streams.list_uploads() render(conn, :index, uploads: uploads) end def new(conn, _params) do changeset = Streams.change_upload(%Upload{}) render(conn, :new, changeset: changeset) end def create(conn, %{"upload" => upload_params}) do case Streams.create_upload(upload_params) do {:ok, upload} -> conn |> put_flash(:info, "Upload created successfully.") |> redirect(to: ~p"/uploads/#{upload}") {:error, %Ecto.Changeset{} = changeset} -> render(conn, :new, changeset: changeset) end end def show(conn, %{"id" => id}) do upload = Streams.get_upload!(id) render(conn, :show, upload: upload) end def edit(conn, %{"id" => id}) do upload = Streams.get_upload!(id) changeset = Streams.change_upload(upload) render(conn, :edit, upload: upload, changeset: changeset) end def update(conn, %{"id" => id, "upload" => upload_params}) do upload = Streams.get_upload!(id) case Streams.update_upload(upload, upload_params) do {:ok, upload} -> conn |> put_flash(:info, "Upload updated successfully.") |> redirect(to: ~p"/uploads/#{upload}") {:error, %Ecto.Changeset{} = changeset} -> render(conn, :edit, upload: upload, changeset: changeset) end end def delete(conn, %{"id" => id}) do upload = Streams.get_upload!(id) {:ok, _upload} = Streams.delete_upload(upload) conn |> put_flash(:info, "Upload deleted successfully.") |> redirect(to: ~p"/uploads") end end