blob: dfb7010cf8fa0933fd7f1b5cb9bc0116766befe3 [file] [log] [blame]
Sneha Patela02c6f92021-09-09 12:40:38 -05001import api from '@/store/api';
2import i18n from '@/i18n';
3
4const 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 Fullbrightd600bb52021-12-20 17:01:31 -060049 Assemblies: [
50 {
51 MemberId: led.memberId,
52 LocationIndicatorActive: led.identifyLed,
53 },
54 ],
Sneha Patela02c6f92021-09-09 12:40:38 -050055 };
Kenneth Fullbrightd600bb52021-12-20 17:01:31 -060056
Nikhil Ashokaf11a1902024-05-09 15:17:44 +053057 return await api
58 .patch(uri, updatedIdentifyLedValue)
59 .then(() => {
60 if (led.identifyLed) {
Surya Vde23ea22024-07-11 15:19:46 +053061 return i18n.global.t(
62 'pageInventory.toast.successEnableIdentifyLed',
63 );
Nikhil Ashokaf11a1902024-05-09 15:17:44 +053064 } else {
Surya Vde23ea22024-07-11 15:19:46 +053065 return i18n.global.t(
66 'pageInventory.toast.successDisableIdentifyLed',
67 );
Nikhil Ashokaf11a1902024-05-09 15:17:44 +053068 }
69 })
70 .catch((error) => {
71 dispatch('getAssemblyInfo');
72 console.log('error', error);
73 if (led.identifyLed) {
74 throw new Error(
Surya Vde23ea22024-07-11 15:19:46 +053075 i18n.global.t('pageInventory.toast.errorEnableIdentifyLed'),
Nikhil Ashokaf11a1902024-05-09 15:17:44 +053076 );
77 } else {
78 throw new Error(
Surya Vde23ea22024-07-11 15:19:46 +053079 i18n.global.t('pageInventory.toast.errorDisableIdentifyLed'),
Nikhil Ashokaf11a1902024-05-09 15:17:44 +053080 );
81 }
82 });
Sneha Patela02c6f92021-09-09 12:40:38 -050083 },
84 },
85};
86
87export default AssemblyStore;