summaryrefslogtreecommitdiff
path: root/lib/aggiedit/uploads.ex
diff options
context:
space:
mode:
Diffstat (limited to 'lib/aggiedit/uploads.ex')
-rw-r--r--lib/aggiedit/uploads.ex104
1 files changed, 104 insertions, 0 deletions
diff --git a/lib/aggiedit/uploads.ex b/lib/aggiedit/uploads.ex
new file mode 100644
index 0000000..2dcdcc3
--- /dev/null
+++ b/lib/aggiedit/uploads.ex
@@ -0,0 +1,104 @@
+defmodule Aggiedit.Uploads do
+ @moduledoc """
+ The Uploads context.
+ """
+
+ import Ecto.Query, warn: false
+ alias Aggiedit.Repo
+
+ alias Aggiedit.Uploads.Upload
+
+ @doc """
+ Returns the list of uploads.
+
+ ## Examples
+
+ iex> list_uploads()
+ [%Upload{}, ...]
+
+ """
+ def list_uploads do
+ Repo.all(Upload)
+ end
+
+ @doc """
+ Gets a single upload.
+
+ Raises `Ecto.NoResultsError` if the Upload does not exist.
+
+ ## Examples
+
+ iex> get_upload!(123)
+ %Upload{}
+
+ iex> get_upload!(456)
+ ** (Ecto.NoResultsError)
+
+ """
+ def get_upload!(id), do: Repo.get!(Upload, id)
+
+ @doc """
+ Creates a upload.
+
+ ## Examples
+
+ iex> create_upload(%{field: value})
+ {:ok, %Upload{}}
+
+ iex> create_upload(%{field: bad_value})
+ {:error, %Ecto.Changeset{}}
+
+ """
+ def create_upload(attrs \\ %{}) do
+ %Upload{}
+ |> Upload.changeset(attrs)
+ |> Repo.insert()
+ end
+
+ @doc """
+ Updates a upload.
+
+ ## Examples
+
+ iex> update_upload(upload, %{field: new_value})
+ {:ok, %Upload{}}
+
+ iex> update_upload(upload, %{field: bad_value})
+ {:error, %Ecto.Changeset{}}
+
+ """
+ def update_upload(%Upload{} = upload, attrs) do
+ upload
+ |> Upload.changeset(attrs)
+ |> Repo.update()
+ end
+
+ @doc """
+ Deletes a upload.
+
+ ## Examples
+
+ iex> delete_upload(upload)
+ {:ok, %Upload{}}
+
+ iex> delete_upload(upload)
+ {:error, %Ecto.Changeset{}}
+
+ """
+ def delete_upload(%Upload{} = upload) do
+ Repo.delete(upload)
+ end
+
+ @doc """
+ Returns an `%Ecto.Changeset{}` for tracking upload changes.
+
+ ## Examples
+
+ iex> change_upload(upload)
+ %Ecto.Changeset{data: %Upload{}}
+
+ """
+ def change_upload(%Upload{} = upload, attrs \\ %{}) do
+ Upload.changeset(upload, attrs)
+ end
+end