diff --git a/webclient-vue/src/api/__tests__/mappers.spec.js b/webclient-vue/src/api/__tests__/mappers.spec.js index 4ad24cb..d8cfdb8 100644 --- a/webclient-vue/src/api/__tests__/mappers.spec.js +++ b/webclient-vue/src/api/__tests__/mappers.spec.js @@ -19,7 +19,7 @@ expect(result.name).toBe("Relay 1"); expect(result.device_id).toBe("abc123"); expect(result.ip).toBe("192.168.1.10"); - expect(result.type).toBe("relay"); + expect(result.device_type).toBe("relay"); expect(result.mac).toBe("A4:CF:12:9B:3F:D2"); expect(result.firmware_core_version).toBe("1.0"); }); @@ -61,4 +61,16 @@ expect(result.alias).toBe("kitchen_btns"); expect(result.extra).toEqual({ a: 1 }); }); + + it("maps legacy 'type' to 'device_type' for backwards compatibility", () => { + const device = { + type: "relay", + name: "Relay 1", + }; + + const result = unifyDeviceFields(device); + + expect(result.device_type).toBe("relay"); + expect(result.name).toBe("Relay 1"); + }); }); diff --git a/webclient-vue/src/api/mappers.js b/webclient-vue/src/api/mappers.js index 2fb9e57..cca96bd 100644 --- a/webclient-vue/src/api/mappers.js +++ b/webclient-vue/src/api/mappers.js @@ -2,11 +2,11 @@ device_name: "name", device_hard_id: "device_id", device_ip: "ip", - device_type: "type", ip_address: "ip", mac_address: "mac", device_mac: "mac", core_version: "firmware_core_version", + type: "device_type", }; export function unifyDeviceFields(device) { diff --git a/webclient-vue/src/components/device/DeviceTable.vue b/webclient-vue/src/components/device/DeviceTable.vue index 3f159b2..8c06df5 100644 --- a/webclient-vue/src/components/device/DeviceTable.vue +++ b/webclient-vue/src/components/device/DeviceTable.vue @@ -14,7 +14,7 @@
{{ row.name || row.alias || `Device #${row.id}` }} - + {{ row.status }}