| Sneha Patel | a02c6f9 | 2021-09-09 12:40:38 -0500 | [diff] [blame] | 1 | import api from '@/store/api'; | 
|  | 2 | import i18n from '@/i18n'; | 
|  | 3 |  | 
|  | 4 | const AssemblyStore = { | 
|  | 5 | namespaced: true, | 
|  | 6 | state: { | 
|  | 7 | assemblies: null, | 
|  | 8 | }, | 
|  | 9 | getters: { | 
|  | 10 | assemblies: (state) => state.assemblies, | 
|  | 11 | }, | 
|  | 12 | mutations: { | 
|  | 13 | setAssemblyInfo: (state, data) => { | 
|  | 14 | state.assemblies = data.map((assembly) => { | 
|  | 15 | const { | 
|  | 16 | MemberId, | 
|  | 17 | PartNumber, | 
|  | 18 | SerialNumber, | 
|  | 19 | SparePartNumber, | 
|  | 20 | Model, | 
|  | 21 | Name, | 
|  | 22 | Location, | 
|  | 23 | LocationIndicatorActive, | 
|  | 24 | } = assembly; | 
|  | 25 | return { | 
|  | 26 | id: MemberId, | 
|  | 27 | partNumber: PartNumber, | 
|  | 28 | serialNumber: SerialNumber, | 
|  | 29 | sparePartNumber: SparePartNumber, | 
|  | 30 | model: Model, | 
|  | 31 | name: Name, | 
|  | 32 | locationNumber: Location?.PartLocation?.ServiceLabel, | 
|  | 33 | identifyLed: LocationIndicatorActive, | 
|  | 34 | uri: assembly['@odata.id'], | 
|  | 35 | }; | 
|  | 36 | }); | 
|  | 37 | }, | 
|  | 38 | }, | 
|  | 39 | actions: { | 
|  | 40 | async getAssemblyInfo({ commit }) { | 
|  | 41 | return await api | 
|  | 42 | .get('/redfish/v1/Chassis/chassis/Assembly') | 
|  | 43 | .then(({ data }) => commit('setAssemblyInfo', data?.Assemblies)) | 
|  | 44 | .catch((error) => console.log(error)); | 
|  | 45 | }, | 
|  | 46 | async updateIdentifyLedValue({ dispatch }, led) { | 
|  | 47 | const uri = led.uri; | 
|  | 48 | const updatedIdentifyLedValue = { | 
| Kenneth Fullbright | d600bb5 | 2021-12-20 17:01:31 -0600 | [diff] [blame] | 49 | Assemblies: [ | 
|  | 50 | { | 
|  | 51 | MemberId: led.memberId, | 
|  | 52 | LocationIndicatorActive: led.identifyLed, | 
|  | 53 | }, | 
|  | 54 | ], | 
| Sneha Patel | a02c6f9 | 2021-09-09 12:40:38 -0500 | [diff] [blame] | 55 | }; | 
| Kenneth Fullbright | d600bb5 | 2021-12-20 17:01:31 -0600 | [diff] [blame] | 56 |  | 
| Sneha Patel | a02c6f9 | 2021-09-09 12:40:38 -0500 | [diff] [blame] | 57 | return await api.patch(uri, updatedIdentifyLedValue).catch((error) => { | 
|  | 58 | dispatch('getAssemblyInfo'); | 
|  | 59 | console.log('error', error); | 
|  | 60 | if (led.identifyLed) { | 
|  | 61 | throw new Error(i18n.t('pageInventory.toast.errorEnableIdentifyLed')); | 
|  | 62 | } else { | 
|  | 63 | throw new Error( | 
|  | 64 | i18n.t('pageInventory.toast.errorDisableIdentifyLed') | 
|  | 65 | ); | 
|  | 66 | } | 
|  | 67 | }); | 
|  | 68 | }, | 
|  | 69 | }, | 
|  | 70 | }; | 
|  | 71 |  | 
|  | 72 | export default AssemblyStore; |