Remove legacy shims (v6 support ended 4 months ago)

pull/1451/head
Rick Carlino 2019-09-18 13:40:32 -05:00
parent f52248537e
commit 7843a1e93c
8 changed files with 28 additions and 32 deletions

View File

@ -23,8 +23,6 @@ class Log < ApplicationRecord
validates :device, presence: true
validates :type, presence: true
serialize :meta
validates :meta, presence: true
# http://stackoverflow.com/a/5127684/1064917
before_validation :set_defaults
@ -32,27 +30,6 @@ class Log < ApplicationRecord
self.channels ||= []
end
# Legacy shims ===============================================================
# TODO: Remove these once FBOS stops using the `meta` field (FBOS < v6.4.0).
def meta
{
type: self.type,
major_version: self.major_version,
minor_version: self.minor_version,
verbosity: self.verbosity,
x: self.x,
y: self.y,
z: self.z,
}
end
def meta=(hash)
hash.map { |(key, value)| self.send("#{key}=", value) }
self.meta
end
# End Legacy shims ===========================================================
def broadcast? # Logs get their own special channel. Don't echo twice!
false
end

View File

@ -7,10 +7,11 @@ module Devices
end
optional do
string :name
string :timezone#, in: Device::TIMEZONES
time :last_saw_mq
string :name
string :timezone
time :last_saw_mq
integer :mounted_tool_id, nils: true
integer :turnkey_sequence_id, nils: true
end
def validate
@ -23,7 +24,7 @@ module Devices
device
end
private
private
def bad_tool_id
add_error :mounted_tool_id, :mounted_tool_id, BAD_TOOL_ID % better_tool_id
@ -38,7 +39,7 @@ module Devices
end
def mounted_tool_data
mounted_tool_id_present? ? {mounted_tool_id: better_tool_id} : {}
mounted_tool_id_present? ? { mounted_tool_id: better_tool_id } : {}
end
end
end

View File

@ -26,10 +26,11 @@ describe("resourceUsageList", () => {
"Sequence.Sequence": {
"Regimen.9.9": { "Sequence.10.10": true, "Sequence.11.11": true }
},
"Sequence.Device": { "Device.99.99": { "Sequence.12.12": true } }
};
const actual = Object.keys(resourceUsageList(x)).sort();
const expected =
["FarmEvent.0.0", "FarmEvent.3.3", "Regimen.6.6", "Regimen.9.9"].sort();
["FarmEvent.0.0", "FarmEvent.3.3", "Regimen.6.6", "Regimen.9.9", "Device.99.99"].sort();
expect(actual.length).toEqual(expected.length);
expected.map(y => expect(actual).toContain(y));
});

View File

@ -21,7 +21,8 @@ export type UsageKind =
| "Regimen.FarmEvent"
| "Sequence.Regimen"
| "Sequence.FarmEvent"
| "Sequence.Sequence";
| "Sequence.Sequence"
| "Sequence.Device";
/** This variable ensures that `EVERY_USAGE_KIND` does not have typos and is
* up-to-date all `UsageKind`s */
@ -30,6 +31,7 @@ const values: Record<UsageKind, UsageKind> = {
"Sequence.Regimen": "Sequence.Regimen",
"Sequence.FarmEvent": "Sequence.FarmEvent",
"Sequence.Sequence": "Sequence.Sequence",
"Sequence.Device": "Sequence.Device"
};
/** Array that contains every `UsageKind` token for easy runtime iteration. */

View File

@ -72,6 +72,7 @@ export const emptyState = (): RestResources => {
"Sequence.FarmEvent": {},
"Sequence.Regimen": {},
"Sequence.Sequence": {},
"Sequence.Device": {}
}
}
};

View File

@ -28,6 +28,7 @@ import { ReduxAction } from "../redux/interfaces";
import { ActionHandler } from "../redux/generate_reducer";
import { get } from "lodash";
import { Actions } from "../constants";
import { maybeGetDevice } from "./selectors";
export function findByUuid(index: ResourceIndex, uuid: string): TaggedResource {
const x = index.references[uuid];
@ -195,6 +196,19 @@ const BEFORE_HOOKS: IndexerHook = {
};
const AFTER_HOOKS: IndexerHook = {
Device: (i) => {
console.log("Hmmm");
const dev = maybeGetDevice(i);
if (dev && dev.body.turnkey_sequence_id) {
const tracker = i.inUse["Sequence.Device"];
const sequence =
findByKindAndId(i, "Sequence", dev.body.turnkey_sequence_id);
tracker[sequence.uuid] = tracker[sequence.uuid] || {};
tracker[sequence.uuid][dev.uuid] = true;
} else {
i.inUse["Sequence.Device"] = {};
}
},
FarmEvent: reindexAllFarmEventUsage,
Sequence: reindexAllSequences,
Regimen: (i) => {

View File

@ -45,7 +45,7 @@
"coveralls": "3.0.6",
"enzyme": "3.10.0",
"enzyme-adapter-react-16": "1.14.0",
"farmbot": "8.2.0-rc1",
"farmbot": "8.2.0",
"i18next": "17.0.14",
"lodash": "4.17.15",
"markdown-it": "10.0.0",

View File

@ -12,7 +12,7 @@ describe Api::LogsController do
expect(response.status).to eq(200)
expect(json.first[:id]).to eq(logs.first.id)
expect(json.first[:created_at]).to eq(logs.first.created_at.to_i)
expect(json.last[:meta][:type]).to eq(logs.last.type)
expect(json.last[:type]).to eq(logs.last.type)
end
end