add pin bindings to usage index
parent
ac5cc41b95
commit
6a8bd52902
|
@ -28,13 +28,15 @@ describe("resourceUsageList", () => {
|
||||||
"Sequence.Sequence": {
|
"Sequence.Sequence": {
|
||||||
"Regimen.9.9": { "Sequence.10.10": true, "Sequence.11.11": true }
|
"Regimen.9.9": { "Sequence.10.10": true, "Sequence.11.11": true }
|
||||||
},
|
},
|
||||||
"Sequence.FbosConfig": { "Device.99.99": { "Sequence.12.12": true } }
|
"Sequence.FbosConfig": { "Sequence.12.12": { "FbosConfig.13.13": true } },
|
||||||
|
"Sequence.PinBinding": { "Sequence.14.14": { "PinBinding.15.15": true } },
|
||||||
};
|
};
|
||||||
const actual = Object.keys(resourceUsageList(x)).sort();
|
const actual = Object.keys(resourceUsageList(x)).sort();
|
||||||
const expected = [
|
const expected = [
|
||||||
"FarmEvent.0.0", "FarmEvent.3.3",
|
"FarmEvent.0.0", "FarmEvent.3.3",
|
||||||
"Regimen.6.6", "Regimen.9.9",
|
"Regimen.6.6", "Regimen.9.9",
|
||||||
"Device.99.99",
|
"Sequence.12.12",
|
||||||
|
"Sequence.14.14",
|
||||||
].sort();
|
].sort();
|
||||||
expect(actual.length).toEqual(expected.length);
|
expect(actual.length).toEqual(expected.length);
|
||||||
expected.map(y => expect(actual).toContain(y));
|
expected.map(y => expect(actual).toContain(y));
|
||||||
|
|
|
@ -22,6 +22,7 @@ export type UsageKind =
|
||||||
| "Sequence.Regimen"
|
| "Sequence.Regimen"
|
||||||
| "Sequence.FarmEvent"
|
| "Sequence.FarmEvent"
|
||||||
| "Sequence.Sequence"
|
| "Sequence.Sequence"
|
||||||
|
| "Sequence.PinBinding"
|
||||||
| "Sequence.FbosConfig";
|
| "Sequence.FbosConfig";
|
||||||
|
|
||||||
/** This variable ensures that `EVERY_USAGE_KIND` does not have typos and is
|
/** This variable ensures that `EVERY_USAGE_KIND` does not have typos and is
|
||||||
|
@ -31,6 +32,7 @@ const values: Record<UsageKind, UsageKind> = {
|
||||||
"Sequence.Regimen": "Sequence.Regimen",
|
"Sequence.Regimen": "Sequence.Regimen",
|
||||||
"Sequence.FarmEvent": "Sequence.FarmEvent",
|
"Sequence.FarmEvent": "Sequence.FarmEvent",
|
||||||
"Sequence.Sequence": "Sequence.Sequence",
|
"Sequence.Sequence": "Sequence.Sequence",
|
||||||
|
"Sequence.PinBinding": "Sequence.PinBinding",
|
||||||
"Sequence.FbosConfig": "Sequence.FbosConfig"
|
"Sequence.FbosConfig": "Sequence.FbosConfig"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -73,6 +73,7 @@ export const emptyState = (): RestResources => {
|
||||||
"Sequence.FarmEvent": {},
|
"Sequence.FarmEvent": {},
|
||||||
"Sequence.Regimen": {},
|
"Sequence.Regimen": {},
|
||||||
"Sequence.Sequence": {},
|
"Sequence.Sequence": {},
|
||||||
|
"Sequence.PinBinding": {},
|
||||||
"Sequence.FbosConfig": {}
|
"Sequence.FbosConfig": {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,6 +15,7 @@ import {
|
||||||
} from "../sequences/locals_list/sanitize_nodes";
|
} from "../sequences/locals_list/sanitize_nodes";
|
||||||
import {
|
import {
|
||||||
selectAllFarmEvents,
|
selectAllFarmEvents,
|
||||||
|
selectAllPinBindings,
|
||||||
findByKindAndId,
|
findByKindAndId,
|
||||||
selectAllLogs,
|
selectAllLogs,
|
||||||
selectAllRegimens,
|
selectAllRegimens,
|
||||||
|
@ -212,6 +213,21 @@ const AFTER_HOOKS: IndexerHook = {
|
||||||
i.inUse["Sequence.FbosConfig"] = {};
|
i.inUse["Sequence.FbosConfig"] = {};
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
PinBinding: (i) => {
|
||||||
|
i.inUse["Sequence.PinBinding"] = {};
|
||||||
|
const tracker = i.inUse["Sequence.PinBinding"];
|
||||||
|
selectAllPinBindings(i)
|
||||||
|
.map(pinBinding => {
|
||||||
|
if (pinBinding.body.binding_type === "standard") {
|
||||||
|
const { sequence_id } = pinBinding.body;
|
||||||
|
const uuid = i.byKindAndId[joinKindAndId("Sequence", sequence_id)];
|
||||||
|
if (uuid) {
|
||||||
|
tracker[uuid] = tracker[uuid] || {};
|
||||||
|
tracker[uuid][pinBinding.uuid] = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
FarmEvent: reindexAllFarmEventUsage,
|
FarmEvent: reindexAllFarmEventUsage,
|
||||||
Sequence: reindexAllSequences,
|
Sequence: reindexAllSequences,
|
||||||
Regimen: (i) => {
|
Regimen: (i) => {
|
||||||
|
|
Loading…
Reference in New Issue