Add remove op policy option
[clamp.git] / ui-react / src / api / LoopService.js
index 031ec63..2750763 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('/restservices/clds/v2/loop/getAllNames', { method: 'GET', credentials: 'same-origin' })
                        .then(function (response) {
                                console.debug("GetLoopNames response received: ", response.status);
                                if (response.ok) {
@@ -38,13 +38,31 @@ export default class LoopService {
                        });
        }
 
+       static createLoop(loopName, templateName) {
+               return fetch('/restservices/clds/v2/loop/create/' + loopName + '?templateName=' + templateName, {
+                       method: 'POST',
+                       headers: {
+                               "Content-Type": "application/json"
+                       },
+                       credentials: 'same-origin'
+               })
+                       .then(function (response) {
+                               console.debug("CreateLoop response received: ", response.status);
+                               return response.json();
+                       })
+                       .catch(function (error) {
+                               console.error("CreateLoop error received", error);
+                               return "";
+                       });
+       }
+
        static getLoop(loopName) {
                return fetch('/restservices/clds/v2/loop/' + loopName, {
                        method: 'GET',
                        headers: {
-                               "Content-Type": "application/json",
+                               "Content-Type": "application/json"
                        },
-                       credentials: 'same-origin',
+                       credentials: 'same-origin'
                })
                        .then(function (response) {
                                console.debug("GetLoop response received: ", response.status);
@@ -64,7 +82,7 @@ export default class LoopService {
        static getSvg(loopName) {
                return fetch('/restservices/clds/v2/loop/svgRepresentation/' + loopName, {
                        method: 'GET',
-                       credentials: 'same-origin',
+                       credentials: 'same-origin'
                })
                        .then(function (response) {
                                console.debug("svgRepresentation response received: ", response.status);
@@ -86,9 +104,9 @@ export default class LoopService {
                        method: 'POST',
                        credentials: 'same-origin',
                        headers: {
-                               "Content-Type": "application/json",
+                               "Content-Type": "application/json"
                        },
-                       body: JSON.stringify(jsonData),
+                       body: JSON.stringify(jsonData)
                })
                        .then(function (response) {
                                console.debug("updateMicroservicePolicy response received: ", response.status);
@@ -104,15 +122,39 @@ export default class LoopService {
                                return "";
                        });
        }
+       
+       static setOperationalPolicyProperties(loopName, jsonData) {
+               return fetch('/restservices/clds/v2/loop/updateOperationalPolicies/' + loopName, {
+                       method: 'POST',
+                       credentials: 'same-origin',
+                       headers: {
+                               "Content-Type": "application/json"
+                       },
+                       body: JSON.stringify(jsonData)
+               })
+                       .then(function (response) {
+                               console.debug("updateOperationalPolicies response received: ", response.status);
+                               if (response.ok) {
+                                       return response.text();
+                               } else {
+                                       console.error("updateOperationalPolicies query failed");
+                                       return "";
+                               }
+                       })
+                       .catch(function (error) {
+                               console.error("updateOperationalPolicies error received", error);
+                               return "";
+                       });
+       }
 
        static updateGlobalProperties(loopName, jsonData) {
                return fetch('/restservices/clds/v2/loop/updateGlobalProperties/' + loopName, {
                        method: 'POST',
                        credentials: 'same-origin',
                        headers: {
-                               "Content-Type": "application/json",
+                               "Content-Type": "application/json"
                        },
-                       body: JSON.stringify(jsonData),
+                       body: JSON.stringify(jsonData)
                })
                        .then(function (response) {
                                console.debug("updateGlobalProperties response received: ", response.status);
@@ -128,4 +170,73 @@ export default class LoopService {
                                return "";
                        });
        }
+
+       static refreshOpPolicyJson(loopName) {
+               return fetch('/restservices/clds/v2/loop/refreshOpPolicyJsonSchema/' + loopName, {
+                       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('/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 {
+                                       console.error("Add Operational Policy query failed");
+                                       return {};
+                               }
+                       })
+                       .catch(function (error) {
+                               console.error("Add Operational Policy error received", error);
+                               return {};
+                       });
+       }
+
+       static removeOperationalPolicyType(loopName, policyType, policyVersion) {
+               return fetch('/restservices/clds/v2/loop/removeOperationaPolicy/' + loopName + '/policyModel/' + policyType +'/' + policyVersion , {
+                       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 {};
+                       });
+       }
 }