23 lines
561 B
Elixir
23 lines
561 B
Elixir
defmodule RiverConnect.Hierarchy.River do
|
|
use Ecto.Schema
|
|
import Ecto.Changeset
|
|
|
|
@derive {Jason.Encoder, only: [:id, :name, :description, :spring_id, :inserted_at, :updated_at]}
|
|
schema "rivers" do
|
|
field :name, :string
|
|
field :description, :string
|
|
|
|
belongs_to :spring, RiverConnect.Hierarchy.Spring
|
|
has_many :streams, RiverConnect.Hierarchy.Stream
|
|
|
|
timestamps()
|
|
end
|
|
|
|
@doc false
|
|
def changeset(river, attrs) do
|
|
river
|
|
|> cast(attrs, [:name, :description, :spring_id])
|
|
|> validate_required([:name, :spring_id])
|
|
end
|
|
end
|