diff options
Diffstat (limited to 'src/store')
-rw-r--r-- | src/store/modules/Control/VirtualMediaStore.js | 33 |
1 files changed, 29 insertions, 4 deletions
diff --git a/src/store/modules/Control/VirtualMediaStore.js b/src/store/modules/Control/VirtualMediaStore.js index e01cfce1..13ef8ee6 100644 --- a/src/store/modules/Control/VirtualMediaStore.js +++ b/src/store/modules/Control/VirtualMediaStore.js @@ -44,10 +44,12 @@ const VirtualMediaStore = { .then(devices => api.all(devices.map(device => api.get(device)))) .then(devices => { const deviceData = devices.map(device => { + const isActive = device.data?.Inserted === true ? true : false; return { id: device.data?.Id, transferProtocolType: device.data?.TransferProtocolType, - websocket: device.data?.Oem?.OpenBMC?.WebSocketEndpoint + websocket: device.data?.Oem?.OpenBMC?.WebSocketEndpoint, + isActive: isActive }; }); const proxyDevices = deviceData @@ -55,8 +57,7 @@ const VirtualMediaStore = { .map(device => { return { ...device, - file: null, - isActive: false + file: null }; }); const legacyDevices = deviceData @@ -64,7 +65,10 @@ const VirtualMediaStore = { .map(device => { return { ...device, - address: '' + serverUri: '', + username: '', + password: '', + isRW: false }; }); commit('setProxyDevicesData', proxyDevices); @@ -73,6 +77,27 @@ const VirtualMediaStore = { .catch(error => { console.log('Virtual Media:', error); }); + }, + async mountImage(_, { id, data }) { + return await api + .post( + `/redfish/v1/Managers/bmc/VirtualMedia/${id}/Actions/VirtualMedia.InsertMedia`, + data + ) + .catch(error => { + console.log('Mount image:', error); + throw new Error(); + }); + }, + async unmountImage(_, id) { + return await api + .post( + `/redfish/v1/Managers/bmc/VirtualMedia/${id}/Actions/VirtualMedia.EjectMedia` + ) + .catch(error => { + console.log('Unmount image:', error); + throw new Error(); + }); } } }; |