diff options
author | Sneha Patel <Snehaben.Patel@ibm.com> | 2021-09-09 20:40:38 +0300 |
---|---|---|
committer | Dixsie Wolmers <dixsiew@gmail.com> | 2021-09-23 16:37:11 +0300 |
commit | a02c6f94bd541b07067ac30bab609896b3f6f988 (patch) | |
tree | 5e29f169f589609f5c50897c83419eed3755832b /src/store/modules | |
parent | c9cb8d433b7ed5f4d37cd8d946c2593d4d886ce1 (diff) | |
download | webui-vue-a02c6f94bd541b07067ac30bab609896b3f6f988.tar.xz |
Add Assemblies schema to Hardware Status - Inventory and LEDs
Signed-off-by: Sneha Patel <Snehaben.Patel@ibm.com>
Change-Id: I1a4edae664d008a4f618d03d62e2319d8157ed6d
Diffstat (limited to 'src/store/modules')
-rw-r--r-- | src/store/modules/HardwareStatus/AssemblyStore.js | 66 |
1 files changed, 66 insertions, 0 deletions
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; |