init: inital commit
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
defmodule Localiser.Domain.Schema.Sensor do
|
||||
use Ecto.Schema
|
||||
import Ecto.Changeset
|
||||
|
||||
alias Localiser.Domain.Schema.Room
|
||||
alias Localiser.Domain.Schema.SensorCalibration
|
||||
|
||||
schema "sensors" do
|
||||
field :sensor_id, :string
|
||||
field :x, :float
|
||||
field :y, :float
|
||||
|
||||
belongs_to :room, Room
|
||||
has_many :calibrations, SensorCalibration
|
||||
|
||||
timestamps(type: :utc_datetime)
|
||||
end
|
||||
|
||||
@doc false
|
||||
def changeset(sensor, attrs) do
|
||||
sensor
|
||||
|> cast(attrs, [:sensor_id, :room_id, :x, :y])
|
||||
|> validate_required([:sensor_id])
|
||||
|> unique_constraint(:sensor_id)
|
||||
|> assoc_constraint(:room)
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user