Add loading image from external server

Signed-off-by: Mateusz Gapski <mateuszx.gapski@intel.com>
Change-Id: Ie9793b25fdee0f438d64aafe0978d75025800cb8
diff --git a/src/store/modules/Control/VirtualMediaStore.js b/src/store/modules/Control/VirtualMediaStore.js
index e01cfce..13ef8ee 100644
--- a/src/store/modules/Control/VirtualMediaStore.js
+++ b/src/store/modules/Control/VirtualMediaStore.js
@@ -44,10 +44,12 @@
         .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 @@
             .map(device => {
               return {
                 ...device,
-                file: null,
-                isActive: false
+                file: null
               };
             });
           const legacyDevices = deviceData
@@ -64,7 +65,10 @@
             .map(device => {
               return {
                 ...device,
-                address: ''
+                serverUri: '',
+                username: '',
+                password: '',
+                isRW: false
               };
             });
           commit('setProxyDevicesData', proxyDevices);
@@ -73,6 +77,27 @@
         .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();
+        });
     }
   }
 };