Clamp react ui to use url pathname dynamically instead of hardcoded prefix for callin...
[clamp.git] / ui-react / src / api / LoopService.js
index ead2cf8..96bb8a0 100644 (file)
@@ -22,7 +22,7 @@
 
 export default class LoopService {
        static getLoopNames() {
-               return fetch('/restservices/clds/v2/loop/getAllNames', { method: 'GET', credentials: 'same-origin' })
+               return fetch(window.location.pathname + 'restservices/clds/v2/loop/getAllNames', { method: 'GET', credentials: 'same-origin' })
                        .then(function (response) {
                                console.debug("GetLoopNames response received: ", response.status);
                                if (response.ok) {
@@ -38,51 +38,49 @@ export default class LoopService {
                        });
        }
 
-       static getLoop(loopName) {
-               return fetch('/restservices/clds/v2/loop/' + loopName, {
-                       method: 'GET',
+       static createLoop(loopName, templateName) {
+               return fetch(window.location.pathname + 'restservices/clds/v2/loop/create/' + loopName + '?templateName=' + templateName, {
+                       method: 'POST',
                        headers: {
                                "Content-Type": "application/json"
                        },
                        credentials: 'same-origin'
                })
                        .then(function (response) {
-                               console.debug("GetLoop response received: ", response.status);
-                               if (response.ok) {
-                                       return response.json();
-                               } else {
-                                       console.error("GetLoop query failed");
-                                       return {};
-                               }
+                               console.debug("CreateLoop response received: ", response.status);
+                               return response.json();
                        })
                        .catch(function (error) {
-                               console.error("GetLoop error received", error);
-                               return {};
+                               console.error("CreateLoop error received", error);
+                               return "";
                        });
        }
 
-       static getSvg(loopName) {
-               return fetch('/restservices/clds/v2/loop/svgRepresentation/' + loopName, {
+       static getLoop(loopName) {
+               return fetch(window.location.pathname + 'restservices/clds/v2/loop/' + loopName, {
                        method: 'GET',
+                       headers: {
+                               "Content-Type": "application/json"
+                       },
                        credentials: 'same-origin'
                })
                        .then(function (response) {
-                               console.debug("svgRepresentation response received: ", response.status);
+                               console.debug("GetLoop response received: ", response.status);
                                if (response.ok) {
-                                       return response.text();
+                                       return response.json();
                                } else {
-                                       console.error("svgRepresentation query failed");
-                                       return "";
+                                       console.error("GetLoop query failed");
+                                       return {};
                                }
                        })
                        .catch(function (error) {
-                               console.error("svgRepresentation error received", error);
-                               return "";
+                               console.error("GetLoop error received", error);
+                               return {};
                        });
        }
 
        static setMicroServiceProperties(loopName, jsonData) {
-               return fetch('/restservices/clds/v2/loop/updateMicroservicePolicy/' + loopName, {
+               return fetch(window.location.pathname + 'restservices/clds/v2/loop/updateMicroservicePolicy/' + loopName, {
                        method: 'POST',
                        credentials: 'same-origin',
                        headers: {
@@ -106,7 +104,7 @@ export default class LoopService {
        }
        
        static setOperationalPolicyProperties(loopName, jsonData) {
-               return fetch('/restservices/clds/v2/loop/updateOperationalPolicies/' + loopName, {
+               return fetch(window.location.pathname + 'restservices/clds/v2/loop/updateOperationalPolicies/' + loopName, {
                        method: 'POST',
                        credentials: 'same-origin',
                        headers: {
@@ -130,7 +128,7 @@ export default class LoopService {
        }
 
        static updateGlobalProperties(loopName, jsonData) {
-               return fetch('/restservices/clds/v2/loop/updateGlobalProperties/' + loopName, {
+               return fetch(window.location.pathname + 'restservices/clds/v2/loop/updateGlobalProperties/' + loopName, {
                        method: 'POST',
                        credentials: 'same-origin',
                        headers: {
@@ -153,8 +151,8 @@ export default class LoopService {
                        });
        }
 
-       static refreshOpPolicyJson(loopName) {
-               return fetch('/restservices/clds/v2/loop/refreshOpPolicyJsonSchema/' + loopName, {
+       static refreshOperationalPolicyJson(loopName,operationalPolicyName) {
+               return fetch(window.location.pathname + 'restservices/clds/v2/loop/refreshOperationalPolicyJsonSchema/' + loopName + '/' + operationalPolicyName, {
                        method: 'PUT',
                        headers: {
                                "Content-Type": "application/json"
@@ -175,4 +173,72 @@ export default class LoopService {
                                return {};
                        });
        }
+
+               static refreshMicroServicePolicyJson(loopName,microServicePolicyName) {
+               return fetch(window.location.pathname + 'restservices/clds/v2/loop/refreshMicroServicePolicyJsonSchema/' + loopName + '/' + microServicePolicyName, {
+                       method: 'PUT',
+                       headers: {
+                               "Content-Type": "application/json"
+                       },
+                       credentials: 'same-origin'
+               })
+                       .then(function (response) {
+                               console.debug("Refresh Operational Policy Json Schema response received: ", response.status);
+                               if (response.ok) {
+                                       return response.json();
+                               } else {
+                                       console.error("Refresh Operational Policy Json Schema query failed");
+                                       return {};
+                               }
+                       })
+                       .catch(function (error) {
+                               console.error("Refresh Operational Policy Json Schema error received", error);
+                               return {};
+                       });
+    }
+
+       static addOperationalPolicyType(loopName, policyType, policyVersion) {
+               return fetch(window.location.pathname + 'restservices/clds/v2/loop/addOperationaPolicy/' + loopName + '/policyModel/' + policyType +'/' + policyVersion , {
+                       method: 'PUT',
+                       headers: {
+                               "Content-Type": "application/json"
+                       },
+                       credentials: 'same-origin'
+               })
+                               .then(function (response) {
+                               console.debug("Add Operational Policy response received: ", response.status);
+                               if (response.ok) {
+                                       return response.json();
+                               } else {
+                                       return response.text();
+                               }
+                       })
+                       .catch(function (error) {
+                               console.error("Add Operational Policy query failed");
+                               throw new Error(error);
+                       })
+       }
+
+       static removeOperationalPolicyType(loopName, policyType, policyVersion, policyName) {
+               return fetch(window.location.pathname + 'restservices/clds/v2/loop/removeOperationaPolicy/' + loopName + '/policyModel/' + policyType +'/' + policyVersion + '/' + policyName , {
+                       method: 'PUT',
+                       headers: {
+                               "Content-Type": "application/json"
+                       },
+                       credentials: 'same-origin'
+               })
+                               .then(function (response) {
+                                       console.debug("Remove Operational Policy response received: ", response.status);
+                               if (response.ok) {
+                                       return response.json();
+                               } else {
+                                       console.error("Remove Operational Policy query failed");
+                                       return {};
+                               }
+                       })
+                       .catch(function (error) {
+                               console.error("Remove Operational Policy error received", error);
+                               return {};
+                       });
+       }
 }