blob: a9f44b2a48fe7dbe64d53ab6cd54600bb215606b [file] [log] [blame]
sebdeteb8e3f12021-01-24 18:12:36 +01001/*-
2 * ============LICENSE_START=======================================================
3 * ONAP POLICY-CLAMP
4 * ================================================================================
5 * Copyright (C) 2021 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
10 *
11 * http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END============================================
19 * ===================================================================
20 *
21 */
22
23export default class PolicyService {
24 static getPoliciesList() {
sebdeta0a3a032021-02-16 14:53:43 +010025 return fetch(window.location.pathname + 'restservices/clds/v2/policies', {
sebdeteb8e3f12021-01-24 18:12:36 +010026 method: 'GET',
27 credentials: 'same-origin'
28 })
sebdetea2969f2021-02-25 13:58:36 +010029 .then(function(response) {
30 console.debug("getPoliciesList response received: ", response.status);
31 if (response.ok) {
32 console.info("getPoliciesList query successful");
33 return response.json();
34 } else {
35 return response.text().then(responseBody => {
36 throw new Error("HTTP " + response.status + "," + responseBody);
37 })
38 }
39 })
40 .catch(function(error) {
41 console.error("getPoliciesList error occurred ", error);
42 alert("getPoliciesList error occurred " + error);
43 return "";
44 })
sebdeteb8e3f12021-01-24 18:12:36 +010045 }
sebdet1e2760e2021-02-26 19:14:03 +010046 static createNewPolicy(policyModelType, policyModelVersion, policyName, policyVersion, policyJson) {
47 return fetch(window.location.pathname + 'restservices/clds/v2/policies/' + policyModelType + '/'
48 + policyModelVersion + '/' + policyName + '/' + policyVersion, {
sebdetc427e642021-02-17 17:53:17 +010049 method: 'POST',
50 credentials: 'same-origin',
51 headers: {
52 "Content-Type": "application/json"
53 },
54 body: JSON.stringify(policyJson)
55 })
sebdetea2969f2021-02-25 13:58:36 +010056 .then(function (response) {
57 console.debug("createNewPolicy response received: ", response.status);
58 if (response.ok) {
59 console.info("createNewPolicy query successful");
60 return response.text();
61 } else {
62 return response.text().then(responseBody => {
63 throw new Error("HTTP " + response.status + "," + responseBody);
64 })
65 }
66 })
67 .catch(function (error) {
68 console.error("createNewPolicy error occurred ", error);
69 alert ("createNewPolicy error occurred " + error);
70 return "";
71 });
72 }
73 static deletePolicy(policyModelType, policyModelVersion, policyName, policyVersion) {
74 return fetch(window.location.pathname + 'restservices/clds/v2/policies/' + policyModelType + '/'
75 + policyModelVersion + '/' + policyName + '/' + policyVersion, {
76 method: 'DELETE',
77 credentials: 'same-origin'
78 })
79 .then(function (response) {
80 console.debug("deletePolicy response received: ", response.status);
81 if (response.ok) {
82 console.info("deletePolicy query successful");
83 return response.text();
84 } else {
85 return response.text().then(responseBody => {
86 throw new Error("HTTP " + response.status + "," + responseBody);
87 })
88 }
89 })
90 .catch(function (error) {
91 console.error("deletePolicy error occurred ", error);
92 alert ("deletePolicy error occurred " + error);
93 return "";
94 });
sebdetc427e642021-02-17 17:53:17 +010095 }
sebdeteb8e3f12021-01-24 18:12:36 +010096}