Move Farmbot.Repo.<resource> namespace to Farmbot.Asset.<resource>
parent
3c552cef31
commit
191c2baf91
|
@ -57,4 +57,4 @@ static ErlNifFunc nif_funcs[] =
|
|||
{"do_build_calendar", 5, do_build_calendar}
|
||||
};
|
||||
|
||||
ERL_NIF_INIT(Elixir.Farmbot.Repo.FarmEvent, nif_funcs, NULL,NULL,NULL,NULL)
|
||||
ERL_NIF_INIT(Elixir.Farmbot.Asset.FarmEvent, nif_funcs, NULL,NULL,NULL,NULL)
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
defmodule Farmbot.Repo.Context do
|
||||
defmodule Farmbot.Asset do
|
||||
@moduledoc """
|
||||
Hello Phoenix.
|
||||
"""
|
||||
|
||||
alias Farmbot.Repo
|
||||
alias Repo.{
|
||||
alias Farmbot.Asset
|
||||
alias Asset.{
|
||||
Peripheral,
|
||||
Sensor
|
||||
}
|
||||
|
@ -21,5 +21,5 @@ defmodule Farmbot.Repo.Context do
|
|||
repo().one(from s in Sensor, where: s.id == ^id)
|
||||
end
|
||||
|
||||
defp repo, do: Repo.current_repo()
|
||||
defp repo, do: Farmbot.Repo.current_repo()
|
||||
end
|
|
@ -1,4 +1,4 @@
|
|||
defmodule Farmbot.Repo.Device do
|
||||
defmodule Farmbot.Asset.Device do
|
||||
@moduledoc """
|
||||
"""
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
defmodule Farmbot.Repo.FarmEvent do
|
||||
defmodule Farmbot.Asset.FarmEvent do
|
||||
@moduledoc """
|
||||
FarmEvent's are events that happen on a schedule.
|
||||
When it is time for the event to execute one of several things may happen:
|
|
@ -1,4 +1,4 @@
|
|||
defmodule Farmbot.Repo.GenericPointer do
|
||||
defmodule Farmbot.Asset.GenericPointer do
|
||||
@moduledoc "A GenericPointer is just a normal pointer with no special stuff."
|
||||
|
||||
use Ecto.Schema
|
|
@ -1,4 +1,4 @@
|
|||
defmodule Farmbot.Repo.Peripheral do
|
||||
defmodule Farmbot.Asset.Peripheral do
|
||||
@moduledoc """
|
||||
Peripherals are descriptors for pins/modes.
|
||||
"""
|
|
@ -1,4 +1,4 @@
|
|||
defmodule Farmbot.Repo.Point do
|
||||
defmodule Farmbot.Asset.Point do
|
||||
@moduledoc "A Point is a location in the planting bed as denoted by X Y and Z."
|
||||
|
||||
use Ecto.Schema
|
|
@ -1,4 +1,4 @@
|
|||
defmodule Farmbot.Repo.Regimen do
|
||||
defmodule Farmbot.Asset.Regimen do
|
||||
@moduledoc """
|
||||
A Regimen is a schedule to run sequences on.
|
||||
"""
|
|
@ -1,4 +1,4 @@
|
|||
defmodule Farmbot.Repo.Sensor do
|
||||
defmodule Farmbot.Asset.Sensor do
|
||||
@moduledoc """
|
||||
Sensors are descriptors for pins/modes.
|
||||
"""
|
|
@ -1,4 +1,4 @@
|
|||
defmodule Farmbot.Repo.Sequence do
|
||||
defmodule Farmbot.Asset.Sequence do
|
||||
@moduledoc """
|
||||
A Sequence is a list of CeleryScript nodes.
|
||||
"""
|
|
@ -1,4 +1,4 @@
|
|||
defmodule Farmbot.Repo.Tool do
|
||||
defmodule Farmbot.Asset.Tool do
|
||||
@moduledoc "A Tool is an item that lives in a ToolSlot"
|
||||
|
||||
use Ecto.Schema
|
|
@ -1,4 +1,4 @@
|
|||
defmodule Farmbot.Repo.ToolSlot do
|
||||
defmodule Farmbot.Asset.ToolSlot do
|
||||
@moduledoc "A ToolSlot is the Point to a Tool."
|
||||
|
||||
use Ecto.Schema
|
|
@ -1,11 +1,11 @@
|
|||
defmodule Farmbot.CeleryScript.AST.Arg.PinType do
|
||||
@moduledoc false
|
||||
@behaviour Farmbot.CeleryScript.AST.Arg
|
||||
alias Farmbot.Repo.{Peripheral, Sensor}
|
||||
alias Farmbot.Asset.{Peripheral, Sensor}
|
||||
|
||||
def decode("Peripheral"), do: {:ok, Peripheral}
|
||||
def decode("Sensor"), do: {:ok, Sensor}
|
||||
|
||||
|
||||
def encode(Peripheral), do: {:ok, "Peripheral"}
|
||||
def encode(Sensor), do: {:ok, "Sensor"}
|
||||
end
|
||||
|
|
|
@ -3,8 +3,8 @@ defmodule Farmbot.CeleryScript.AST.Node.If do
|
|||
use Farmbot.CeleryScript.AST.Node
|
||||
alias Farmbot.CeleryScript.AST
|
||||
alias AST.{NamedPin}
|
||||
alias Farmbot.Repo.Context
|
||||
alias Farmbot.Repo.{Peripheral, Sensor}
|
||||
alias Farmbot.Asset
|
||||
alias Asset.{Peripheral, Sensor}
|
||||
use Farmbot.Logger
|
||||
|
||||
allow_args [:lhs, :op, :rhs, :_then, :_else]
|
||||
|
@ -64,14 +64,14 @@ defmodule Farmbot.CeleryScript.AST.Node.If do
|
|||
defp do_jump(false, else_, _then, env), do: Farmbot.CeleryScript.execute(else_, env)
|
||||
|
||||
defp fetch_resource(Peripheral, id) do
|
||||
case Context.get_peripheral(id) do
|
||||
case Asset.get_peripheral(id) do
|
||||
%Peripheral{pin: number} -> {:ok, number}
|
||||
nil -> {:error, "Could not find pin by id: #{id}"}
|
||||
end
|
||||
end
|
||||
|
||||
defp fetch_resource(Sensor, id) do
|
||||
case Context.get_sensor(id) do
|
||||
case Asset.get_sensor(id) do
|
||||
%Sensor{pin: number} -> {:ok, number}
|
||||
nil -> {:error, "Could not find pin by id: #{id}"}
|
||||
end
|
||||
|
|
|
@ -19,15 +19,15 @@ defmodule Farmbot.CeleryScript.AST.Node.ChangeOwnership do
|
|||
ConfigStorage.update_config_value(:string, "authorization", "token", nil)
|
||||
repos = [Farmbot.Repo.A, Farmbot.Repo.B]
|
||||
resources = [
|
||||
Farmbot.Repo.Device,
|
||||
Farmbot.Repo.FarmEvent,
|
||||
Farmbot.Repo.Peripheral,
|
||||
Farmbot.Repo.Point,
|
||||
Farmbot.Repo.Regimen,
|
||||
Farmbot.Repo.Sensor,
|
||||
Farmbot.Repo.Sequence,
|
||||
Farmbot.Repo.ToolSlot,
|
||||
Farmbot.Repo.Tool
|
||||
Farmbot.Asset.Device,
|
||||
Farmbot.Asset.FarmEvent,
|
||||
Farmbot.Asset.Peripheral,
|
||||
Farmbot.Asset.Point,
|
||||
Farmbot.Asset.Regimen,
|
||||
Farmbot.Asset.Sensor,
|
||||
Farmbot.Asset.Sequence,
|
||||
Farmbot.Asset.ToolSlot,
|
||||
Farmbot.Asset.Tool
|
||||
]
|
||||
for repo <- repos do
|
||||
for resource <- resources do
|
||||
|
|
|
@ -8,7 +8,7 @@ defmodule Farmbot.CeleryScript.AST.Node.Execute do
|
|||
def execute(%{sequence_id: id}, _, env) do
|
||||
env = mutate_env(env)
|
||||
repo = Farmbot.Repo.current_repo()
|
||||
seq = repo.one(from s in Farmbot.Repo.Sequence, where: s.id == ^id)
|
||||
seq = repo.one(from s in Farmbot.Asset.Sequence, where: s.id == ^id)
|
||||
case seq do
|
||||
nil -> {:error, "Could not find sequence by id: #{id}", env}
|
||||
seq ->
|
||||
|
|
|
@ -5,8 +5,8 @@ defmodule Farmbot.CeleryScript.AST.Node.ReadPin do
|
|||
alias AST.Node.NamedPin
|
||||
allow_args [:pin_number, :label, :pin_mode]
|
||||
use Farmbot.Logger
|
||||
alias Farmbot.Repo.Context
|
||||
alias Farmbot.Repo.{Peripheral, Sensor}
|
||||
alias Farmbot.Asset
|
||||
alias Asset.{Peripheral, Sensor}
|
||||
|
||||
def execute(%{pin_number: %AST{kind: NamedPin} = named_pin, pin_mode: mode, label: label}, body, env) do
|
||||
env = mutate_env(env)
|
||||
|
@ -34,14 +34,14 @@ defmodule Farmbot.CeleryScript.AST.Node.ReadPin do
|
|||
end
|
||||
|
||||
defp fetch_resource(Peripheral, id) do
|
||||
case Context.get_peripheral(id) do
|
||||
case Asset.get_peripheral(id) do
|
||||
%Peripheral{pin: number} -> {:ok, number}
|
||||
nil -> {:error, "Could not find pin by id: #{id}"}
|
||||
end
|
||||
end
|
||||
|
||||
defp fetch_resource(Sensor, id) do
|
||||
case Context.get_sensor(id) do
|
||||
case Asset.get_sensor(id) do
|
||||
%Sensor{pin: number} -> {:ok, number}
|
||||
nil -> {:error, "Could not find pin by id: #{id}"}
|
||||
end
|
||||
|
|
|
@ -9,7 +9,7 @@ defmodule Farmbot.CeleryScript.AST.Node.RegisterGpio do
|
|||
def execute(%{sequence_id: id, pin_number: pin_num}, _, env) do
|
||||
env = mutate_env(env)
|
||||
repo = Farmbot.Repo.current_repo()
|
||||
seq = repo.one(from s in Farmbot.Repo.Sequence, where: s.id == ^id)
|
||||
seq = repo.one(from s in Farmbot.Asset.Sequence, where: s.id == ^id)
|
||||
case seq do
|
||||
nil -> {:error, "Could not find sequence by id: #{id}", env}
|
||||
seq ->
|
||||
|
|
|
@ -4,8 +4,8 @@ defmodule Farmbot.CeleryScript.AST.Node.WritePin do
|
|||
use Farmbot.Logger
|
||||
alias Farmbot.CeleryScript.AST
|
||||
alias AST.Node.NamedPin
|
||||
alias Farmbot.Repo.Context
|
||||
alias Farmbot.Repo.{Peripheral, Sensor}
|
||||
alias Farmbot.Asset
|
||||
alias Asset.{Peripheral, Sensor}
|
||||
|
||||
allow_args [:pin_number, :pin_value, :pin_mode]
|
||||
|
||||
|
@ -43,14 +43,14 @@ defmodule Farmbot.CeleryScript.AST.Node.WritePin do
|
|||
end
|
||||
|
||||
defp fetch_resource(Peripheral, id) do
|
||||
case Context.get_peripheral(id) do
|
||||
case Asset.get_peripheral(id) do
|
||||
%Peripheral{pin: number} -> {:ok, number}
|
||||
nil -> {:error, "Could not find pin by id: #{id}"}
|
||||
end
|
||||
end
|
||||
|
||||
defp fetch_resource(Sensor, id) do
|
||||
case Context.get_sensor(id) do
|
||||
case Asset.get_sensor(id) do
|
||||
%Sensor{pin: number} -> {:ok, number}
|
||||
nil -> {:error, "Could not find pin by id: #{id}"}
|
||||
end
|
||||
|
|
|
@ -3,7 +3,7 @@ defmodule Farmbot.CeleryScript.Utils do
|
|||
alias Farmbot.Firmware.Vec3
|
||||
alias Farmbot.CeleryScript.AST
|
||||
alias AST.Node.{Tool, Coordinate, Point, Nothing}
|
||||
alias Farmbot.Repo.Point, as: DBPoint
|
||||
alias Farmbot.Asset.Point, as: DBPoint
|
||||
import Ecto.Query
|
||||
|
||||
def ast_to_vec3(%AST{kind: Tool} = ast) do
|
||||
|
@ -12,7 +12,7 @@ defmodule Farmbot.CeleryScript.Utils do
|
|||
case repo.one(from p in DBPoint, where: p.tool_id == ^tool_id) do
|
||||
%{x: x, y: y, z: z} -> {:ok, new_vec3(x, y, z)}
|
||||
nil ->
|
||||
case repo.one(from t in Farmbot.Repo.Tool, where: t.id == ^tool_id) do
|
||||
case repo.one(from t in Farmbot.Asset.Tool, where: t.id == ^tool_id) do
|
||||
%{name: name} ->
|
||||
{:error, "#{name} is not currently in a tool slot."}
|
||||
nil -> {:error, "Could not find tool by id: #{tool_id}"}
|
||||
|
|
|
@ -25,7 +25,7 @@ defmodule Farmbot.EasterEggs do
|
|||
[{:"#{key}", val} | acc]
|
||||
end)
|
||||
message = EEx.eval_string(verb, nouns)
|
||||
bot_name = Farmbot.Repo.current_repo().one(Farmbot.Repo.Device).name
|
||||
bot_name = Farmbot.Repo.current_repo().one(Farmbot.Asset.Device).name
|
||||
Logger.fun 3, Enum.join([bot_name, message], " ")
|
||||
{:noreply, %{state | timer: timer}}
|
||||
end
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
defimpl Farmbot.FarmEvent.Execution, for: Farmbot.Repo.Regimen do
|
||||
defimpl Farmbot.FarmEvent.Execution, for: Farmbot.Asset.Regimen do
|
||||
|
||||
def execute_event(regimen, now) do
|
||||
case Process.whereis(:"regimen-#{regimen.id}") do
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
defimpl Farmbot.FarmEvent.Execution, for: Farmbot.Repo.Sequence do
|
||||
defimpl Farmbot.FarmEvent.Execution, for: Farmbot.Asset.Sequence do
|
||||
|
||||
def execute_event(sequence, _now) do
|
||||
with {:ok, ast} <- Farmbot.CeleryScript.AST.decode(sequence) do
|
||||
|
|
|
@ -18,7 +18,7 @@ defmodule Farmbot.FarmEvent.Manager do
|
|||
use GenServer
|
||||
use Farmbot.Logger
|
||||
alias Farmbot.FarmEvent.Execution
|
||||
alias Farmbot.Repo.FarmEvent
|
||||
alias Farmbot.Asset.FarmEvent
|
||||
|
||||
# @checkup_time 100
|
||||
@checkup_time 30_000
|
||||
|
@ -81,7 +81,7 @@ defmodule Farmbot.FarmEvent.Manager do
|
|||
|
||||
def async_checkup(_manager, state) do
|
||||
now = get_now()
|
||||
alias Farmbot.Repo.FarmEvent
|
||||
alias Farmbot.Asset.FarmEvent
|
||||
# maybe_farm_event_log "Rebuilding calendar."
|
||||
all_events = Enum.map(state.events, &FarmEvent.build_calendar(&1))
|
||||
# maybe_farm_event_log "Rebuilding calendar complete."
|
||||
|
@ -117,7 +117,7 @@ defmodule Farmbot.FarmEvent.Manager do
|
|||
|
||||
defp check_event(%FarmEvent{} = f, now, last_time) do
|
||||
# Get the executable out of the database this may fail.
|
||||
# mod_list = ["Farmbot", "Repo", f.executable_type]
|
||||
# mod_list = ["Farmbot", "Asset", f.executable_type]
|
||||
mod = Module.safe_concat([f.executable_type])
|
||||
|
||||
event = lookup(mod, f.executable_id)
|
||||
|
@ -132,8 +132,8 @@ defmodule Farmbot.FarmEvent.Manager do
|
|||
finished? = Timex.after? now, end_time
|
||||
|
||||
case f.executable_type do
|
||||
"Elixir.Farmbot.Repo.Regimen" -> maybe_start_regimen(started?, start_time, last_time, event, now)
|
||||
"Elixir.Farmbot.Repo.Sequence" -> maybe_start_sequence(started?, finished?, f, last_time, event, now)
|
||||
"Elixir.Farmbot.Asset.Regimen" -> maybe_start_regimen(started?, start_time, last_time, event, now)
|
||||
"Elixir.Farmbot.Asset.Sequence" -> maybe_start_sequence(started?, finished?, f, last_time, event, now)
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ defmodule Farmbot.Regimen.Manager do
|
|||
|
||||
use Farmbot.Logger
|
||||
use GenServer
|
||||
alias Farmbot.Repo.Regimen
|
||||
alias Farmbot.Asset.Regimen
|
||||
|
||||
defmodule Error do
|
||||
@moduledoc false
|
||||
|
@ -33,7 +33,7 @@ defmodule Farmbot.Regimen.Manager do
|
|||
end
|
||||
|
||||
def fetch_sequence(id) do
|
||||
case Farmbot.Repo.current_repo().get(Farmbot.Repo.Sequence, id) do
|
||||
case Farmbot.Repo.current_repo().get(Farmbot.Asset.Sequence, id) do
|
||||
nil -> raise "Could not find sequence by id: #{inspect id}"
|
||||
obj -> obj
|
||||
end
|
||||
|
|
|
@ -4,7 +4,7 @@ defmodule Farmbot.Repo do
|
|||
use GenServer
|
||||
use Farmbot.Logger
|
||||
|
||||
alias Farmbot.Repo.{
|
||||
alias Farmbot.Asset.{
|
||||
Device,
|
||||
FarmEvent,
|
||||
Peripheral,
|
||||
|
@ -236,7 +236,7 @@ defmodule Farmbot.Repo do
|
|||
Farmbot.Firmware.read_pin(pin, mode)
|
||||
end)
|
||||
|
||||
Farmbot.FarmEvent.Manager.register_events repo.all(Farmbot.Repo.FarmEvent)
|
||||
Farmbot.FarmEvent.Manager.register_events repo.all(Farmbot.Asset.FarmEvent)
|
||||
:ok
|
||||
end
|
||||
|
||||
|
@ -526,7 +526,7 @@ defmodule Farmbot.Repo do
|
|||
@doc false
|
||||
defmacro __using__(_) do
|
||||
quote do
|
||||
@moduledoc "Storage for Farmbot Resources."
|
||||
@moduledoc "Storage for Farmbot Assets."
|
||||
use Ecto.Repo,
|
||||
otp_app: :farmbot,
|
||||
adapter: Application.get_env(:farmbot, __MODULE__)[:adapter]
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
defmodule Farmbot.Repo.FarmEventTest do
|
||||
defmodule Farmbot.Asset.FarmEventTest do
|
||||
alias Farmbot.Repo
|
||||
alias Farmbot.Repo.FarmEvent
|
||||
alias Farmbot.Asset.FarmEvent
|
||||
use ExUnit.Case, async: true
|
||||
|
||||
setup do
|
Loading…
Reference in New Issue