From a02c6f94bd541b07067ac30bab609896b3f6f988 Mon Sep 17 00:00:00 2001 From: Sneha Patel Date: Thu, 9 Sep 2021 12:40:38 -0500 Subject: Add Assemblies schema to Hardware Status - Inventory and LEDs Signed-off-by: Sneha Patel Change-Id: I1a4edae664d008a4f618d03d62e2319d8157ed6d --- src/store/modules/HardwareStatus/AssemblyStore.js | 66 +++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 src/store/modules/HardwareStatus/AssemblyStore.js (limited to 'src/store/modules/HardwareStatus') diff --git a/src/store/modules/HardwareStatus/AssemblyStore.js b/src/store/modules/HardwareStatus/AssemblyStore.js new file mode 100644 index 00000000..56e5631d --- /dev/null +++ b/src/store/modules/HardwareStatus/AssemblyStore.js @@ -0,0 +1,66 @@ +import api from '@/store/api'; +import i18n from '@/i18n'; + +const AssemblyStore = { + namespaced: true, + state: { + assemblies: null, + }, + getters: { + assemblies: (state) => state.assemblies, + }, + mutations: { + setAssemblyInfo: (state, data) => { + state.assemblies = data.map((assembly) => { + const { + MemberId, + PartNumber, + SerialNumber, + SparePartNumber, + Model, + Name, + Location, + LocationIndicatorActive, + } = assembly; + return { + id: MemberId, + partNumber: PartNumber, + serialNumber: SerialNumber, + sparePartNumber: SparePartNumber, + model: Model, + name: Name, + locationNumber: Location?.PartLocation?.ServiceLabel, + identifyLed: LocationIndicatorActive, + uri: assembly['@odata.id'], + }; + }); + }, + }, + actions: { + async getAssemblyInfo({ commit }) { + return await api + .get('/redfish/v1/Chassis/chassis/Assembly') + .then(({ data }) => commit('setAssemblyInfo', data?.Assemblies)) + .catch((error) => console.log(error)); + }, + async updateIdentifyLedValue({ dispatch }, led) { + const uri = led.uri; + const updatedIdentifyLedValue = { + LocationIndicatorActive: led.identifyLed, + }; + return await api.patch(uri, updatedIdentifyLedValue).catch((error) => { + dispatch('getAssemblyInfo'); + console.log('error', error); + if (led.identifyLed) { + throw new Error(i18n.t('pageInventory.toast.errorEnableIdentifyLed')); + } else { + throw new Error( + i18n.t('pageInventory.toast.errorDisableIdentifyLed') + ); + } + }); + }, + }, +}; + +export default AssemblyStore; -- cgit v1.2.3