From fc2c42161fa4b201a0fd47c792d60fb992d8bf31 Mon Sep 17 00:00:00 2001 From: Rick Carlino Date: Thu, 19 Sep 2019 08:37:05 -0500 Subject: [PATCH] WIP --- app/mutations/configs/update.rb | 9 +++++---- app/mutations/devices/update.rb | 1 - ...0190918185359_begin_boot_sequence_feature.rb | 8 ++++++++ .../__tests__/actions_no_config_object_test.ts | 5 ++++- .../devices/components/farmbot_os_settings.tsx | 17 +++++++++++++++++ frontend/resources/__tests__/in_use_test.ts | 2 +- frontend/resources/in_use.ts | 4 ++-- frontend/resources/reducer.ts | 2 +- frontend/resources/reducer_support.ts | 16 ++++++++-------- package.json | 2 +- 10 files changed, 47 insertions(+), 19 deletions(-) create mode 100644 db/migrate/20190918185359_begin_boot_sequence_feature.rb diff --git a/app/mutations/configs/update.rb b/app/mutations/configs/update.rb index 3ff9e0795..12fe971b5 100644 --- a/app/mutations/configs/update.rb +++ b/app/mutations/configs/update.rb @@ -1,8 +1,8 @@ module Configs class Update < Mutations::Command - HOTFIX = [ :encoder_scaling_x, :encoder_scaling_y, :encoder_scaling_z ] - BAD = 56 - GOOD = 5556 + HOTFIX = [:encoder_scaling_x, :encoder_scaling_y, :encoder_scaling_z] + BAD = 56 + GOOD = 5556 required do duck :target, methods: [:update_attributes!] @@ -11,6 +11,7 @@ module Configs def execute target.assign_attributes(sliced_attrs) + # Remove HOTFIX after November 12, 2019 - RC HOTFIX.map do |attr| target.assign_attributes(attr => GOOD) if target.try(attr) == BAD end @@ -20,7 +21,7 @@ module Configs def sliced_attrs whitelist = target.class.column_names.map(&:to_sym) - updates = update_attrs + updates = update_attrs .deep_symbolize_keys .except(:device_id, :id, :created_at) updates.slice(*whitelist) diff --git a/app/mutations/devices/update.rb b/app/mutations/devices/update.rb index a8637e41e..ed185413a 100644 --- a/app/mutations/devices/update.rb +++ b/app/mutations/devices/update.rb @@ -11,7 +11,6 @@ module Devices string :timezone time :last_saw_mq integer :mounted_tool_id, nils: true - integer :turnkey_sequence_id, nils: true end def validate diff --git a/db/migrate/20190918185359_begin_boot_sequence_feature.rb b/db/migrate/20190918185359_begin_boot_sequence_feature.rb new file mode 100644 index 000000000..ead67ad13 --- /dev/null +++ b/db/migrate/20190918185359_begin_boot_sequence_feature.rb @@ -0,0 +1,8 @@ +class BeginTurnKeySequenceFeature < ActiveRecord::Migration[5.2] + def change + add_foreign_key :fbos_configs, :sequences, column: :boot_sequence_id + + add_column :devices, :last_ota, :datetime + add_column :devices, :last_ota_check, :datetime + end +end diff --git a/frontend/config_storage/__tests__/actions_no_config_object_test.ts b/frontend/config_storage/__tests__/actions_no_config_object_test.ts index 3cb7a5346..c217405d8 100644 --- a/frontend/config_storage/__tests__/actions_no_config_object_test.ts +++ b/frontend/config_storage/__tests__/actions_no_config_object_test.ts @@ -7,7 +7,10 @@ jest.mock("../../api/crud", () => { }); jest.mock("../../resources/getters", () => { - return { getWebAppConfig: jest.fn(() => (undefined)) }; + return { + getWebAppConfig: jest.fn(() => (undefined)), + getFbosConfig: jest.fn(() => (undefined)), + }; }); describe("toggleWebAppBool", () => { diff --git a/frontend/devices/components/farmbot_os_settings.tsx b/frontend/devices/components/farmbot_os_settings.tsx index 3a0d1f485..0b7c243b3 100644 --- a/frontend/devices/components/farmbot_os_settings.tsx +++ b/frontend/devices/components/farmbot_os_settings.tsx @@ -16,6 +16,7 @@ import { PowerAndReset } from "./fbos_settings/power_and_reset"; import { SendDiagnosticReport } from "./send_diagnostic_report"; import axios from "axios"; import { t } from "../../i18next_wrapper"; +import { SequenceSelectBox } from "../../sequences/sequence_select_box"; export enum ColWidth { label = 3, @@ -98,6 +99,22 @@ export class FarmbotOsSettings value={this.props.deviceAccount.body.name} /> + + {console.log("Move this under 'FIRMWARE' dropdown tomorrow.")} + + + + + { + this.updateFbosConfig(ddi.value); + }} + resources={this.props.resources} + sequenceId={this.props.boot_sequence_id} /> + +