Files
localiserd/lib/localiser/domain/schema/room.ex
T
2026-04-16 15:46:00 +02:00

29 lines
638 B
Elixir

defmodule Localiser.Domain.Schema.Room do
use Ecto.Schema
import Ecto.Changeset
alias Localiser.Domain.Schema.Floor
alias Localiser.Domain.Schema.Sensor
schema "rooms" do
field :name, :string
field :width, :float
field :height, :float
field :offset_x, :float
field :offset_y, :float
belongs_to :floor, Floor
has_many :sensors, Sensor
timestamps(type: :utc_datetime)
end
@doc false
def changeset(room, attrs) do
room
|> cast(attrs, [:name, :floor_id, :width, :height, :offset_x, :offset_y])
|> validate_required([:name, :floor_id])
|> assoc_constraint(:floor)
end
end