mirror of
https://github.com/philomena-dev/philomena.git
synced 2025-02-07 23:06:42 +01:00
92 lines
1.9 KiB
Elixir
92 lines
1.9 KiB
Elixir
|
defmodule Philomena.SourceChanges do
|
||
|
@moduledoc """
|
||
|
The SourceChanges context.
|
||
|
"""
|
||
|
|
||
|
import Ecto.Query, warn: false
|
||
|
alias Philomena.Repo
|
||
|
|
||
|
alias Philomena.SourceChanges.SourceChange
|
||
|
|
||
|
@doc """
|
||
|
Gets a single source_change.
|
||
|
|
||
|
Raises `Ecto.NoResultsError` if the Source change does not exist.
|
||
|
|
||
|
## Examples
|
||
|
|
||
|
iex> get_source_change!(123)
|
||
|
%SourceChange{}
|
||
|
|
||
|
iex> get_source_change!(456)
|
||
|
** (Ecto.NoResultsError)
|
||
|
|
||
|
"""
|
||
|
def get_source_change!(id), do: Repo.get!(SourceChange, id)
|
||
|
|
||
|
@doc """
|
||
|
Creates a source_change.
|
||
|
|
||
|
## Examples
|
||
|
|
||
|
iex> create_source_change(%{field: value})
|
||
|
{:ok, %SourceChange{}}
|
||
|
|
||
|
iex> create_source_change(%{field: bad_value})
|
||
|
{:error, %Ecto.Changeset{}}
|
||
|
|
||
|
"""
|
||
|
def create_source_change(attrs \\ %{}) do
|
||
|
%SourceChange{}
|
||
|
|> SourceChange.changeset(attrs)
|
||
|
|> Repo.insert()
|
||
|
end
|
||
|
|
||
|
@doc """
|
||
|
Updates a source_change.
|
||
|
|
||
|
## Examples
|
||
|
|
||
|
iex> update_source_change(source_change, %{field: new_value})
|
||
|
{:ok, %SourceChange{}}
|
||
|
|
||
|
iex> update_source_change(source_change, %{field: bad_value})
|
||
|
{:error, %Ecto.Changeset{}}
|
||
|
|
||
|
"""
|
||
|
def update_source_change(%SourceChange{} = source_change, attrs) do
|
||
|
source_change
|
||
|
|> SourceChange.changeset(attrs)
|
||
|
|> Repo.update()
|
||
|
end
|
||
|
|
||
|
@doc """
|
||
|
Deletes a SourceChange.
|
||
|
|
||
|
## Examples
|
||
|
|
||
|
iex> delete_source_change(source_change)
|
||
|
{:ok, %SourceChange{}}
|
||
|
|
||
|
iex> delete_source_change(source_change)
|
||
|
{:error, %Ecto.Changeset{}}
|
||
|
|
||
|
"""
|
||
|
def delete_source_change(%SourceChange{} = source_change) do
|
||
|
Repo.delete(source_change)
|
||
|
end
|
||
|
|
||
|
@doc """
|
||
|
Returns an `%Ecto.Changeset{}` for tracking source_change changes.
|
||
|
|
||
|
## Examples
|
||
|
|
||
|
iex> change_source_change(source_change)
|
||
|
%Ecto.Changeset{source: %SourceChange{}}
|
||
|
|
||
|
"""
|
||
|
def change_source_change(%SourceChange{} = source_change) do
|
||
|
SourceChange.changeset(source_change, %{})
|
||
|
end
|
||
|
end
|