farmbot_os/farmbot_core/priv/config/migrations/20170922221449_seed_groups.exs

327 lines
10 KiB
Elixir

defmodule FarmbotCore.Config.Repo.Migrations.SeedGroups do
use Ecto.Migration
alias FarmbotCore.Config.{Repo, Group, StringValue, BoolValue, FloatValue}
import FarmbotCore.Config.MigrationHelpers
import Ecto.Query, only: [from: 2]
@group_names ["authorization", "hardware_params", "settings"]
@default_server Application.get_env(:farmbot_core, Farmbot.EctoMigrator)[
:default_server
] ||
"https://my.farm.bot"
def change do
populate_config_groups()
populate_config_values()
end
defp populate_config_groups do
for name <- @group_names do
%Group{group_name: name}
|> Group.changeset()
|> Repo.insert()
end
end
defp populate_config_values do
for name <- @group_names do
[group_id] =
from(g in Group, where: g.group_name == ^name, select: g.id)
|> Repo.all()
populate_config_values(name, group_id)
end
end
defp populate_config_values("authorization", group_id) do
create_value(StringValue, @default_server)
|> create_config(group_id, "server")
create_value(StringValue, nil) |> create_config(group_id, "email")
create_value(StringValue, nil) |> create_config(group_id, "password")
create_value(StringValue, nil) |> create_config(group_id, "token")
end
defp populate_config_values("settings", group_id) do
create_value(BoolValue, true) |> create_config(group_id, "os_auto_update")
create_value(BoolValue, true)
|> create_config(group_id, "ignore_external_logs")
create_value(BoolValue, true) |> create_config(group_id, "first_boot")
create_value(BoolValue, true) |> create_config(group_id, "first_sync")
create_value(StringValue, "A") |> create_config(group_id, "current_repo")
create_value(BoolValue, true)
|> create_config(group_id, "first_party_farmware")
create_value(BoolValue, false) |> create_config(group_id, "auto_sync")
create_value(StringValue, nil)
|> create_config(group_id, "firmware_hardware")
create_value(StringValue, nil) |> create_config(group_id, "timezone")
create_value(StringValue, "{}") |> create_config(group_id, "user_env")
fpf_url =
Application.get_env(:farmbot_core, :farmware)[
:first_part_farmware_manifest_url
]
create_value(StringValue, fpf_url)
|> create_config(group_id, "first_party_farmware_url")
end
defp populate_config_values("hardware_params", group_id) do
create_value(FloatValue, nil) |> create_config(group_id, "param_version")
create_value(FloatValue, nil) |> create_config(group_id, "param_test")
create_value(FloatValue, nil) |> create_config(group_id, "param_config_ok")
create_value(FloatValue, nil) |> create_config(group_id, "param_use_eeprom")
create_value(FloatValue, nil)
|> create_config(group_id, "param_e_stop_on_mov_err")
create_value(FloatValue, nil)
|> create_config(group_id, "param_mov_nr_retry")
create_value(FloatValue, nil)
|> create_config(group_id, "movement_timeout_x")
create_value(FloatValue, nil)
|> create_config(group_id, "movement_timeout_y")
create_value(FloatValue, nil)
|> create_config(group_id, "movement_timeout_z")
create_value(FloatValue, nil)
|> create_config(group_id, "movement_keep_active_x")
create_value(FloatValue, nil)
|> create_config(group_id, "movement_keep_active_y")
create_value(FloatValue, nil)
|> create_config(group_id, "movement_keep_active_z")
create_value(FloatValue, nil)
|> create_config(group_id, "movement_home_at_boot_x")
create_value(FloatValue, nil)
|> create_config(group_id, "movement_home_at_boot_y")
create_value(FloatValue, nil)
|> create_config(group_id, "movement_home_at_boot_z")
create_value(FloatValue, nil)
|> create_config(group_id, "movement_invert_endpoints_x")
create_value(FloatValue, nil)
|> create_config(group_id, "movement_invert_endpoints_y")
create_value(FloatValue, nil)
|> create_config(group_id, "movement_invert_endpoints_z")
create_value(FloatValue, nil)
|> create_config(group_id, "movement_enable_endpoints_x")
create_value(FloatValue, nil)
|> create_config(group_id, "movement_enable_endpoints_y")
create_value(FloatValue, nil)
|> create_config(group_id, "movement_enable_endpoints_z")
create_value(FloatValue, nil)
|> create_config(group_id, "movement_invert_motor_x")
create_value(FloatValue, nil)
|> create_config(group_id, "movement_invert_motor_y")
create_value(FloatValue, nil)
|> create_config(group_id, "movement_invert_motor_z")
create_value(FloatValue, nil)
|> create_config(group_id, "movement_secondary_motor_x")
create_value(FloatValue, nil)
|> create_config(group_id, "movement_secondary_motor_invert_x")
create_value(FloatValue, nil)
|> create_config(group_id, "movement_steps_acc_dec_x")
create_value(FloatValue, nil)
|> create_config(group_id, "movement_steps_acc_dec_y")
create_value(FloatValue, nil)
|> create_config(group_id, "movement_steps_acc_dec_z")
create_value(FloatValue, nil)
|> create_config(group_id, "movement_stop_at_home_x")
create_value(FloatValue, nil)
|> create_config(group_id, "movement_stop_at_home_y")
create_value(FloatValue, nil)
|> create_config(group_id, "movement_stop_at_home_z")
create_value(FloatValue, nil)
|> create_config(group_id, "movement_home_up_x")
create_value(FloatValue, nil)
|> create_config(group_id, "movement_home_up_y")
create_value(FloatValue, nil)
|> create_config(group_id, "movement_home_up_z")
create_value(FloatValue, nil)
|> create_config(group_id, "movement_step_per_mm_x")
create_value(FloatValue, nil)
|> create_config(group_id, "movement_step_per_mm_y")
create_value(FloatValue, nil)
|> create_config(group_id, "movement_step_per_mm_z")
create_value(FloatValue, nil)
|> create_config(group_id, "movement_min_spd_x")
create_value(FloatValue, nil)
|> create_config(group_id, "movement_min_spd_y")
create_value(FloatValue, nil)
|> create_config(group_id, "movement_min_spd_z")
create_value(FloatValue, nil)
|> create_config(group_id, "movement_home_spd_x")
create_value(FloatValue, nil)
|> create_config(group_id, "movement_home_spd_y")
create_value(FloatValue, nil)
|> create_config(group_id, "movement_home_spd_z")
create_value(FloatValue, nil)
|> create_config(group_id, "movement_max_spd_x")
create_value(FloatValue, nil)
|> create_config(group_id, "movement_max_spd_y")
create_value(FloatValue, nil)
|> create_config(group_id, "movement_max_spd_z")
create_value(FloatValue, nil)
|> create_config(group_id, "encoder_enabled_x")
create_value(FloatValue, nil)
|> create_config(group_id, "encoder_enabled_y")
create_value(FloatValue, nil)
|> create_config(group_id, "encoder_enabled_z")
create_value(FloatValue, nil) |> create_config(group_id, "encoder_type_x")
create_value(FloatValue, nil) |> create_config(group_id, "encoder_type_y")
create_value(FloatValue, nil) |> create_config(group_id, "encoder_type_z")
create_value(FloatValue, nil)
|> create_config(group_id, "encoder_missed_steps_max_x")
create_value(FloatValue, nil)
|> create_config(group_id, "encoder_missed_steps_max_y")
create_value(FloatValue, nil)
|> create_config(group_id, "encoder_missed_steps_max_z")
create_value(FloatValue, nil)
|> create_config(group_id, "encoder_scaling_x")
create_value(FloatValue, nil)
|> create_config(group_id, "encoder_scaling_y")
create_value(FloatValue, nil)
|> create_config(group_id, "encoder_scaling_z")
create_value(FloatValue, nil)
|> create_config(group_id, "encoder_missed_steps_decay_x")
create_value(FloatValue, nil)
|> create_config(group_id, "encoder_missed_steps_decay_y")
create_value(FloatValue, nil)
|> create_config(group_id, "encoder_missed_steps_decay_z")
create_value(FloatValue, nil)
|> create_config(group_id, "encoder_use_for_pos_x")
create_value(FloatValue, nil)
|> create_config(group_id, "encoder_use_for_pos_y")
create_value(FloatValue, nil)
|> create_config(group_id, "encoder_use_for_pos_z")
create_value(FloatValue, nil) |> create_config(group_id, "encoder_invert_x")
create_value(FloatValue, nil) |> create_config(group_id, "encoder_invert_y")
create_value(FloatValue, nil) |> create_config(group_id, "encoder_invert_z")
create_value(FloatValue, nil)
|> create_config(group_id, "movement_axis_nr_steps_x")
create_value(FloatValue, nil)
|> create_config(group_id, "movement_axis_nr_steps_y")
create_value(FloatValue, nil)
|> create_config(group_id, "movement_axis_nr_steps_z")
create_value(FloatValue, nil)
|> create_config(group_id, "movement_stop_at_max_x")
create_value(FloatValue, nil)
|> create_config(group_id, "movement_stop_at_max_y")
create_value(FloatValue, nil)
|> create_config(group_id, "movement_stop_at_max_z")
create_value(FloatValue, nil)
|> create_config(group_id, "pin_guard_1_pin_nr")
create_value(FloatValue, nil)
|> create_config(group_id, "pin_guard_1_time_out")
create_value(FloatValue, nil)
|> create_config(group_id, "pin_guard_1_active_state")
create_value(FloatValue, nil)
|> create_config(group_id, "pin_guard_2_pin_nr")
create_value(FloatValue, nil)
|> create_config(group_id, "pin_guard_2_time_out")
create_value(FloatValue, nil)
|> create_config(group_id, "pin_guard_2_active_state")
create_value(FloatValue, nil)
|> create_config(group_id, "pin_guard_3_pin_nr")
create_value(FloatValue, nil)
|> create_config(group_id, "pin_guard_3_time_out")
create_value(FloatValue, nil)
|> create_config(group_id, "pin_guard_3_active_state")
create_value(FloatValue, nil)
|> create_config(group_id, "pin_guard_4_pin_nr")
create_value(FloatValue, nil)
|> create_config(group_id, "pin_guard_4_time_out")
create_value(FloatValue, nil)
|> create_config(group_id, "pin_guard_4_active_state")
create_value(FloatValue, nil)
|> create_config(group_id, "pin_guard_5_pin_nr")
create_value(FloatValue, nil)
|> create_config(group_id, "pin_guard_5_time_out")
create_value(FloatValue, nil)
|> create_config(group_id, "pin_guard_5_active_state")
end
end