17affc529SSandeepa Singhimport api from '@/store/api'; 281876788SSandeepa Singhimport i18n from '@/i18n'; 37affc529SSandeepa Singh 47affc529SSandeepa Singhconst MemoryStore = { 57affc529SSandeepa Singh namespaced: true, 67affc529SSandeepa Singh state: { 77affc529SSandeepa Singh dimms: [], 87affc529SSandeepa Singh }, 97affc529SSandeepa Singh getters: { 107affc529SSandeepa Singh dimms: (state) => state.dimms, 117affc529SSandeepa Singh }, 127affc529SSandeepa Singh mutations: { 137affc529SSandeepa Singh setMemoryInfo: (state, data) => { 147affc529SSandeepa Singh state.dimms = data.map(({ data }) => { 1581876788SSandeepa Singh const { 1681876788SSandeepa Singh Id, 1781876788SSandeepa Singh Status = {}, 1861fdd942SSandeepa Singh BaseModuleType, 1961fdd942SSandeepa Singh BusWidthBits, 2061fdd942SSandeepa Singh CapacityMiB, 2161fdd942SSandeepa Singh DataWidthBits, 2261fdd942SSandeepa Singh Enabled, 23af76e2bcSJason M. Bills ErrorCorrection, 24af76e2bcSJason M. Bills Manufacturer, 2561fdd942SSandeepa Singh OperatingSpeedMhz, 2681876788SSandeepa Singh PartNumber, 27af76e2bcSJason M. Bills RankCount, 2881876788SSandeepa Singh SerialNumber, 2981876788SSandeepa Singh SparePartNumber, 3081876788SSandeepa Singh Description, 3181876788SSandeepa Singh MemoryType, 3281876788SSandeepa Singh LocationIndicatorActive, 3381876788SSandeepa Singh Location, 3481876788SSandeepa Singh } = data; 357affc529SSandeepa Singh return { 367affc529SSandeepa Singh id: Id, 377affc529SSandeepa Singh health: Status.Health, 3861fdd942SSandeepa Singh baseModuleType: BaseModuleType, 3961fdd942SSandeepa Singh busWidthBits: BusWidthBits, 4061fdd942SSandeepa Singh capacityMiB: CapacityMiB, 4161fdd942SSandeepa Singh dataWidthBits: DataWidthBits, 4261fdd942SSandeepa Singh operatingSpeedMhz: OperatingSpeedMhz, 4361fdd942SSandeepa Singh enabled: Enabled, 44af76e2bcSJason M. Bills errorCorrection: ErrorCorrection, 45af76e2bcSJason M. Bills manufacturer: Manufacturer, 467affc529SSandeepa Singh partNumber: PartNumber, 47af76e2bcSJason M. Bills rankCount: RankCount, 487affc529SSandeepa Singh serialNumber: SerialNumber, 497affc529SSandeepa Singh statusState: Status.State, 5081876788SSandeepa Singh sparePartNumber: SparePartNumber, 5181876788SSandeepa Singh description: Description, 5281876788SSandeepa Singh memoryType: MemoryType, 5381876788SSandeepa Singh identifyLed: LocationIndicatorActive, 5481876788SSandeepa Singh uri: data['@odata.id'], 5581876788SSandeepa Singh locationNumber: Location?.PartLocation?.ServiceLabel, 567affc529SSandeepa Singh }; 577affc529SSandeepa Singh }); 587affc529SSandeepa Singh }, 597affc529SSandeepa Singh }, 607affc529SSandeepa Singh actions: { 617affc529SSandeepa Singh async getDimms({ commit }) { 627affc529SSandeepa Singh return await api 638841b7d4SSean Zhang .get(`${await this.dispatch('global/getSystemPath')}/Memory`) 647affc529SSandeepa Singh .then(({ data: { Members } }) => { 657affc529SSandeepa Singh const promises = Members.map((item) => api.get(item['@odata.id'])); 667affc529SSandeepa Singh return api.all(promises); 677affc529SSandeepa Singh }) 687affc529SSandeepa Singh .then((response) => commit('setMemoryInfo', response)) 697affc529SSandeepa Singh .catch((error) => console.log(error)); 707affc529SSandeepa Singh }, 7181876788SSandeepa Singh async updateIdentifyLedValue({ dispatch }, led) { 7281876788SSandeepa Singh const uri = led.uri; 7381876788SSandeepa Singh const updatedIdentifyLedValue = { 7481876788SSandeepa Singh LocationIndicatorActive: led.identifyLed, 7581876788SSandeepa Singh }; 76f11a1901SNikhil Ashoka return await api 77f11a1901SNikhil Ashoka .patch(uri, updatedIdentifyLedValue) 78f11a1901SNikhil Ashoka .then(() => { 79f11a1901SNikhil Ashoka if (led.identifyLed) { 80*de23ea23SSurya V return i18n.global.t( 81*de23ea23SSurya V 'pageInventory.toast.successEnableIdentifyLed', 82*de23ea23SSurya V ); 83f11a1901SNikhil Ashoka } else { 84*de23ea23SSurya V return i18n.global.t( 85*de23ea23SSurya V 'pageInventory.toast.successDisableIdentifyLed', 86*de23ea23SSurya V ); 87f11a1901SNikhil Ashoka } 88f11a1901SNikhil Ashoka }) 89f11a1901SNikhil Ashoka .catch((error) => { 9081876788SSandeepa Singh dispatch('getDimms'); 9181876788SSandeepa Singh console.log('error', error); 9281876788SSandeepa Singh if (led.identifyLed) { 93f11a1901SNikhil Ashoka throw new Error( 94*de23ea23SSurya V i18n.global.t('pageInventory.toast.errorEnableIdentifyLed'), 95f11a1901SNikhil Ashoka ); 9681876788SSandeepa Singh } else { 9781876788SSandeepa Singh throw new Error( 98*de23ea23SSurya V i18n.global.t('pageInventory.toast.errorDisableIdentifyLed'), 9981876788SSandeepa Singh ); 10081876788SSandeepa Singh } 10181876788SSandeepa Singh }); 10281876788SSandeepa Singh }, 1037affc529SSandeepa Singh }, 1047affc529SSandeepa Singh}; 1057affc529SSandeepa Singh 1067affc529SSandeepa Singhexport default MemoryStore; 107