/*- * ============LICENSE_START======================================================= * ONAP POLICY-CLAMP * ================================================================================ * Copyright (C) 2021 AT&T Intellectual Property. All rights reserved. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END============================================ * =================================================================== * */ export default class PolicyService { static getPoliciesList() { return fetch(window.location.pathname + 'restservices/clds/v2/policies', { method: 'GET', credentials: 'same-origin' }) .then(function (response) { console.debug("getPoliciesList response received: ", response.status); if (response.ok) { console.info("getPoliciesList query successful"); return response.json(); } else { return response.text().then(responseBody => { throw new Error("HTTP " + response.status + "," + responseBody); }) } }) .catch(function (error) { console.error("getPoliciesList error occurred ", error); alert("getPoliciesList error occurred " + error); return undefined; }); } static createNewPolicy(policyModelType, policyModelVersion, policyName, policyVersion, policyJson) { return fetch(window.location.pathname + 'restservices/clds/v2/policies/' + policyModelType + '/' + policyModelVersion + '/' + policyName + '/' + policyVersion, { method: 'POST', credentials: 'same-origin', headers: { "Content-Type": "application/json" }, body: JSON.stringify(policyJson) }) .then(function (response) { console.debug("createNewPolicy response received: ", response.status); if (response.ok) { console.info("createNewPolicy query successful"); return response.text(); } else { return response.text().then(responseBody => { throw new Error("HTTP " + response.status + "," + responseBody); }) } }) .catch(function (error) { console.error("createNewPolicy error occurred ", error); alert("createNewPolicy error occurred " + error); return undefined; }); } static deletePolicy(policyModelType, policyModelVersion, policyName, policyVersion) { return fetch(window.location.pathname + 'restservices/clds/v2/policies/' + policyModelType + '/' + policyModelVersion + '/' + policyName + '/' + policyVersion, { method: 'DELETE', credentials: 'same-origin' }) .then(function (response) { console.debug("deletePolicy response received: ", response.status); if (response.ok) { console.info("deletePolicy query successful"); return response.text(); } else { return response.text().then(responseBody => { throw new Error("HTTP " + response.status + "," + responseBody); }) } }) .catch(function (error) { console.error("deletePolicy error occurred ", error); alert("deletePolicy error occurred " + error); return undefined; }); } static updatePdpDeployment(pdpOperationsList) { return fetch(window.location.pathname + 'restservices/clds/v2/policies/pdpDeployment', { method: 'PUT', credentials: 'same-origin', headers: { "Content-Type": "application/json" }, body: JSON.stringify(pdpOperationsList) }) .then(function (response) { console.debug("updatePdpDeployment response received: ", response.status); if (response.ok) { console.info("updatePdpDeployment query successful"); return response.text(); } else { return response.text().then(responseBody => { throw new Error("HTTP " + response.status + "," + responseBody); }) } }) .catch(function (error) { console.error("updatePdpDeployment error occurred ", error); alert("updatePdpDeployment error occurred " + error); return undefined; }); } static sendNewPolicyModel(newPolicyModel) { return fetch(window.location.pathname + 'restservices/clds/v2/policies/policytype', { method: 'POST', credentials: 'same-origin', headers: { "Content-Type": "plain/text" }, body: newPolicyModel }) .then(function (response) { console.debug("sendNewPolicyModel response received: ", response.status); if (response.ok) { console.info("sendNewPolicyModel query successful"); return response.text(); } else { return response.text().then(responseBody => { throw new Error("HTTP " + response.status + "," + responseBody); }) } }) .catch(function (error) { console.error("sendNewPolicyModel error occurred ", error); alert("sendNewPolicyModel error occurred " + error); return undefined; }); } }