Merge "Prevent adding same type of Op policy"
[clamp.git] / ui-react / src / api / LoopService.js
index ead2cf8..3b9ed86 100644 (file)
@@ -38,6 +38,24 @@ 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',
@@ -153,8 +171,8 @@ export default class LoopService {
                        });
        }
 
-       static refreshOpPolicyJson(loopName) {
-               return fetch('/restservices/clds/v2/loop/refreshOpPolicyJsonSchema/' + loopName, {
+       static refreshOperationalPolicyJson(loopName,operationalPolicyName) {
+               return fetch('/restservices/clds/v2/loop/refreshOperationalPolicyJsonSchema/' + loopName + '/' + operationalPolicyName, {
                        method: 'PUT',
                        headers: {
                                "Content-Type": "application/json"
@@ -175,4 +193,72 @@ export default class LoopService {
                                return {};
                        });
        }
+
+               static refreshMicroServicePolicyJson(loopName,microServicePolicyName) {
+               return fetch('/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('/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();
+                               }
+                       })
+                       .then(function (object) {
+                               console.error("Add Operational Policy query failed");
+                               throw new Error(object);
+                       })
+       }
+
+       static removeOperationalPolicyType(loopName, policyType, policyVersion, policyName) {
+               return fetch('/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 {};
+                       });
+       }
 }