Update Asset commands for Sensors
parent
e9fca5515e
commit
fc9f31cfa8
|
@ -241,8 +241,19 @@ defmodule FarmbotCore.Asset do
|
|||
|
||||
## Begin Sensor
|
||||
|
||||
def get_sensor(args) do
|
||||
Repo.get_by(Sensor, args)
|
||||
def get_sensor(id) do
|
||||
Repo.get_by(Sensor, id: id)
|
||||
end
|
||||
|
||||
def new_sensor!(params) do
|
||||
Sensor.changeset(%Sensor{}, params)
|
||||
|> Repo.insert!()
|
||||
end
|
||||
|
||||
def update_sensor!(sensor, params) do
|
||||
sensor
|
||||
|> Sensor.changeset(params)
|
||||
|> Repo.update!()
|
||||
end
|
||||
|
||||
## End Sensor
|
||||
|
|
|
@ -71,6 +71,15 @@ defmodule FarmbotCore.Asset.Command do
|
|||
:ok
|
||||
end
|
||||
|
||||
def update("Sensor", id, params) do
|
||||
old = Asset.get_sensor(id)
|
||||
if old,
|
||||
do: Asset.update_sensor!(old, params),
|
||||
else: Asset.new_sensor!(params)
|
||||
|
||||
:ok
|
||||
end
|
||||
|
||||
# Catch-all use case:
|
||||
def update(asset_kind, id, params) do
|
||||
Logger.warn "Implement me: #{asset_kind}"
|
||||
|
|
|
@ -220,7 +220,7 @@ defmodule FarmbotOS.SysCalls do
|
|||
end
|
||||
|
||||
def named_pin("Sensor", id) do
|
||||
case Asset.get_sensor(id: id) do
|
||||
case Asset.get_sensor(id) do
|
||||
%{pin: pin} -> pin
|
||||
nil -> {:error, "Could not find peripheral by id: #{id}"}
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue