123 lines
2.2 KiB
Elixir
123 lines
2.2 KiB
Elixir
defmodule RiverConnect.Hierarchy do
|
|
@moduledoc """
|
|
The Hierarchy context.
|
|
"""
|
|
|
|
import Ecto.Query, warn: false
|
|
alias RiverConnect.Repo
|
|
|
|
alias RiverConnect.Hierarchy.{Spring, River, Stream, Trench}
|
|
|
|
## Springs
|
|
|
|
def list_springs do
|
|
Repo.all(Spring)
|
|
end
|
|
|
|
def get_spring!(id), do: Repo.get!(Spring, id)
|
|
|
|
def create_spring(attrs \\ %{}) do
|
|
%Spring{}
|
|
|> Spring.changeset(attrs)
|
|
|> Repo.insert()
|
|
end
|
|
|
|
def update_spring(%Spring{} = spring, attrs) do
|
|
spring
|
|
|> Spring.changeset(attrs)
|
|
|> Repo.update()
|
|
end
|
|
|
|
def delete_spring(%Spring{} = spring) do
|
|
Repo.delete(spring)
|
|
end
|
|
|
|
def change_spring(%Spring{} = spring, attrs \\ %{}) do
|
|
Spring.changeset(spring, attrs)
|
|
end
|
|
|
|
## Rivers
|
|
|
|
def list_rivers do
|
|
Repo.all(River)
|
|
end
|
|
|
|
def get_river!(id), do: Repo.get!(River, id)
|
|
|
|
def create_river(attrs \\ %{}) do
|
|
%River{}
|
|
|> River.changeset(attrs)
|
|
|> Repo.insert()
|
|
end
|
|
|
|
def update_river(%River{} = river, attrs) do
|
|
river
|
|
|> River.changeset(attrs)
|
|
|> Repo.update()
|
|
end
|
|
|
|
def delete_river(%River{} = river) do
|
|
Repo.delete(river)
|
|
end
|
|
|
|
def change_river(%River{} = river, attrs \\ %{}) do
|
|
River.changeset(river, attrs)
|
|
end
|
|
|
|
## Streams
|
|
|
|
def list_streams do
|
|
Repo.all(Stream)
|
|
end
|
|
|
|
def get_stream!(id), do: Repo.get!(Stream, id)
|
|
|
|
def create_stream(attrs \\ %{}) do
|
|
%Stream{}
|
|
|> Stream.changeset(attrs)
|
|
|> Repo.insert()
|
|
end
|
|
|
|
def update_stream(%Stream{} = stream, attrs) do
|
|
stream
|
|
|> Stream.changeset(attrs)
|
|
|> Repo.update()
|
|
end
|
|
|
|
def delete_stream(%Stream{} = stream) do
|
|
Repo.delete(stream)
|
|
end
|
|
|
|
def change_stream(%Stream{} = stream, attrs \\ %{}) do
|
|
Stream.changeset(stream, attrs)
|
|
end
|
|
|
|
## Trenches
|
|
|
|
def list_trenches do
|
|
Repo.all(Trench)
|
|
end
|
|
|
|
def get_trench!(id), do: Repo.get!(Trench, id)
|
|
|
|
def create_trench(attrs \\ %{}) do
|
|
%Trench{}
|
|
|> Trench.changeset(attrs)
|
|
|> Repo.insert()
|
|
end
|
|
|
|
def update_trench(%Trench{} = trench, attrs) do
|
|
trench
|
|
|> Trench.changeset(attrs)
|
|
|> Repo.update()
|
|
end
|
|
|
|
def delete_trench(%Trench{} = trench) do
|
|
Repo.delete(trench)
|
|
end
|
|
|
|
def change_trench(%Trench{} = trench, attrs \\ %{}) do
|
|
Trench.changeset(trench, attrs)
|
|
end
|
|
end
|